课程定位
本课不替代 S01–S12 的 TS 逐模块讲解,而是并列第二条源码轴:用你已熟悉的 Agent Loop、工具、MCP、权限等概念,在 src/openharness/ 里认路、对比、写笔记。
三条线请分清:① Anthropic 官方 Claude Code 产品(闭源发行)· ② 课内 TS 镜像(学习用重建源码)· ③ OpenHarness(独立 MIT 项目)。
思想上相同的部分(问题域对齐)
两者都在解决 「模型 + 工具 + 会话状态 + 治理」 的 Harness 问题,而不是单次聊天 API。
| 维度 | 共性(读 S 课时脑内可平移) |
|---|---|
| 主循环 | 多轮对话、流式输出、tool-use 解析与再提交。 |
| 工具层 | 注册 schema、执行、错误与重试、并行调用等工程结构。 |
| 权限与治理 | 高风险操作确认、规则匹配、Hooks 介入点。 |
| 上下文 | 消息拼装、压缩与预算、项目级说明文件与记忆。 |
| MCP | 外接能力与资源暴露给模型。 |
| 多 Agent | 子任务、协调、会话隔离或合并。 |
| CLI / TUI | 命令入口、终端交互、与编辑器桥接的思路。 |
结论:大框架类似——学完 S01、S02、S07 再打开 engine/、tools/、mcp/ 会有认路感;差异主要在产品外壳与默认策略。
思想与架构上的不同
| 维度 | Claude Code(课内 TS 镜像) | OpenHarness |
|---|---|---|
| 产品定位 | 与 Anthropic 商业产品强绑定的一体化 CLI(账号、订阅、发版由官方定)。 | 社区 Harness 基座:多 workflow、多兼容 API、可自托管逻辑。 |
| Provider 模型 | 以 Claude 生态为主轴(含 Bedrock 等变体)。 | oh setup 下 Anthropic-compatible、OpenAI-compatible、订阅类 preset 等并列。 |
| 许可证与源码 | 官方闭源;课内树为重建镜像,仅供学习。 | MIT 全开源,可 fork、改默认策略、接内网模型(在合规前提下)。 |
| 实现栈 | TypeScript,与官方发行通道一致。 | Python,调试与依赖路径不同。 |
| 功能边界 | 随官方路线图(插件市场、Remote Control、Auto mode 等)。 | 另一套组合(如 ohmo、channels、Swarm 实现),不必与 CC 逐特性对齐。 |
| 安全默认 | 面向大众的官方默认与企业集成。 | 更偏自运维:允许列表、Hooks、沙箱假设均可改,责任在部署者。 |
这些不同多数不是「谁更先进」,而是 单一商业产品 与 可改造基础设施 的自然分工。
为什么不同(根因)
- 目标不同:Claude Code 服务 Anthropic 的订阅与合规叙事;OpenHarness 服务 可审计、可分叉、多后端 的集成与实验。
- 技术选型不同:TS 利于与编辑器/桌面工具链统一;Python 利于 AI 工程圈快速改 prompt、工具与脚本胶水。
- 演进约束不同:官方受发布列车与企业策略约束;开源 Harness 更依赖社区 PR,兼容性责任分散在你自己选的部署。
- 品牌与法律边界:课内 TS 树不可冒充官方;OpenHarness 为独立项目,与 Anthropic 无隶属关系。
OpenHarness 的优势(何种前提下成立)
| 优势 | 说明 |
|---|---|
| 可读可改 | MIT 全仓库,适合教学、实验、内网定制(API 使用仍须合规)。 |
| 多后端叙事 | 同一套 Harness 下切换多种兼容 API,便于做供应商无关的课设或 PoC。 |
| 与 S 课同构 | 用已熟悉的模块划分读 Python,加速建立 Harness 元模型,减少对单一闭源实现的依赖。 |
| 社区组合面 | Skills、插件、Swarm、channels 等与官方不同组合,适合研究「无官方产品时 Harness 如何长」。 |
不默认的结论:不宣称 OH 在普遍意义上比官方「更安全或更强」——安全与稳定取决于你的配置、模型提供方与运维;官方产品在默认策略与企业集成上通常投入更大。
推荐学习路径
- 任选入口:先读 S01 建立 Loop 心智,或先本地
uv run oh跑通再回读(安装见 OpenHarness 专题)。 - 对照路径表:每读完一节 S,在 专题内映射表 打开对应
src/openharness/目录,只问三句:同样问题 OH 在哪一层解决?差异在接口还是策略?若改默认会怎样? - 作业:每单元写三条笔记——相同点 / 不同点 / 原因。
- 全套 Python 讲稿:OH01–OH12 与 S01–S12 逐讲对标(见下表)。
OH01–OH12 讲稿目录(对标 S01–S12)
每讲含:与 S 课同主题的关键路径、源码导读、站内 Mermaid 导图 key、课内叙事对照表与思考题。按顺序读或按 S 课进度跳读均可。
| 讲次 | 对标 S | 主题摘要 |
|---|---|---|
| OH01 | S01 | Agent Loop · query_engine / run_query |
| OH02 | S02 | Tool System · BaseTool / ToolRegistry |
| OH03 | S03 | Permissions · PermissionChecker |
| OH04 | S04 | CLI · Typer / 斜杠命令 |
| OH05 | S05 | 上下文压缩 · services/compact |
| OH06 | S06 | Subagent · agent_tool / swarm |
| OH07 | S07 | MCP · McpToolAdapter |
| OH08 | S08 | 后台任务 · tasks/ |
| OH09 | S09 | Bridge / backend_host |
| OH10 | S10 | Hooks |
| OH11 | S11 | Vim / keybindings |
| OH12 | S12 | Git worktree 工具 |
源码与站内入口
S01–S12 ↔ 目录映射(节选)见 OpenHarness 专题 · 课程对照。
本仓库快照路径(注意目录名历史拼写 rererence):
reference/rererence_harness/OpenHarness/
若无该目录,见 reference/rererence_harness/README.md ↗。
官方 CLI 发版跟踪见 发版监督(与 OpenHarness 上游 release 是两条线)。