前言¶
在 DeepSeek Harness(DSH)里迭代 skill、prompt 或 RAG 配置时,常见做法是改一版就手动试几条对话,凭印象判断「好像更好了」。同一模型、同一批样本、只换知识产物(knowledge artifact)时,这种主观对比很难支撑发布决策,也无法把线上真实任务里的缺口沉淀成回归用例。
下面介绍社区插件 lizhiyao/oh-my-knowledge(简称 OMK)。它面向 prompt、RAG、skill、agent 与工作流的知识维护者,用 doctor → eval → observe 闭环把「是否可测、是否更好、线上暴露了什么」变成可复查的证据,并原生支持 Codex、Claude Code 与 DeepSeek Harness。
这是什么¶
OMK(oh-my-knowledge)由 lizhiyao 维护,MIT 许可证,当前 npm 版本为 v0.54.0,要求 Node.js >= 22。项目定位是:Observe. Measure. Know. —— 让 AI 应用中的每一次知识变更都有证据支撑。
核心思路是控制变量:同一模型、同一评测样本,只改变知识产物版本,再给出是否可发布的一行结论、置信区间、失败样本与成本。DSH 用户可将 OMK 作为原生 bundle 装入现有 profile,复用当前会话的 provider、凭证与沙箱做受控评估,并在 Studio 中打开持久化的 DSH 任务轨迹。
核心功能¶
OMK 把常见决策映射到具体命令,README 中的对照表可作为能力索引:
| 决策 | 命令 | 得到的证据 |
|---|---|---|
| 产物结构是否足以评测 | omk doctor |
结构、依赖、安全与可测性检查 |
| v2 是否优于 v1 | omk eval |
一行结论、置信区间、失败样本、成本 |
| 为何通过或失败 | omk studio |
分数、诊断与样例的报告视图 |
| 是否接受该版本 | omk promote / omk evolve |
证据门控的接受,或生成更好候选 |
| 一次真实任务发生了什么 | omk observe / Studio Task Trajectory |
请求、可见 Knowledge、工具调用、结果、回复与用户修正 |
| 线上用法暴露了什么缺口 | omk observe / omk sample --from-traces |
待审阅的生产缺口草稿,可转为评测样本 |
主循环如下:
修改 prompt / RAG / skill / agent 产物
→ omk doctor
→ omk eval(同模型、同样本)
→ 阅读报告 / Studio 证据
→ promote 或 evolve
→ observe 真实用法,sample --from-traces 起草回归样本
在 DSH 中,插件通过宿主执行器接入:eval.yaml 可省略顶层 executor,实测执行器始终是当前 DSH 宿主;每个样本会创建新的 DSH agent/session,并复用 profile 的 provider、凭证、工具与沙箱。/omk observe 依赖 ctx.sessionPersistence,以只读方式列出近期终端根会话并生成 Studio Task Trajectory URL。
安装与启用¶
作为 DSH 插件(推荐)¶
若 DSH 已是本地 harness,优先把 OMK 装入现有 profile,而不是让 OMK 再启动一套运行时。官方文档给出的命令如下:
dsh plugin --profile web add oh-my-knowledge
dsh --profile web
进入 DSH 后,可用斜杠命令操作(配置路径相对于当前会话 cwd 解析):
/omk eval eval.yaml
/omk observe
/omk observe <session-id>
内置 web profile 提供 ctx.commands 与命令适配器;headless、ACP、JSON-RPC 表面目前不消费该命令。本地源码构建时,可先 npm run build,再用绝对路径 dsh plugin --profile web add /absolute/path/to/oh-my-knowledge 链接。
全局 CLI 安装¶
不通过 DSH 宿主时,可用 npm 全局安装:
npm i -g oh-my-knowledge
需预先配置至少一种已认证的模型运行时(Codex CLI、Claude Code 或 API executor)。完整文档见 oh-my-knowledge.pages.dev。
典型用法¶
五分钟演示(CLI)¶
omk init 会脚手架两个 skill 变体与三个样本用例,可直接跑通对照评测:
npm i -g oh-my-knowledge
omk init demo && cd demo
omk eval --control code-review-v1 --treatment code-review-v2 --dry-run
omk eval --control code-review-v1 --treatment code-review-v2
--dry-run 用于预览调用与成本;正式 omk eval 约五分钟内生成带一行结论的 HTML 报告。首次仅 3 个用例时,结论常为 UNDERPOWERED(数据不足),属正常现象;README 建议积累到约 20+ 用例后再信任 ship/no-ship 判断。
在普通终端将 Codex 设为默认执行器时,可在 shell profile 中加入:
export OMK_EXECUTOR=codex
# 可选: export OMK_MODEL="your-codex-model"
在 DSH 内做 eval¶
在已加载插件的 DSH 会话中,编辑项目下的 eval.yaml,然后执行:
/omk eval eval.yaml
宿主模式下省略 eval.yaml 顶层 executor;被测模型默认继承当前会话,除非在配置中显式指定 model。评测报告写入项目 .omk/reports。Sample.mocks 在 DSH 宿主模式下暂不支持。
查看单次任务轨迹¶
仅查看一次 Codex 或 DSH 会话背后发生了什么,可不先跑 observe ingest:
omk studio
Studio 默认在 http://127.0.0.1:7799 打开本地会话概览。DSH 下使用 /omk observe <session-id> 会得到指向实际监听地址的 Task Trajectory URL,四栏(Conversation、Actions、Results、Knowledge)展示请求、工具调用、返回与可见上下文;轨迹仅重建日志中可观测事实,不推断隐藏推理。
在编码智能体中安装 Agent Skill¶
omk install omk-agent-skill
在 Claude Code 中可调用 /omk eval、/omk evolve、/omk sample;在 Codex 中需让智能体直接执行 omk CLI,例如 omk evolve skills/my-skill.md。
适用场景与注意¶
适合谁: 需要为 skill、prompt、RAG 或 agent 产物做发布决策的作者与维护者;需要在 DSH profile 内做受控 A/B、并把线上 trace 反哺评测集的团队。
不太适合: 只想被动使用某个 skill、不关心版本证据与回归样本的终端用户。
使用注意:
- OMK 以当前 DSH 进程权限运行,安装前应阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
- DSH 插件目录 SkillHub 是社区维护的独立站点,与 DeepSeek / 幻方无官方从属关系。
- 对比不同执行器(如
codex与claude)的结果时,OMK 会对运行时指纹做警告;应在固定 executor 下比较产物版本。 - CLI 首次运行后可能提示有新版本(每 20 小时最多一次);设置
OMK_SKIP_UPDATE_CHECK=1可永久关闭。
结尾¶
OMK 把「改了一版知识产物,到底能不能发」从主观印象拉回到可复查的证据:发版前用 doctor 与 eval,发版后用 observe 与 sample 闭合回路。DSH 用户通过 dsh plugin --profile web add oh-my-knowledge 即可在现有 profile 内复用宿主运行时。