# BunshinOnboard **Repository Path**: devgsj/bunshin-onboard ## Basic Information - **Project Name**: BunshinOnboard - **Description**: 分身进化安装 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-12 - **Last Updated**: 2026-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Agent Platform 本仓库是 VPS 上 Devin 人在回路控制台与轻量编排器的唯一源码权威。 ## 目录 - `approval-daemon/` — FastAPI 审批台、控制台静态资源、Devin hook、MCP human bridge、API-Key 管理(`apikey.py`)、exec 命令策略(`exec_gate.py`,hook 与 console 共用)、bunshin-ux 组件端点(`components_api.py`)、L1 静态插件通道(`plugins.py`,fleet 上报与市场安装均免审批直装+存量暂存懒激活,端点见 `docs/api.md` 插件节)与内置插件包(`builtin_plugins/`,如 bunshin-hq 3D 化身面板)。 - `orchestrator/` — SQLite任务板、项目注册表、调度器(`runner.py` 子命令)、Final Gate、模型兜底路由与 agent 底座适配(`model_router.py` 按角色 lane 链 + `state/model_quota.json` 配额状态机;`harnesses.py` 外部 lane 经 GPT-Load 网关)、稳定记忆→`.devin/skills/` 晋升(`skills.py`)、fleet 心跳/回拉参考发送器(`fleet_sync.py`)、fleet 认证共享件(`fleetauth.py`)与安全 HTTP opener(`netutil.py`)、周期自动化注册表(`automation.py`,控制台「自动化」面板数据源)、企微 API 模式审批桥(`wecom_bridge.py`)、内建磁盘保洁(`disk_hygiene.py`)。 - `deploy/` — 部署manifest和canary检查;部署动作由运行目录中的受保护deployer执行。 - `docs/` — 控制台 API 清单与字段口径(`api.md`,与路由一一对应、有测试防漂移)、周期性代码质量/失败模式复盘/ops-doctor 报告与 `growth/` 分发定位材料。 - `onboard.sh` — 幂等一键安装器(`--check` 预演、`--with-devin` Devin CLI 接线),详见 [INSTALL.md](INSTALL.md)。 - `requirements.txt` — 唯一三方依赖清单(fastapi + uvicorn + python-multipart + wecom-aibot-sdk——企微桥专用,`wecom.enabled` 未开时闲置),onboard 与手动 bootstrap 共用。 - `projects.seed.json.example` — 业务项目种子文件模板;复制为 `projects.seed.json` 后由 onboard 复制进运行目录,`TaskBoard` 初始化时并入 `projects` 表(INSTALL.md「平台本体 vs 业务项目」节)。 - `AGENTS.md` — agent 在本仓库的工作约定(边界、防漂移门禁、提交规范)。 - `DEVIN_CLI_LESSONS.md` — Devin CLI 集成教训集,新坑追加记录、旧条目不改写。 - `PLUGIN_AUTHORING.md` — L1 插件作者指南(manifest 契约、查询安全约束、生命周期与插件市场、跨实例镜像)。 ## 安装 首次安装两选一:`onboard.sh` 幂等安装器(`bash onboard.sh --check` 先预览零副作用),或按 `deploy/manifest.json` 手动 bootstrap(同步运行时代码、建 venv、注册 PM2 与 cron);日常升级走受控部署——`deploys` 记录经 release 审批后由运行目录中的受保护 deployer 按 manifest 同步、canary 预检、备份并重启。前置条件、两种路径、验证清单与回滚说明见 [INSTALL.md](INSTALL.md)。 ## 运行时边界 - 本机 live 运行目录为 `/home/ubuntu/approval-daemon`(`deploy/manifest.json` 的 `runtime_root`);源码本身不绑定该路径,`APPROVAL_*`/`ORCHESTRATOR_*` 环境变量可覆盖全部数据路径,`deploy/canary-check.py` 即在临时目录起完整实例。 - 凭据、SQLite、日志、state和venv不属于本仓库。 - agent只能编辑本仓库源码;不得直接编辑live目录、deployer、凭据、nginx/systemd/PM2配置。 - 自动部署必须先通过review、Final Gate、canary检查并创建可回滚备份。 ## 本地检查 覆盖 Final Gate 的 `agent-platform` 检查链(`orchestrator/runner.py` `_final_steps`),另补 `console_js.test.mjs`/`bunshin_hq.test.mjs` 断言与 `onboard.sh` 语法三条仓内检查: ```bash python3 -m unittest discover -s orchestrator/tests -v # 编排器单测 python3 -m unittest discover -s approval-daemon/tests # 审批台单测;无 fastapi 时测试模块自带 stub node approval-daemon/tests/console_js.test.mjs # console.js 断言套件,非零退出即失败 node approval-daemon/tests/bunshin_hq.test.mjs # bunshin-hq 插件前端断言,非零退出即失败 python3 -m py_compile approval-daemon/*.py orchestrator/*.py node --check approval-daemon/static/console.js bash -n onboard.sh git diff --check ``` 另可选 `python3 deploy/canary-check.py --source .` 在临时目录起完整实例冒烟——需装好依赖的解释器(`APPROVAL_PYTHON` 或 `~/approval-daemon/venv` 存在时自动选用);`--port` 缺省 8898,Final Gate 的 canary 步即按缺省端口运行,固定 `--port 8897` 的是 deployer precheck(避开预览实例在用的 8898,见 DEVIN_CLI_LESSONS.md)。