Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

KT-lcz/codex-harness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

19 Commits

Repository files navigation

codex-harness

unnamed

一个面向 Codex CLI 的轻量级多 agent harness,用来补齐 Codex 生态里偏少的编排能力。

这个项目的目标很直接:

  • oh-my-codex 很强,但对很多场景来说偏重
  • Codex 生态里现成的多 agent 编排组件不多
  • 因此这里提供一套更轻、更本地化、更容易直接落到 ~/.codex 的 harness

它不是另一个完整平台,而是一套可安装的工作环境约定:配置、agent 模板、编排提示词、skills 模板和辅助包装器。

它解决什么问题

如果你现在使用 Codex CLI,通常会遇到几个问题:

  • 默认单 agent 模式在复杂任务上容易上下文过载
  • 缺少一套开箱即用的多 agent 分工模板
  • 缺少把调研、方案、编码、评审、验证串起来的轻量工作流
  • 想接入额外能力时,经常要手工维护配置、MCP 和辅助脚本

codex-harness 的做法是直接把这些基础设施安装到 ~/.codex,让你可以在 Codex CLI 里用统一方式调用。 它并没有直接修改默认的codex profile,默认方式使用时,除非显式说明,否则默认不会自动触发多agent编排。

注意

sandbox_mode = "danger-full-access"
approval_policy = "never"

开启了以上配置,不要在生产环境中使用。

当前具备的功能

基于当前仓库内容,项目已经具备这些能力。

1. 多 agent 编排入口

安装后会写入一个 multi profile,使用方式是:

codex -p multi

这个 profile 会启用 templates/agents-prompts/MULTI_BASE.md 里的共享基础约束。 当任务需要总调度时,需要显式触发 multi-orchestrator-playbook skill,主代理才会读取 templates/agents-prompts/ORCHESTRATOR.md 这份编排手册来组织多 agent 执行。

它的当前特征包括:

  • 面向多阶段任务的编排式执行
  • 强调规范驱动和阶段化推进
  • 优先把任务分给专门角色,而不是让一个 agent 混做所有事

2. 预置 agent 角色库

仓库在 templates/agents 中提供了一组现成 agent 模板,安装后会复制到 ~/.codex/agents

当前包含:

  • architect
  • code-mapper
  • code-simplifier
  • coder
  • doc_editor
  • evaluator
  • explorer
  • quick
  • reviewer
  • scrum_master
  • security-auditor
  • verifier

这些角色覆盖了从调研、架构、任务拆分,到编码、审查、验证、文档整理的一整条链路。 即使没有通过codex -p multi进入,也可以通过自然语言使用上述预置角色。

3. 轻量的 OpenSpec / 流程驱动约束

当前多 agent 提示词并不是"无脑并发",而是偏流程化编排:

  • 调研阶段使用 explorer / code-mapper
  • 方案阶段使用 architect / evaluator
  • 拆解阶段使用 scrum_master
  • 实施阶段使用 coder
  • 验证阶段使用 security-auditor / verifier / reviewer
  • 收尾阶段使用 doc_editor

这让它更适合中等复杂度以上的开发任务,而不是只做简单 shell 包装。

4. 预置技能模板

仓库在 templates/skills 中提供了技能模板:

  • multi-model-research:支持 Gemini / Claude 双后端的技术调研与方案评审,可单模型或双模型对比模式运行
  • tech-research:标准化技术调研工作流
  • multi-orchestrator-playbook:手动触发主代理加载编排手册,仅在需要总调度时使用

它们解决的是"需要第二视角调研"、"需要标准化技术调研工作流"以及"需要显式进入编排手册模式"的场景。

5. codeagent-wrapper 多后端包装器

仓库自带一个二进制工具 ccg/codeagent-wrapper,用于统一调用不同 AI CLI 后端。

根据当前 --help 输出,它支持:

  • codex
  • claude
  • gemini
  • opencode

也支持:

  • --prompt-file
  • --skills
  • --parallel
  • --output
  • --worktree

这意味着当前项目不仅能跑 Codex 本身,也为跨 CLI 协作留了接口。

6. 可选 MCP 注入

安装脚本支持按需把 MCP 配置合并进 ~/.codex/config.toml:

  • 默认启用 context7
  • 默认启用 fetch
  • 可选启用 exa
  • 可选启用 github

其中 exagithub 会在安装时读取:

  • EXA_API_KEY
  • GITHUB_PERSONAL_ACCESS_TOKEN

直接回车跳过即可,不会强制要求。

7. 配置合并,而不是粗暴覆盖

install.sh 会生成或更新 ~/.codex/config.toml,但不是全量覆盖用户配置,而是保留非托管部分。

当前会被托管的核心内容包括:

  • 模型与 provider
  • profiles.multi
  • context7 / fetch
  • agents
  • features
  • 部分运行时策略

这使它更适合作为"现有 Codex 环境上的增强层"。

如何使用

1. 安装

前提:

  • 已安装 npm
  • 有可用的 Codex CLI
  • 愿意将本仓库内容安装到当前用户的 ~/.codex

执行:

curl -fsSL https://raw.githubusercontent.com/KT-lcz/codex-harness/master/install-remote.sh | bash

curl | bash 安装时,脚本会直接从当前终端读取 EXA_API_KEYGITHUB_PERSONAL_ACCESS_TOKEN,不受管道 stdin 影响。 如果你不想交互输入,也可以直接用环境变量:

EXA_API_KEY=your_exa_key \
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_pat \
curl -fsSL https://raw.githubusercontent.com/KT-lcz/codex-harness/master/install-remote.sh | bash

如果你是在本地开发或想修改模板后再安装,也可以继续使用仓库内脚本:

git clone https://github.com/KT-lcz/codex-harness.git
cd codex-harness
bash install.sh

安装脚本会做这些事:

  • 安装 @fission-ai/openspec
  • 复制 templates/ 下的 agents、rules、skills、prompts
  • 复制 ccg/codeagent-wrapper
  • 合并并生成 ~/.codex/config.toml

2. 默认使用 Codex

如果你只想用默认模式,直接运行:

codex

这时会使用安装后的默认配置,但不一定进入多 agent 编排入口。

3. 使用多 agent 编排

当前多 agent 编排的标准使用方式是:

cd ${project path}
openspec init --tools codex // 只需执行一次
codex -p multi

进入后,适合直接给中高复杂度任务,例如:

$openspec-explore 需要给当前项目添加gitlab oauth认证

如果需要主代理进入编排手册模式,请显式触发:

$multi-orchestrator-playbook

当前仓库只做到"手动触发",没有做到把该 skill 强约束为仅 multi profile 可见。

4. 使用多模型调研包装器

当前仓库自带的 multi-model-research 模板依赖 codeagent-wrapper,支持 Gemini / Claude 单后端或双后端对比模式。例如:

# 单模型模式(claude)
./ccg/codeagent-wrapper \
 --backend claude \
 --prompt-file ./templates/skills/multi-model-research/prompts/claude-explorer.md \
 "评估当前方案是否适合做多 agent 编排"
# 单模型模式(gemini)
./ccg/codeagent-wrapper \
 --backend gemini \
 --prompt-file ./templates/skills/multi-model-research/prompts/gemini-explorer.md \
 "评估当前方案是否适合做多 agent 编排"

更完整的参数请以实际帮助输出为准:

./ccg/codeagent-wrapper --help
./ccg/codeagent-wrapper version

5. 验证安装结果

可以先做最小检查:

bash -n install.sh
bash -n install-remote.sh
./ccg/codeagent-wrapper --help

安装完成后再确认:

ls -la ~/.codex
sed -n '1,260p' ~/.codex/config.toml

重点看这些内容是否存在:

  • ~/.codex/agents/
  • ~/.codex/skills/
  • ~/.codex/skills/multi-orchestrator-playbook/SKILL.md
  • ~/.codex/agents-prompts/MULTI_BASE.md
  • ~/.codex/agents-prompts/ORCHESTRATOR.md
  • ~/.codex/ccg/codeagent-wrapper
  • ~/.codex/config.toml 中的 [profiles.multi]

OpenSpec 用法

OpenSpec 是什么

OpenSpec 是一个规范驱动开发(SDD)框架,为 AI 编程助手提供结构化的变更管理能力。它通过在代码仓库中创建 openspec/ 目录来管理变更提案、规格、设计和任务。

本项目依赖 OpenSpec 的 SDD 流程,安装脚本会自动安装 @fission-ai/openspec 包。

OpenSpec 与 codex-harness 的关系

  • codex-harness 提供多 agent 编排能力和本地工作流增强
  • OpenSpec 提供规范驱动的变更管理能力
  • 两者结合:OpenSpec 负责结构化变更记录,codex-harness 负责多 agent 协作执行

安装与刷新

OpenSpec 在执行 bash install.sh 时会自动安装。

# 在项目中初始化 OpenSpec
cd your-project
openspec init
# 刷新 OpenSpec 生成的 skills
openspec update

Codex 中的使用方式

OpenSpec 在 Codex 环境下只能通过 skill 触发。openspec init --tools codexopenspec update 之后,OpenSpec 会把对应 skill 生成到 ~/.codex/skills/openspec-*/SKILL.md,Codex 会按 skill 名识别这些工作流。

当前常用 skill 包括:

Skill 名称 功能
openspec-propose 创建变更提案,生成规划文档(默认 core profile)
openspec-explore 探索想法、调研问题、澄清需求
openspec-apply-change 实施变更任务
openspec-archive-change 归档已完成的变更
multi-orchestrator-playbook 手动加载 ORCHESTRATOR.md 编排手册(建议在 multi profile 中使用)

OpenSpec 生成的 skill 文件位置:~/.codex/skills/openspec-*/SKILL.md

仓库预置的编排手册 skill 文件位置:~/.codex/skills/multi-orchestrator-playbook/SKILL.md

常见工作流

Core profile(默认)

最简工作流,适合快速启动变更:

在 Codex 对话中使用 OpenSpec skills:
- `openspec-propose`:为用户模块添加双因素认证
- `openspec-apply-change`
- `openspec-archive-change`

RTK 用法

RTK 是什么

RTK(Rust Token Killer)是一个 Token 优化的 CLI 代理,用于减少 shell 命令输出的 token 消耗。

为什么要求 rtk 前缀

本项目要求所有 shell 命令前缀使用 rtk,原因:

  • 自动过滤冗余输出,降低上下文膨胀
  • 提供执行统计,帮助识别高消耗命令
  • 统一命令执行入口,便于审计和回放

仓库结构

.
├── install-remote.sh # 远程 bootstrap,支持 curl 安装
├── install.sh # 安装脚本
├── ccg/
│ └── codeagent-wrapper # 多后端 AI CLI 包装器
└── templates/
 ├── AGENTS.md
 ├── RTK.md
 ├── agents/ # Agent 角色模板
 ├── agents-prompts/ # 共享提示词与编排手册
 ├── config.base.toml # 基础配置模板
 ├── rules/ # 行为规则
 ├── skills/ # 技能模板
 │ ├── multi-model-research/
 │ ├── multi-orchestrator-playbook/
 │ └── tech-research/
 └── snippets/ # 代码片段

注意事项

  • 这不是一个完整插件平台,也不是一个独立 CLI 产品
  • 仓库核心是安装脚本加模板,不是业务应用
  • codeagent-wrapper 目前以二进制形式提交,代码在https://github.com/stellarlinkco/myclaude/tree/master/codeagent-wrapper中,可自行编译
  • 默认 provider base_url 是一个默认地址,使用时需要手动修改并添加OPENAI_API_KEY,
  • install.sh 是交互式安装,不适合直接作为无参 CI 安装脚本
  • install-remote.sh 只是下载仓库归档后调用 install.sh,因此同样会保留交互式输入行为
  • install.sh 现在支持从 /dev/tty 读取密钥输入,也支持通过环境变量 EXA_API_KEY / GITHUB_PERSONAL_ACCESS_TOKEN 跳过交互
  • 多 agent 编排能力当前主要通过 codex -p multi 这个 profile 入口暴露
  • 所有 shell 命令请使用 rtk 前缀以优化 token 消耗
  • OpenSpec 变更记录存储在项目根目录的 openspec/ 目录下

为什么不是 oh-my-codex

这个项目并不是要复刻 oh-my-codex

它更像一个面向 Codex CLI 的轻量替代方案,重点在于:

  • 保留多 agent 编排的核心能力
  • 减少额外平台层和重量级封装
  • 直接复用 ~/.codex 配置与本地模板
  • 让你可以更低成本地把多 agent 工作流接到现有 Codex 环境中

如果你要的是更完整、更平台化、更大而全的系统,可以看 oh-my-codex 一类项目。

如果你要的是一个足够轻、足够直接、能马上开始用的 Codex 多 agent harness,这个仓库就是为这个目的写的。

TODO

  • 增加 autopilot skill
  • 增加分析代码库的skill
  • 完善tech-research skill
  • 增加技术方案审核的skill
  • 增加review代码提交的skill
  • 增加记忆和召回的prompt
  • 增加deep-interview的skill

About

一个轻量的codex增强配置,支持基于SDD的多agent编排。目前仍为测试版本。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /