Skip to content

lingdu0007/harness

Repository files navigation

Harness

Harness V1 是面向 Codex、Claude Code 与已审批内部 Skill 的本地控制层。Kernel 通过统一的 Harness.execute/watch 接口负责可解释路由、持久任务、角色分工、预算、审批、恢复和可审计交付。

一键安装

要求 Node.js 20 或更高版本。克隆仓库后在根目录执行:

npm run harness:install

安装命令会完成依赖安装、构建、全局 CLI 链接、Codex/Claude Code Skill 链接和 MCP 注册,然后逐项展示当前发现的 Skill,由用户决定是否参与路由。也可以只安装指定宿主:

npm run harness:install -- --host codex
npm run harness:install -- --host claude-code

升级、卸载和安装级自检:

npm run harness:upgrade
npm run harness:doctor
npm run harness:uninstall

升级针对当前 checkout 重新安装并构建,只复核新增或因能力变化重新隔离的 Skill。卸载默认保留 ~/.config/harness/ 中的 Skill 信任和 Workflow 配置;彻底清理使用:

npm run harness:uninstall -- --purge

完整说明见安装、升级、卸载与初始化指南

Skill 与 Workflow

需要重新逐项确认所有 Skill 时运行:

harness init --global

用户可以把已经批准的 Skill 注册到内置 Workflow。注册后,该 Workflow 只会从绑定列表选择 Skill:

harness workflow register engineering_fast --skills implement,tdd --global
harness workflow list --global
harness workflow remove engineering_fast --global

CLI 还支持 routestartstatuseventssubmitpausecancelsteerapproveresumedeliveryskilldoctor 以及 delegated Executor/交付动作命令。harness-mcp 通过本地 stdio 暴露宿主侧结构化工具;必须用 HARNESS_MCP_CALLER=codex|claude_code 在服务器启动时固定宿主身份。用户审批、Skill 信任审核以及 pausecancelsteer 用户控制命令不暴露给模型可调用的 MCP 面,只能由用户在本地 CLI 执行。

Codex 自定义 Provider

Codex Executor 使用 --ignore-user-config 隔离个人 Codex 配置。使用代理或其他自定义 provider 时,必须在受信任的全局 Harness 配置 ~/.config/harness/config.yaml 中显式声明 provider 和模型:

executors:
  codex:
    model: gpt-5.6-sol
    structuredOutput: prompt
    provider:
      id: example
      name: OpenAI-Compatible
      baseUrl: https://api.example.com
      wireApi: responses
      requiresOpenAiAuth: true

structuredOutput: native 使用 Codex 原生 JSON Schema;代理不支持原生结构化输出时使用 prompt,Harness 会把 schema 放入 WorkOrder 并继续严格校验返回结果。API key 仍由 Codex 自己的认证存储提供,不写入 Harness 配置。出于凭据安全考虑,项目 .harness/config.yaml 和任务 .harness/local.yaml 不允许覆盖 Executor provider。

项目任务默认存放在 .harness/tasks/,隔离 worktree 默认存放在 .harness/worktrees/;两者均被 Git 忽略。事件账本是事实源,state.yaml、中文任务文档、运行日志和交付文件均由事件投影生成。

任务完成不授予 apply、commit、push、开 PR 或 merge 权限。这些操作必须创建独立的精确 ActionIntent,按当前策略重新校验并在需要时由用户确认。

验证

npm test
npm run typecheck
npm run build
node dist/host-adapters/cli.js doctor

真实 Codex/Claude smoke 依赖本机 CLI 与认证状态。认证缺失必须报告为 dependency_unavailable 或明确 skip,不能计为通过。

事实源

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages