项目介绍
Anolis OS 27 构建仓库
项目详情
Anolis OS 27 Monorepo

注意: 当前项目处于开发者预览阶段,仍在快速迭代,后续可能会有不兼容变更。部分能力处于邀测阶段。
Anolis OS 27 Monorepo 是 Anolis OS 27 软件包与发行版工程的统一仓库,面向软件包维护者和发行版研发人员。仓库集中保存 spec、补丁、上游引用、元数据和本地任务数据,包引入、Bug/CVE 修复等工作都在同一个版本化工作区中完成。
Anolis OS 27 Monorepo 具备以下特性:
- AI Native:仓库面向 AI Agent 设计,AI IDE/CLI 可以直接使用,不需要手工部署
- 内置工作流:包含多种常见的发行版工作流,也可以通过自然语言扩展
- 远端能力扩展:配置 PengLAI MCP 后,复杂操作可以在远端执行,本地不需要搭建复杂环境
- 本地看板:集中展示发行版数据、任务状态和运行审计
支持的 AI Agent
当前已支持 Qoder IDE / Qoder CLI 直接使用,已验证版本为 Qoder IDE 1.24.2 和 Qoder CLI 1.1.28。
其他 AI Agent 也可以尝试使用本仓库。请从仓库根目录启动,让 Agent 先读取 AGENTS.md,再根据自身支持的项目规则、Skill 和 MCP 配置方式完成适配。当前没有对这些 Agent 逐一做完整兼容性测试。
快速开始
前置准备
开始前,请先安装并登录 Qoder IDE / Qoder CLI 或者其他 AI Agent。
克隆仓库并进入根目录:
git clone https://gitee.com/anolis/anolis27-monorepo.git
cd anolis27-monorepo如需使用软件包选型、基于包名引入、CVE 修复等高阶能力,需要配置 PengLAI MCP 鉴权 token。相关能力目前处于邀测阶段,请先加入邀测与服务支持群申请,按照后续步骤引导配置。
提交说明: 任务通过本地校验后,Anolis Bot 默认会提交变更、推送工作分支并创建 PR。如果只想在本地生成和检查文件,请在需求中明确说明。详见提交与人工评审。
Qoder IDE
用 Qoder IDE 打开 anolis27-monorepo 目录,然后在侧边栏的对话框中输入 /anolis-bot-config。AI 会引导你完成本地配置。
配置完成后,用 /anolis-bot 发起任务。例如:/anolis-bot 引入 nginx。
Qoder CLI
在仓库根目录启动 qoder-cli,输入 /anolis-bot-config 完成本地配置。之后用 @anolis-bot 发起任务。例如:@anolis-bot 引入 nginx。
任务开始后,Anolis Bot 会逐步显示当前状态、生成的文件和下一步操作。任务完成后,会根据实际流程返回软件包路径、校验结果或 PR 链接;如果任务未完成,也会说明原因和下一步处理方式。
常见发行版工作流
以下示例使用 Qoder IDE。使用 Qoder CLI 时,将/anolis-bot替换成@anolis-bot。
软件包引入
如果已经有 .src.rpm 文件或下载 URL,直接把路径或地址告诉 Anolis Bot。Anolis Bot 会在本地导入并校验软件包:
/anolis-bot 引入 nginx,SRPM 地址是 https://example.com/nginx-1.26.0-1.src.rpm没有现成的 SRPM 时,只需提供软件包名,Anolis Bot 会调用 PengLAI MCP 生成:
/anolis-bot 引入 zshBug/CVE 修复
提供 Bugzilla 编号、Bugzilla 链接或 CVE 编号即可开始修复:
/anolis-bot 修复 CVE-2024-12345Anolis Bot 会调用 PengLAI MCP 分析问题并生成修复,再由本地工具导入和校验软件包。
提交与人工评审
软件包引入或 Bug/CVE 修复通过本地校验后,Anolis Bot 默认提交变更、推送工作分支并创建 PR,不需要另外输入命令。创建成功后,Anolis Bot 会返回 PR 链接,维护者在对应的 Git 平台上完成人工评审。
如果只想生成并检查本地文件,请在任务中明确说明:
/anolis-bot 引入 nginx,只生成并校验,不要 commit、push 或创建 PR首次提交前,请先运行 /anolis-bot-config 配置 Git 身份和提交平台。Gitee/GitLab 创建 PR/MR 需要平台 token。本地看板
在 Anolis Bot 中输入“查看 Dashboard 状态”“启动 Dashboard”或“停止 Dashboard”。Dashboard 会显示本地任务、包数据、运行记录和工具调用审计。
整体架构
仓库结构
packages/ 软件包 spec、补丁、源码和元数据
groups/ 基础包组、ISO、云镜像和容器镜像定义
releases/ 发行版本、构建、测试、镜像和发布数据
playbook/ Anolis Bot 工作流
AGENTS.md Anolis Bot 项目规则
.qoder/ Qoder 的 Agent、Skill、hooks 和 MCP 配置
apps/
├── dashboard/ Dashboard 前端
└── dashboard-api/ Dashboard API
tools/ Anolis Bot 调用的本地命令
src/ 本地工具和应用共用的代码
data/ 本地运行数据和可重建缓存
docs/ 使用说明和设计文档
config.yaml.template 本地配置模板本地仓库与 PengLAI MCP 服务
Monorepo 保存版本化的软件包和发行版数据。本地工具负责导入软件包、修改仓库文件、执行校验、提交 Git 变更和创建 PR。PengLAI MCP 提供远端分析、软件包生成和修复能力。
tools/ 下的脚本主要供 Anolis Bot 和 playbook 调用,不是普通用户入口。排障时,先通过 Anolis Bot 获取具体命令和影响范围。
数据与凭据边界
config.yaml是本地私有配置,已被 Git 忽略,不应提交。- token、SSH 私钥和 Koji 证书等敏感信息不得写入仓库。
- 大源码文件和构建产物不直接入库。通过 PengLAI MCP 完成构建时,源码包(source tarball)会上传至 Anolis OS 27 源码服务器(47.83.128.61:8088),Git 仓库仅通过
sources.yaml保存外部引用。 - Qoder hooks 只记录工具调用审计;业务任务由工作流或本地工具写入 TaskStore。
- 本地凭证数据不会传输到远程 PengLAI MCP 服务。PengLAI MCP token 仅用于 MCP 请求鉴权;本地仓库修改、Git push 和 PR 创建仍由本地工具执行。
常见问题
- 为什么找不到 Anolis Bot?
确认 Qoder 打开的是 monorepo 根目录,而不是单个文件或子目录。根目录中应该能看到 .qoder/、playbook/、tools/ 和 src/。
- 第一次使用需要手工创建
config.yaml吗?
不需要。运行 /anolis-bot-config 后,配置向导会检查 Git 身份、VCS provider、PengLAI MCP token 和按需配置,并在需要时生成本地配置。
- 没有 PengLAI MCP token 能否引入软件包?
如果已有本地 .src.rpm 文件或下载 URL,可以走本地快速路径。通过包名生成 SRPM、分析 Bug/CVE 等远端能力需要 PengLAI MCP token。
- 可以直接运行
tools/下的脚本吗?
普通业务流程使用 Anolis Bot。只有在排障步骤明确要求时,才直接运行底层脚本。
详细文档
邀测与服务支持群
申请邀测,或者在使用中遇到问题,欢迎加入钉钉群交流:190415001609。