这个项目能做什么
Genie 是面向 AI 编码代理的命令行规划与执行层。其口号是“wishes in, PRs out”:你用一句话描述想要什么,Genie 会通过访谈引导你形成计划,分派代理并行构建,按验收标准评审结果,并交回可直接合并的内容。
架构刻意极简。没有守护进程,也没有 Postgres:主体是一组 skills、存储在 git 中的纯 Markdown 文档,以及基于 Bun 内置引擎、每个仓库一个的 SQLite 文件(`.genie/genie.db`)。命令会打开数据库、运行一个事务,然后退出。打包体积约为 0.9 MB,只有四个运行时依赖;`nats` 仅在 Omni 运行器启动时初始化。
安装通过 curl 管道传给 shell 的脚本完成。发行版使用 cosign 签名并附带 SLSA 出处证明,安装器通过 `gh attestation verify` 验证二进制文件,并以 `cosign verify-blob` 作为后备。发布包含三种交付物:签名二进制文件、skills(通过 skills.sh 渠道提供,或使用 `npx skills add automagik-dev/genie`),以及在 Orca 侧注册的可选 Orca 插件。
工作流由 skills 驱动:`brainstorm`(从想法到 DESIGN.md,并进行设计评审)、`wish`(从设计到范围明确、包含执行组的 WISH.md)、`review`(强制性计划评审)、`work`(由原生角色子代理构建每个已批准的组),以及最终的独立实现评审,返回 SHIP、FIX-FIRST 或 BLOCKED。Skills 采用运行时中立的方式编写,并安装到检测到的每个 agent skill 主目录中,包括 Claude Code、Codex 等使用的共享 `~/.agents/skills` 主目录、Goose 和 Windsurf。
状态与文档分离:wishes、designs 和 brainstorms 是 `.genie/` 下的 Markdown,而 tasks、boards、依赖边和执行状态位于 SQLite 中。仓库的关联 worktree 共享一个从 git 公共目录解析得到的数据库,因此任务无需同步步骤即可在各 worktree 间可见。`genie context` 命令会输出带版本的 JSON,描述 spawn 上下文(分支、基础 SHA、就绪任务)。
Genie 有两种生命周期模式。`standalone` 是默认模式;`genie setup --orchestration-mode orca` 会在验证兼容运行时后,让 Orca 成为唯一生命周期权威。在该模式下,Genie 会拒绝本地生命周期读写,而不是静默回退。旧版 MCP 服务器和 UI bridge 已停用,`genie mcp` 与 `genie ui-bridge` 会以非零状态退出,并给出稳定诊断信息。可选的 `genie omni` bridge 通过 Omni 枢纽经 NATS 将运行中的代理连接到 WhatsApp,用于远程批准和传入的一次性请求。
值得注意的运维细节:`genie doctor` 报告安装健康状况以及每个代理的 skill 存在情况;`genie update` 以备份优先的方式处理插件时代遗留物的退役,保留已修改或归属不明的资产;`genie uninstall` 仅删除能够证明归 Genie 所有的工件。README 明确说明,实时 WhatsApp 往返是一项有文档记录的手工 QA 步骤,而 Omni 行为则在测试套件中针对 fake transport 进行验证。
评论
0 评分人数达到10人后显示
登录后参与讨论。