Skip to content
CDUESTC-OpenAtom-Open-Source-ClubPublic

About

Agent-Native Build & Release Platform · AI Agent 驱动的多架构打包发布工具箱

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

ForgeKit

面向初学者与 AI Agent 的 Docker 构建诊断与验证助手

构建前发现问题,失败后解释原因,成功后验证镜像真的能运行。

ForgeKit 由电子科技大学成都学院开放原子开源社团维护。核心工具保持 MIT 开源并面向学生、教师、初学者与开源开发者免费开放;可持续性将通过明确范围的交付诊断服务、团队导入和培训试点验证,不对未经验证的功能收费。

GitHub stars License Package version Node.js TypeScript

项目定位

ForgeKit 是 面向初学者与 AI Agent 的 Docker 构建诊断与验证助手。

它不重写 Docker,也不试图替代 CI。它通过 MCP 帮助 Agent 检查构建环境、识别常见失败、给出可执行建议,并验证最终镜像真实存在且能够运行。

一句话:当 Docker 构建失败时,ForgeKit 不只返回一整屏日志,而是告诉你哪里错了、证据是什么、下一步怎么做。

层级 职责 当前状态
诊断层(核心) Preflight、失败分类、证据和建议动作 已实现,持续增加真实样本
验证层(核心) 构建镜像、确认镜像存在并运行健康检查 已通过真实 Docker CI
Agent 接入层 标准 MCP stdio,暴露七个结构化工具 Node 18/20 CI 覆盖
项目上下文层 语言、入口、Dockerfile 和计划识别 Python、TypeScript、Go 代表项目
证据层(辅助) Forge.md、构建日志、Release Manifest 已实现,不作为主要采用理由

为什么做

Docker 构建失败是真实且持续出现的问题;MCP 用户也确实需要调用 Docker。现有证据尚不能证明“AI Agent 专用打包平台”是强需求,因此 ForgeKit 先收敛到可直接验证的构建诊断问题。

ForgeKit 当前专注一个更具体的问题:帮助初学者和 AI Agent 发现、解释并验证 Docker 构建问题。

  • ✅ 构建前诊断:先检查目录、Docker、磁盘和 Registry;
  • ✅ 失败可解释:返回分类、证据、日志和建议动作;
  • ✅ 结果真验证:真实构建并运行容器,不把退出码当成全部证据;
  • ✅ 本地优先:不上传源码,不自动修改用户系统配置。

面向用户:

用户 场景 ForgeKit 提供什么
学生和初学者 Docker 构建失败但看不懂日志 清楚的检查、解释与下一步
AI Agent 用户 Agent 反复运行 Docker 命令仍失败 MCP 结构化诊断与验证
独立开发者 需要快速验证服务镜像 Preflight、真实构建和健康检查
课程与社团 教学“代码到镜像”的完整过程 可复现样例和公开失败案例

当前用户接入入口(公共 npm 发布前,锁定已验证 commit):

{
  "mcpServers": {
    "forgekit": {
      "command": "npx",
      "args": ["--yes", "--package=github:CDUESTC-OpenAtom-Open-Source-Club/ForgeKit#88c945a", "forgekit-mcp"]
    }
  }
}

安装与最短接入路径见 安装与接入指南。

不使用 MCP 时也可以直接验证一个服务项目:

npx --yes --package=github:CDUESTC-OpenAtom-Open-Source-Club/ForgeKit#88c945a \
  forgekit deliver . --image my-service --port 8080 --health-path /health

该命令默认执行完整 Preflight;任何检查、构建、启动或健康验证失败都会以非零状态退出。

已有失败日志时,不需要配置 MCP,也不会上传日志或修改项目:

npx --yes --package=github:CDUESTC-OpenAtom-Open-Source-Club/ForgeKit#88c945a \
  forgekit diagnose ./docker-build.log

# CI 日志也可以通过标准输入传入
docker build . 2>&1 | forgekit diagnose -

命令输出结构化 JSON:已识别诊断退出 0,日志有效但暂未识别退出 1,输入无效或不可读退出 2。

Agent 接入配置

在你的 MCP 客户端(Claude Code / Cline / Cursor / Codex / Windsurf)配置中:

{
  "mcpServers": {
    "forgekit": {
      "command": "npx",
      "args": ["--yes", "--package=github:CDUESTC-OpenAtom-Open-Source-Club/ForgeKit#88c945a", "forgekit-mcp"]
    }
  }
}

使用示例(Agent 闭环)

在 Agent 中说:"先检查这个项目为什么可能无法构建 Docker 镜像,再尝试构建并验证。"

Agent 自动执行:

步骤 工具 输出
1 inspect_project 识别为 Python 项目,入口 app.py,已有 Dockerfile
2 preflight_check 提前检查目录、计划、Docker、磁盘和 Registry
3 generate_packaging_plan 生成当前构建所需的 Forge.md 安全门
4 build_docker_image 构建并显式验证容器与健康端点,失败时返回诊断和日志

已有 Docker/BuildKit 失败日志时,可直接调用只读的 diagnose_build_failure,无需先由 ForgeKit 发起构建。它返回脱敏证据、可能原因、置信度、安全建议和验证步骤,不执行修复命令。

当前实现仍保留 Forge.md 构建安全门,缺失时返回 plan_not_found;它是防止误执行的机制,不是项目方向成立的前提,后续是否简化由试点数据决定。

v0.2.2-rc.1 支持状态

适配器 状态 产物 验证边界
servers/ubuntu verified Docker/OCI 镜像、.deb 自动化契约测试与 Linux Docker smoke
mobile/harmonyos experimental .hap、.app 已实现输入校验、计划门禁、签名预检和产物检测;尚缺本轮真实 DevEco 与设备证据

Android、iOS、PWA、Windows 和 rpm 不属于本 RC 的发布承诺。

v0.1 已完成的技术基线

v0.1 证明 MCP、计划、Docker 构建和结果验证可以形成技术闭环;它没有证明用户需要“交付契约层”。当前 v0.2 将用真实失败样本和外部用户验证诊断价值。

v0.1 只验证服务器端闭环,不追求平台化,也不扩展移动端:

模块 v0.1 必须完成 不纳入 v0.1
MCP Server 列出工具、校验参数、执行工具并返回结构化结果 鉴权、多用户、Web UI
inspect_project 识别项目语言、入口和已有打包配置 全语言深度分析
generate_packaging_plan 生成 Forge.md(决策契约),让用户先审查 自动替用户决定所有发布策略
build_docker_image 构建 linux/amd64 Docker 镜像(硬闭环),返回 decision_basis + result.json registry 推送、多架构 manifest
pack_deb(可选) Python 项目打成 Ubuntu x86_64 .deb rpm、跨发行版完整矩阵
契约三件套 Forge.md + decision-rules + result.json 强制串联 完整自动修复知识库
模板 / 测试 一个最小 Python 示例;单元 + MCP 集成 + 一次手动 E2E 大规模兼容性测试

验收标准:在 AI agent 中表达"把这个 Python 项目打成可交付产物",ForgeKit 先生成 Forge.md 供审查、再强制 plan_path 执行,输出可运行镜像(Docker 硬闭环)、可选 .deb、构建日志、SHA256 校验和,以及"为什么这么构建"的决策依据。

可用性优先的扩展路线

ForgeKit 不把“支持更多平台”当作唯一进度。先让更多真实项目通过同一条简单、可验证的交付路径成功,再按证据扩大产物和平台覆盖。

阶段 用户价值 扩展重点
v0.1 核心闭环可运行 Python → Docker/OCI;deb 按需可选
v0.2 外部用户可独立使用 安装、MCP 配置、preflight、错误诊断、Git/产物追溯
v0.3 常见项目广泛可用 Python/Node.js/Go、amd64/arm64、CI、Release 归档
v0.4 交付可信 SBOM、provenance、策略检查与发布证据
v1.0 稳定开源产品 稳定 Schema、插件边界、支持矩阵、公开案例

Windows、macOS、Android、iOS 和 PWA 只在真实需求、自动化验收环境和试点用户同时具备后进入排期。详见 路线图。

路线图

详细路线图集中维护在 docs/ROADMAP.md。

阶段 目标 交付物
v0.0 完成规划冻结 需求文档、设计文档、技术计划、初步调研
v0.1 跑通最小 Agent 交付闭环 MCP Server、Forge.md、Docker、可选 deb、Python 模板
v0.2 从能跑到能用 安装接入、preflight、错误诊断、Release Manifest、真实试点
v0.3 扩展真实项目覆盖 Node.js/Go、arm64、CI、兼容性矩阵
v1.0 稳定开源产品 稳定 API、贡献指南、公开案例、扩展机制

文档入口

文档 用途
产品与公共价值策略 可用性、教学价值、社区边界和 90 天行动
产品迭代计划 v0.2.1-v0.2.3 的交付顺序、验收门槛和后续决策
增长与用户研究计划 搜索意图、招募、试用漏斗和付费试点门禁
增长证据快照 自动采集的获客、激活、复用和收入证据
初学者文档站 从“为什么需要”到第一次可验证交付的教学入口
安装与接入 npm/npx、源码接入、最短 MCP 配置和成功标准
Docker 构建诊断说明 输入方式、结果字段、置信度、脱敏范围和离线边界
诊断独立标注流程 双维护者盲标、冲突裁决、锁定语料和发布门禁
版本范围契约 各版本承诺范围、非范围、验收门槛和退出条件
需求文档 历史需求与调研规划(当前执行范围以当前目标和路线图为准)
设计文档 产品架构、分层职责、工具边界
技术计划 开发前技术落地、目录、接口、测试顺序
Agent 接入 MCP、Skill/Markdown、未来协议演进
打包文档规范 Forge.md 的结构和用途
项目框架规范 标准框架约定与非合规适配(normalize)
路线图 按可用性、广泛性与可信度推进的阶段计划和验收标准
系统适配说明 各发行版版本、模板和打包知识入口
评审清单 文档和架构评审问题
当前目标与范围 当前可用性验证主线、范围和退出门槛
公开问卷证据综述 Issue #1-#5 的证据边界、需求信号和产品判断
硬性验证记录 当前可复现质量门禁与实测证据
安全与公开体验说明 本地执行边界、依赖审计和问题报告方式
支持矩阵 当前版本实际验证过的语言、架构和运行环境
参与 ForgeKit 初学者贡献路径、开发检查和问题提交规范

和工业平台的区别

维度 工业发布平台 ForgeKit
默认用户 平台工程师、SRE 会使用 AI 的开发者和学生
操作方式 人写配置,人维护流水线 人表达目标,Agent 调工具执行
价值重点 稳定性、规模化、企业治理 低门槛、教学性、可解释 Agent 协同
MVP 取舍 覆盖面优先 闭环优先

贡献方向

当前最需要的贡献是让外部用户真正跑通交付闭环,而不是直接增加新平台:

优先级 工作
P0 完成干净环境安装、MCP 接入与首次交付体验
P0 招募并支持 3 个真实试点项目
P0 增加 preflight、错误分类和 Git/产物追溯
P1 扩展 Python/Node.js/Go 的真实兼容性样本
P2 基于试点证据评估新平台与公共教学能力

License

MIT

About

Agent-Native Build & Release Platform · AI Agent 驱动的多架构打包发布工具箱

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages