一生二,二生三,三生万物 — AI 构建 AI,无限繁衍
Mitosis 是一个自举应用构建平台。用户通过 mitosis.zenheart.site 页面用自然语言描述需求,Agent 通过 GitHub Issues、GitHub Actions、Claude Code 和 StepFun 完成规划、编码、验证和审查部署。MVP 的用户路径分三段:匿名用户真实使用应用;授权登录后,当前运行实例绑定仓库的 owner 进入环境设置,其他用户复制到自己的仓库;owner 通过聊天自举迭代 Mitosis 和应用,并在发布后重复这一循环。
第 1 阶段: 匿名用户打开并使用已部署应用
第 2 阶段: 登录鉴权,实例 owner 设置环境,其他用户复制到自己的仓库
第 3 阶段: owner 通过聊天自举迭代 Mitosis 和应用
第 N 阶段: 新用户和 owner 持续重复 1、2、3...
设计优先级: 页面自举闭环(Mitosis 迭代 Mitosis、Mitosis 创建和迭代应用)是 L0 不可破坏的核心链路。所有其他功能(UI 增强、模板市场、多 LLM 支持等)均在闭环之上叠加,绝不干扰最小闭环的运行。
| 我想... | 入口 | 说明 |
|---|---|---|
| 理解产品全貌 | docs/product/overview.md | 产品目标、MVP 范围、自举闭环 |
| 理解架构 | docs/architecture.md | 代码结构、数据流、三阶段流程 |
| 本地开发 | docs/setup.md | OAuth、Worker、StepFun、Mock 模式 |
| 理解 CI Loop | docs/agent-loop.md | 单次 Plan→Execute、独立验证、安全门控 |
| 执行目标 | goal.md | 当前唯一活跃目标和验收标准 |
| Claude 规则 | CLAUDE.md | Claude Code 官方项目入口 |
| Agent 协议 | AGENT.md | Agent 总入口和执行规范 |
| 体验审查 | .claude/skills/setgoal/review-engine/README.md | UX Review Engine(增量/全量) |
| 安全规则 | docs/security.md | 密钥、敏感信息、XSS 防护 |
| 质量门控 | docs/quality.md | P1/P2/P3/F 和验收标准 |
Mitosis 不托管用户代码和密钥,而是把 GitHub 原生能力组织成一个可验证的自举循环:
- 页面运行在 GitHub Pages,匿名用户可直接使用已部署应用。
- 登录使用 GitHub OAuth Authorization Code Flow;Cloudflare Worker 只负责服务端 token 兑换,详细配置见 docs/setup.md。
- 登录用户没有自己的
mitosis仓库时只进入浏览和复制/fork 指引;拥有仓库并完成设置后才进入真实 Agent Loop。 - owner 在 Workspace 输入自然语言;平台完成意图分流并展示确认卡,只有 owner 确认后才创建 GitHub Issue,并由前端在后台发送精确的
/create评论触发 CI。普通用户不需要输入命令。 - GitHub Actions 在受限沙盒中执行一次 StepPlan Plan 和一次 Claude Code Execute;Execute 只能使用文件读写工具,不能使用 shell、Web、MCP、子 Agent 或项目技能,也不会失败后自动重试或自触发下一轮。
- 生成 job 只输出经过密钥扫描的
candidate.patch、SHA-256 和 manifest,保留 1 天;fresh verifier job 从不可变 base 应用并验证同一候选,且拿不到STEP_TOKEN或写权限。 - 独立验证通过后才创建 draft PR;人工审查合入
master后由 Pages 发布。
StepFun 强约束: 所有模型请求只能使用 Step Plan 路径。Claude Code 的
ANTHROPIC_BASE_URL必须使客户端最终请求命中https://api.stepfun.com/step_plan/v1/messages;浏览器聊天只使用https://api.stepfun.com/step_plan/v1/chat/completions。StepFun 根域下的普通/v1/...路径禁止使用。
匿名使用 → 登录鉴权 → owner 设置 / 其他用户复制仓库
→ 自然语言 → 确认卡 → GitHub Issue → 内部精确 /create → owner gate
→ 一次 Plan → 一次受限 Execute → 密钥扫描后的 patch/hash/manifest
→ fresh independent verifier
→ draft PR → human review → merge master
→ GitHub Pages → 匿名使用并继续下一轮迭代
mitosis/
├── README.md # 项目目标、核心架构和文档入口
├── CLAUDE.md # Claude Code 官方项目入口
├── AGENT.md # Agent 总入口
├── goal.md # 当前唯一活跃目标
├── .claude/
│ ├── settings.json # Claude Code 项目级共享设置
│ ├── rules/ # 项目规则(setgoal、security、mermaid 等)
│ ├── skills/
│ │ └── setgoal/ # /goal 执行协议 + verifier 脚本 + Review Engine
│ │ ├── SKILL.md # 七阶段循环协议
│ │ ├── verifiers/ # 验证脚本(6 个)
│ │ └── review-engine/ # UX Review Engine
│ └── agents/ # 审计专员 Agent 定义(4 个)
├── .github/workflows/ # GitHub Actions(mitosis.yml + deploy.yml)
├── docs/ # 长期核心文档
│ ├── README.md # 文档地图
│ ├── product/ # 产品需求文档
│ │ ├── overview.md
│ │ ├── deployment.md
│ │ └── chat-session-design.md
│ ├── goals/ # Agent 执行、验收、目标队列
│ │ ├── README.md
│ │ ├── acceptance.md
│ │ ├── archive/
│ │ └── goal-history/
│ └── retrospectives/ # 深度复盘
├── worker/ # OAuth Worker + 当前 CI policy/artifact/verifier
├── apps/ # Agent 生成的应用(版本化)
│ └── {app-name}/
│ └── v{n}/ # Vue + TypeScript + Vite 应用版本
├── src/ # Mitosis 平台源码(Vue + TS + Vite)
│ ├── main.ts
│ ├── App.vue
│ ├── components/ # Login, Setup, Workspace, Gallery
│ ├── composables/ # auth, GitHub API, polling, StepFun
│ ├── stores/ # Pinia auth state
│ └── types/ # Auth/App 类型
├── index.html # Vite 入口
├── vite.config.ts # Vite 配置
├── tsconfig.json # TypeScript strict 配置
├── package.json
├── .gitignore
└── LICENSE
技术栈锁定: 平台和生成应用统一使用 Vue 3 + TypeScript strict + Vite。平台主站使用 Vite
base: '/';生成应用使用 Vitebase: './',用于/apps/{name}/v{n}/版本目录。
git clone https://github.com/zenheart/mitosis.git
cd mitosis
npm install
npm run dev # 本地预览
npm run build # 生产构建- 复制
.env.example为.env.local:cp .env.example .env.local
- 在
.env.local中设置VITE_USE_MOCK_GITHUB=true - 直接运行:
npm run dev
.env.local已加入.gitignore,不会被提交。
设置 VITE_USE_MOCK_GITHUB=true 可在无 GitHub API 访问的情况下本地运行完整流程:
- GitHub Issues API 调用路由到浏览器
localStorage,无需真实仓库 - 发送消息通过
mockCreateIssueComment自动持久化 - 确认卡确认后由前端在后台触发 Mock 构建,普通用户无需输入
/create - 数据存储在
mitosis_mock_sessions和mitosis_mock_sessions_messages,可通过clearMockData()重置
注意:Mock 模式下 StepFun AI 对话仍需要有效的
VITE_STEP_TOKEN。完全离线的流程验证应使用仓库测试,不把手工命令当作 MVP 用户路径。
| 阶段 | 状态 | 内容 |
|---|---|---|
| 1 — MVP | 进行中 | 纯 Web 应用最小闭环:OAuth、配置引导、IssueOps、GitHub Actions Agent Loop、verifier、draft PR、Pages 部署、自举入口 |
| 2 — 自迭代扩展 | ⬜ | 通过在初始化环节添加服务端/运行时/部署目标等配置,Mitosis 自主构建扩展自身能力的版本(服务端 API、移动端、桌面端等) |
| 3 — 生态 | ⬜ | 多 LLM、自定义 Agent、团队协作、插件系统、模板市场 |
# 类型 + API
bash .claude/skills/setgoal/verifiers/types-and-api.sh
# 会话存储 + Mock
bash .claude/skills/setgoal/verifiers/session-restore.sh
# /create 触发 + CI 安全门控
bash .claude/skills/setgoal/verifiers/create-trigger.sh
# 渲染拦截(DOMPurify XSS)
bash .claude/skills/setgoal/verifiers/gfm-render.sh
# 隐私脱敏
bash .claude/skills/setgoal/verifiers/security-mask.sh
# 黄金路径(三场景 + 生命周期命令)
bash .claude/skills/setgoal/verifiers/golden-paths.sh
# 构建
npm run build
npm run typecheck
# 安全扫描
rg "(ghp_|gho_|github_pat_|sk-|AKIA|AIza|eyJ)" \
--type-add 'code:*.{ts,js,vue,json,yml,yaml,sh,env}' \
-g '!*.md' \
src/ apps/ worker/ .github/ || echo "SECURITY_SCAN: PASS"# 增量模式(默认)
bash .claude/skills/setgoal/review-engine/verifiers/ux-review.sh incremental
# 全量模式
bash .claude/skills/setgoal/review-engine/verifiers/ux-review.sh full
# 指定文件增量
bash .claude/skills/setgoal/review-engine/verifiers/ux-review.sh incremental -- ChatInput.vue- Fork → 创建
mitosis→ 提出修改 → 提交 PR
MIT