본문으로 건너뛰기
cccskills
무료GitHub에 공개

codexhost-add-harness

为 codexhost 新增 Harness 插件,或规划、审查、补全现有 Harness Adapter。按当前公共契约实现原生能力,区分插件后端、预装发行和 Desktop 产品接入;不用于单纯添加 Model、Provider 或账号。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(8)

  • SKILL.md8.7 KB
  • references/cross-harness-delegation.md7.1 KB
  • references/current-harness-implementations.md6.1 KB
  • references/output-and-interactions.md7.3 KB
  • references/public-adapter-contract.md7.8 KB
  • references/registration-and-validation.md9.9 KB
  • references/renderer-product-integration.md7.7 KB
  • references/thread-lifecycle-and-history.md6.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

新增 codexhost Harness 插件

目标:交付一个通过公共契约工作的独立插件,而不是在 Host 中增加一套 Harness 专用流程。插件是交付与加载单元,HarnessAdapter / HarnessSession 是运行时接口;不要求继承基类,也不要求使用 ACP。

本文代码路径以仓库根目录为基准,references/ 链接相对于本 Skill。接口签名、字段限制和当前行为以源码为准;参考文档是实现与验收清单,不是第二份接口定义。

当前架构边界

Host
├─ 发现 Manifest、读取显式启用配置、调用插件工厂
├─ 通过 HarnessAdapter / HarnessSession 执行业务
└─ 拥有 Thread 映射、持久化事务、委派和 Desktop 协议投影
             │ 公共契约
             ▼
插件
├─ Manifest:身份、版本、展示信息、入口
├─ 工厂:把 Host Context 转成原生构造参数
├─ HarnessAdapter:检查、打开 Session、关闭共享资源
└─ HarnessSession:执行、输出、状态、历史、关闭
             │ 插件内部
             ▼
原生 SDK / RPC / 服务 / CLI
  • 七个既有 Harness 和用户插件共用动态加载器,Host 不静态依赖具体 Adapter 包。新 ID 使用共享插件路由。
  • 公共工具仍可复用:例如 harness-discovery 实现搜索机制,插件声明命令名、环境变量和安装目录策略。
  • 完整产品去专属化尚未完成:Renderer 仍有固定 Agent 名单、配置字段和展示接线;旧路由、部分恢复策略、Credits、导入、Broker 与远程配置仍有历史特例。插件加载成功不等于自动出现在 Desktop。
  • 既有特例是兼容负担,不是新 Harness 的实现模板。公共契约无法表达真实需求时,记录缺口并在当前任务范围内设计公共扩展;不得通过新 Harness 专用 Host 分支绕过契约。

1. 确定交付范围和能力

从用户请求判断范围;只有会影响实现边界的歧义才询问,不默认扩展为全产品改造。

交付范围必须完成不自动包含
插件后端原生适配、Manifest/工厂、可运行依赖、隔离目录加载、公共行为测试仓库预装、Desktop UI
预装发行插件后端 + Workspace 构建、预装清单、独立 Bundle、许可与发行验收Renderer 自动发现
Desktop 产品接入插件后端 + Picker、配置、恢复、展示及 UI 验收必须成为预装插件

普通持久化 Thread 和完整委派要求可写 resume。原生系统不支持时,可以交付明确受限的后端,但不能把它称为完整产品接入;当前没有自动 ephemeral Thread 降级。

先读取以下权威入口:

  • packages/harness-adapter/src/text-session.ts:Adapter、Session、命令、事件和可选接口。
  • packages/harness-adapter/src/plugin.ts:工厂和 Context。
  • packages/shared-contracts/src/harness-models.ts:Catalog、能力和检查结果。
  • packages/shared-contracts/src/harness-plugins.ts:Manifest、描述与启用配置。
  • docs/architecture/harness-plugin-runtime.md:已实现边界、安装、信任和发行规则。

核对目标 Harness 的当前原生接口、版本、认证和运行方式。实际可行时优先原生 SDK、RPC 或服务接口;只有原生接口不可用或确有理由时使用 ACP,并记录能力差异。不要以 CLI 名称相似推断协议兼容。

使用 实现导航 按传输和能力选参考,不整包复制。输出简短计划:

交付:插件后端 / 预装发行 / Desktop(可组合)
原生接口与版本:……
支持:create、resume、Turn、取消、历史、工具、Question……
不支持或受限:Fork、权限仅创建时设置……
待验证:……(不能当作不支持,也不能声明已实现)
参考模块:……
预计修改:插件目录;其他位置逐项说明原因

本步完成条件:每项目标能力都有原生依据、公共映射或明确缺口,并且交付范围清楚。

2. 实现插件的四个职责

以下是职责清单,不是强制文件数量。Pi 的 Adapter 和 Session 就在同一个源文件中。

职责必须提供按需提供
ManifestmanifestVersion、id、name、version、adapterApiVersion、entryicon、文档/安装链接
工厂模块createHarnessAdapter(context),返回身份匹配的实例warmup(adapter)
HarnessAdapterharnessId、inspect()、open()、close()sessionImport、subagents、webUi
HarnessSessionharnessId、capabilities、initialState、initialUsage、outputs、readSnapshot()、execute()、close()commands、refreshUsage()

execute() 必须处理公共命令的分派:turn.start、turn.cancel、interaction.respond、model.select、thinking.select、permissionMode.select。open() 必须识别 create、resume、fork、rollbackLastTurn。存在接口不代表必须支持所有原生操作:不支持的分支返回类型化 unsupported,不伪造成功。

所有新插件都读取并满足:

  • 公共行为:检查、配置、并发、错误、环境和可选接口。
  • 输出与交互:Turn/Item 时序、原生输出映射、取消和故障。
  • 身份与历史:所有插件的 identity、快照要求;按能力实现 resume/Fork/Rollback。
  • 加载、发行与验证:Manifest、工厂、依赖及 Host 接入验证。

实现需要的原生 Transport、模型转换、历史、Usage 和交互模块。优先复用 packages/harness-adapter/src/index.ts 导出的校验、输出流和诊断工具;CLI 搜索复用 packages/harness-discovery/src/index.ts。拆文件按职责,不为统一形式添加空模块、空 warmup 或多余封装。

本步完成条件:公共接口能跑通真实原生操作,声明与行为一致;所有支持能力已实现,未实现项明确标注,失败与关闭不遗留活动资源。

3. 按范围完成加载和产品接入

  • 所有插件:按加载、发行与验证构建可搬移的插件,在隔离根目录显式启用,通过真实 Loader 验证;直接 new Adapter() 的测试不能替代插件加载。
  • 仓库内实现或预装发行:读取该参考中的 Workspace/发行分支。用户独立插件不需要修改预装清单;Host 包不得增加具体 Adapter 依赖。
  • Desktop 产品接入:读取Renderer 产品接入,处理当前静态 UI 边界;新插件路由仍用共享 codec,不新增专用编码。「调整方向」沿用公共路径,插件侧验证取消与后续 Turn。
  • 接收委派、继续向下委派或声明完整 Agent 协调:读取跨 Harness 委派。它复用普通可写 Thread,不另建一套执行接口。
  • 新增公共能力:同时核对类型、schema、Host 投影、使用方和测试。浏览器共享契约保持 Node-free,Renderer 不导入原生 SDK 或 Electron 私有 API。

本步完成条件:每个范围都有对应产物和验收证据;未启用的范围不做机械接线。现有 Harness 无需知道新 Harness 的私有信息。

4. 验证和交付

按验证分层执行聚焦检查,不默认运行全仓库测试。新增插件不能以构建通过替代原生语义验证,也不能以一次聊天成功替代取消、交互、恢复和清理验证。

交付报告包含:

  1. 插件位置、ID、原生接口及验证版本;入口、依赖、资源和安装/启用方式。
  2. 支持、不支持、受限、未验证的能力,以及必要的认证或平台条件。
  3. 实际修改了哪些插件外文件及原因;公共专用分支是否有新增。
  4. 已执行检查、原生/目标环境验证;跳过或受阻检查及原因。
  5. 分别标记插件后端、预装发行、Desktop 和完整委派的完成情况;不适用项写不适用。

只有范围内的实现、能力声明、测试和文档一致,才能宣布该范围完成。发现公共层缺口或原生限制时交付明确结论,不把受限实现包装成完整支持。

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

审查 codexhost 的 Pull Request 或本地 diff 的正确性与边界。检查包与 Rust 所有权边界、官方 Thread 与外部 Harness Thread 的区分、Renderer 私有绑定、生命周期与测试强度。用于“review 这个 PR / diff”;一批 PR 的总览与推荐分请先用 codexhost-pr-overview,再对其中需深审的 PR 使用本 skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

在 codexhost 中寻找有证据支撑的简化候选:无生产调用方的接口、镜像表示、为未来而设计的通用性、可由依赖或内置能力替代的手写代码。默认只读,输出带证据的候选清单;用于审计 AI 辅助开发造成的过度设计,不用于实现新功能。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

把一批 codexhost PR 汇总成一张表:推荐分(1–5)、作者及已合并数、作用、范围、状态、关联、理由。带“暂缓”标签的 PR 只列出、不检查。用于“看一下现在的 PR”“这批 PR 怎么处理”;单个 PR 的代码缺陷审查请接着用 codexhost-code-review。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

在推送、标记 PR 就绪或声称“检查通过”之前,按 diff 触及的面选择最小而充分的本地检查,不反射式跑全量。覆盖 TypeScript、Rust、Renderer、发布脚本与 Gate 的选择规则,以及改写历史推送的保护。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

发布 codexhost 正式版、预览版,编写或确认 Release Notes,检查发布 CI,暂停、恢复或排查发布。支持正常正式发布,以及 npm latest + GitHub Prerelease、不给现有用户更新提示的预览发行。不用于普通代码提交或 Harness CLI 更新。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

审计或修正读起来像“推理过程泄漏”的注释与文档:引用已不存在的设计会话、讲变更而不讲现状、面向评审者辩解、带“以前/不再/本次”等时间性叙述。用于清理 codexhost 的源码注释、JSDoc、docs 功能文档与提示词字符串。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

BytePioneer-AI/codex-host2.9천2026년 10월 18일 업데이트

BytePioneer-AI의 스킬 모두 보기

이 스킬의 문제 신고