Coven
一个本地优先的运行时底座,让 Codex、Claude Code、GitHub Copilot CLI 等编码智能体在同一项目边界内可被启动、观察和协调。
- Star 数
- ★ 65
- 最近更新
- 今天
- License
- MIT
- 主语言
- Rust
- FA 评分
- 79/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude CodeChatGPT(部分支持)
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 开发者在同一仓库中切换 Codex、Claude Code 或 GitHub Copilot CLI,希望会话历史、事件日志和状态都保存在本地并由统一守护进程管理。
- 不适合
- 需要完全成熟、稳定 1.0 版本的生产团队(项目为早期 MVP,README 明示会有粗糙之处)
- 在含敏感密钥仓库中运行不可信提示词的用户(会话日志可能记录密钥)
- Alpine Linux 等非 glibc 环境的用户
- 源码审查
- 79/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Coven 是 OpenCoven 生态的本地 harness 底座,为 Codex、Claude Code、GitHub Copilot CLI 等编码智能体 CLI 提供共享的项目级运行环境。它以 Rust 守护进程(daemon)作为权威边界:会话启动、工作目录校验、PTY 执行、事件日志与 SQLite 持久化都由守护进程完成,CLI、TUI 及其他客户端只是便利层,安全决策只向内汇聚到守护进程。项目采用本地优先架构,状态保存在本机(SQLite),并通过同机本地 IPC API(coven.daemon.v1 契约)对外提供接口。安装通过 npm 包 @opencoven/cli 分发,支持 macOS、Linux x64(glibc)和 Windows x64。项目为 MIT 许可的早期 MVP,处于活跃开发中,官方文档位于 docs.opencoven.ai。
Coven 的核心操作围绕项目级智能体会话展开:先运行 coven setup codex 完成厂商自有登录,再用 coven doctor 检查本地就绪状态;coven daemon start 启动 Rust 守护进程,负责 cwd 校验、PTY 生命周期、事件日志记录和 SQLite 持久化。coven run codex "fix the failing tests" 在项目边界内启动一次 Codex 会话;coven sessions 用于浏览和管理历史会话;coven daemon stop 停止守护进程。它支持的 harness 包括 Codex、Claude Code 和 GitHub Copilot CLI,并预留适配器契约(docs/HARNESS-ADAPTERS.md)供未来扩展。所有客户端(CLI/TUI、CastCodes、comux 或自建集成)通过同机本地 IPC API(coven.daemon.v1)访问同一会话状态。可选的内存仪表盘以 @opencoven/coven-memory-dashboard 单独安装。裸运行 coven 会打开交互式 UI。
- 开发者在同一仓库中切换 Codex、Claude Code 或 GitHub Copilot CLI,希望会话历史、事件日志和状态都保存在本地并由统一守护进程管理。
- 团队需要审计智能体在项目内做过什么:Coven 记录 PTY 执行与事件,并通过 coven sessions 浏览。
- 工具作者想在自己的界面或集成中呈现智能体工作,可基于同机 IPC API(coven.daemon.v1 契约)接入,而不重复实现执行层。
- 关注安全边界的用户希望由 Rust 守护进程(而非客户端)集中裁决 cwd 校验、PTY 生命周期与 IPC 访问。
- 多 harness 适配器作者可以按 docs/HARNESS-ADAPTERS.md 的契约实现并接入新的编码智能体 CLI。
如何安装或部署这个 Agent?
通过 npm 安装 CLI(通用包装器会自动选择平台包),然后运行自检:
bash
npm install -g @opencoven/cli
coven doctor平台专用包:@opencoven/cli-macos(Apple Silicon)、@opencoven/cli-macos-x64(Intel)、@opencoven/cli-linux-x64(glibc x64,不支持 Alpine)、@opencoven/cli-windows(Windows x64)。可选的内存仪表盘需 Node.js 24+ 并单独安装:
bash
npm install -g @opencoven/coven-memory-dashboardnpm、cargo 与源码安装路线详见 https://docs.opencoven.ai/docs/guide/install。各 harness 的登录由对应厂商完成(如 Codex 用 coven setup codex)。
如何使用这个 Agent?
在目标项目目录中完成一次完整流程:
bash
cd /path/to/your/project
coven setup codex
coven doctor
coven daemon start
coven run codex "fix the failing tests"
coven sessions
coven daemon stop裸运行 coven 会打开交互式 UI。CLI 命令参考见 https://docs.opencoven.ai/docs/cli。贡献者注意事项:每次 PR 前运行 python scripts/check-secrets.py,不要提交运行时状态(.coven/、*.sqlite*、*.sock、.env*、*.key)。
这个 Agent 有哪些优点和局限?
- 多 harness 中立底座:同一项目边界内支持 Codex、Claude Code、GitHub Copilot CLI,避免绑定单一厂商的智能体。
- Rust 守护进程是唯一权威边界,安全决策(cwd 校验、PTY、IPC)不依赖客户端,架构上明确分层。
- 本地优先:会话状态持久化到本机 SQLite,事件日志可审计,并有 API 契约(coven.daemon.v1)供第三方集成。
- MIT 许可,外部 PR 开放,跨 macOS/Linux/Windows x64 分发。
- 早期 MVP,README 明示可用但会有粗糙之处,适合探险型开发者而非保守生产环境。
- 会话日志会捕获 harness 输出,若 harness 输出密钥则会被记录——官方建议不要在敏感仓库运行不可信提示词。
- Linux 分发仅支持 glibc x64,不支持 Alpine;内存仪表盘还需要 Node.js 24+ 并单独安装。
- 在适配器契约稳定前,harness 支持被有意限制在 Codex、Claude Code 和 GitHub Copilot CLI 三家。
这个 Agent 与同类方案有什么区别?
Coven 明确定位为 Codex、Claude Code、GitHub Copilot CLI 等编码智能体 CLI 之上的共享运行底座:这些工具本身各自拥有会话与权限模型,而 Coven 提供统一的会话生命周期、SQLite 持久化与权威守护进程,使任一 harness 的工作在同一项目内可见、可协调。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Coven 当前 | 79 · 表现良好 | 命令行工具免费 | ★ 65 | 今天 | Rust | Codex · Claude Code |
| Puppetmaster | 68 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 457 | 1 天前 | Python | Codex · Claude Code |
| Cezar — AI 编码代理编排器 | 63 · 存在缺口 | 命令行工具免费 | ★ 464 | 2 天前 | TypeScript | Codex · Claude Code |
| OpenTeams | 56 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 626 | 13 天前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示安全模型异常清晰:Rust 守护进程为唯一权限边界,argv-only 启动(禁止 sh -c)、路径规范化、失败关闭、事件脱敏后存储、原始工件默认关闭且加密、IPC 限同用户本地套接字。扣分点:守护进程明确不沙箱化运行中的 harness,harness 以用户全权运行;COVEN_HOME 属主/权限检查被自述为未完成的加固缺口;原始工件密钥为本地文件而非系统钥匙串;回滚机制仅见 `coven logs prune` 与保留期,缺乏对 agent 已做变更的恢复路径,故 rollback 仅 1 分。最低权限因 sandbox 缺失而只能给 2。
自一致性极强:安全策略、API 契约、会话状态机、适配器契约逐一对应测试族(CI 中 rust-test、threads、AFS、conformance 任务)。依赖可用性覆盖三平台矩阵但 Alpine 明示不支持;依赖锁定用 --locked 与 Cargo.lock。失败消息有测试佐证(channels 包中拒绝消息精确且不泄露令牌),但仅见于小型 TypeScript 包样本,主 CLI 的错误面未直接展示,给 2。
受众与场景界定诚实(early MVP、面向冒险型开发者、三平台支持矩阵、容器/服务管理文档外链);能力边界是本项目最强项——SECURITY.md 明确列出'不提供'清单(无跨用户隔离、无 A2A 隔离、远程监听未发布);环境适配细分到 npm 平台包装包与 Apple Silicon/Intel。扣分:触发/命令行为大量依赖外部 docs.opencoven.ai,仓库内可见的触发精度证据有限,给 2。
信息架构清晰:仓库只保留随源码演化的规范文档并解释原因,其余指向 docs 站;安装说明含平台包装表与 `coven doctor`;已知限制的披露详尽到罕见程度(保留期非安全删除、历史提交不满足新隐私规则、无响应时限承诺);LICENSE 完整、Cargo.toml 一致声明 MIT。扣分:无 CHANGELOG 文件、版本语义只有 releases 链接引用(v0.4.x);维护责任依赖单一具名作者且明确不承诺修复时限;示例以 quick start 为主,FAQ/排错主要在外部站点,各扣至 2。
输出可用性有合理证据(会话浏览、事件 API、memory dashboard 为可选项),但均未经执行验证;边际价值在于把多 harness(Codex/Claude Code/Copilot CLI)统一到项目级会话 substrate,属真实空白但成熟度 pre-1.0;成本收益上 Rust 守护进程 + npm 包装包架构合理,基准脚本使用一次性 COVEN_HOME 不污染用户环境。三项均给 2:设计合理但本静态评审无法证实实际收益。
事实与推断分离是范本级:SECURITY.md 第 2/5 节逐条区分'今日强制'与'设计目标',并声明性能目标与 SLO 不是安全属性;每条主张都绑定规范契约与验证族(claim_traceability 3)。扣分:交叉印证依赖仓库内自引用与外部 docs 站,提供的样本文件中能实际打开核对的关键契约文档(SAFETY-MODEL、API-CONTRACT)未在证据中,给 2;测试与强制声明无法在静态评审中执行验证,已按规则不计入相邻准则。
- Coven 明确不沙箱化 harness:恶意提示词或 harness 输出可以用户全权行事;切勿在敏感仓库运行不可信 harness 或提示词。
- 不要向提示词粘贴机密;虽然事件载荷会脱敏,但 harness 若转储环境变量,机密会进入会话日志。
- COVEN_HOME 属主/权限检查是已声明的加固缺口,本机其他进程的威胁模型下不要视为完整边界。
- 原始工件持久化(persist_raw_artifacts=true)虽然加密,但密钥是本地文件,不适用于共享或高风险机器。
- pre-1.0 且无修复时限承诺;若用于生产需自行跟踪 releases 并准备快速回退方案。
- AgentFS 挂载后端为实验性,仅限本机回环、单用户,不得作为持久存储或对外暴露。
- 发布者未经验证(非策展企业注册库成员),身份视为未知;供应链信任需自行核实 npm 包与校验和。