前言¶
在 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 內複用宿主運行時。