oh-my-knowledge 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +198 -26
  2. package/README.zh.md +198 -26
  3. package/dist/src/authoring/evolver.d.ts +26 -2
  4. package/dist/src/authoring/evolver.d.ts.map +1 -1
  5. package/dist/src/authoring/evolver.js +410 -49
  6. package/dist/src/authoring/evolver.js.map +1 -1
  7. package/dist/src/authoring/generator.d.ts +5 -2
  8. package/dist/src/authoring/generator.d.ts.map +1 -1
  9. package/dist/src/authoring/generator.js +22 -6
  10. package/dist/src/authoring/generator.js.map +1 -1
  11. package/dist/src/authoring/sample-fixer.d.ts +10 -4
  12. package/dist/src/authoring/sample-fixer.d.ts.map +1 -1
  13. package/dist/src/authoring/sample-fixer.js +153 -126
  14. package/dist/src/authoring/sample-fixer.js.map +1 -1
  15. package/dist/src/cli/commands/doctor.d.ts +25 -1
  16. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/src/cli/commands/doctor.js +233 -124
  18. package/dist/src/cli/commands/doctor.js.map +1 -1
  19. package/dist/src/cli/commands/eval/gold/compare.d.ts +17 -0
  20. package/dist/src/cli/commands/eval/gold/compare.d.ts.map +1 -0
  21. package/dist/src/cli/commands/eval/gold/compare.js +91 -0
  22. package/dist/src/cli/commands/eval/gold/compare.js.map +1 -0
  23. package/dist/src/cli/commands/eval/gold/index.d.ts +9 -0
  24. package/dist/src/cli/commands/eval/gold/index.d.ts.map +1 -0
  25. package/dist/src/cli/commands/eval/gold/index.js +34 -0
  26. package/dist/src/cli/commands/eval/gold/index.js.map +1 -0
  27. package/dist/src/cli/commands/eval/gold/init.d.ts +11 -0
  28. package/dist/src/cli/commands/eval/gold/init.d.ts.map +1 -0
  29. package/dist/src/cli/commands/eval/gold/init.js +51 -0
  30. package/dist/src/cli/commands/eval/gold/init.js.map +1 -0
  31. package/dist/src/cli/commands/eval/gold/validate.d.ts +12 -0
  32. package/dist/src/cli/commands/eval/gold/validate.d.ts.map +1 -0
  33. package/dist/src/cli/commands/eval/gold/validate.js +46 -0
  34. package/dist/src/cli/commands/eval/gold/validate.js.map +1 -0
  35. package/dist/src/cli/commands/eval/index.d.ts +54 -0
  36. package/dist/src/cli/commands/eval/index.d.ts.map +1 -0
  37. package/dist/src/cli/commands/{eval-runner.js → eval/index.js} +216 -50
  38. package/dist/src/cli/commands/eval/index.js.map +1 -0
  39. package/dist/src/cli/commands/evolve.d.ts +36 -1
  40. package/dist/src/cli/commands/evolve.d.ts.map +1 -1
  41. package/dist/src/cli/commands/evolve.js +191 -47
  42. package/dist/src/cli/commands/evolve.js.map +1 -1
  43. package/dist/src/cli/commands/init.d.ts +15 -1
  44. package/dist/src/cli/commands/init.d.ts.map +1 -1
  45. package/dist/src/cli/commands/init.js +70 -28
  46. package/dist/src/cli/commands/init.js.map +1 -1
  47. package/dist/src/cli/commands/observe/inbox.d.ts +23 -0
  48. package/dist/src/cli/commands/observe/inbox.d.ts.map +1 -0
  49. package/dist/src/cli/commands/observe/inbox.js +258 -0
  50. package/dist/src/cli/commands/observe/inbox.js.map +1 -0
  51. package/dist/src/cli/commands/observe/index.d.ts +22 -0
  52. package/dist/src/cli/commands/observe/index.d.ts.map +1 -0
  53. package/dist/src/cli/commands/observe/index.js +118 -0
  54. package/dist/src/cli/commands/observe/index.js.map +1 -0
  55. package/dist/src/cli/commands/observe/ingest.d.ts +13 -0
  56. package/dist/src/cli/commands/observe/ingest.d.ts.map +1 -0
  57. package/dist/src/cli/commands/observe/ingest.js +69 -0
  58. package/dist/src/cli/commands/observe/ingest.js.map +1 -0
  59. package/dist/src/cli/commands/observe/show.d.ts +13 -0
  60. package/dist/src/cli/commands/observe/show.d.ts.map +1 -0
  61. package/dist/src/cli/commands/observe/show.js +49 -0
  62. package/dist/src/cli/commands/observe/show.js.map +1 -0
  63. package/dist/src/cli/commands/sample.d.ts +28 -5
  64. package/dist/src/cli/commands/sample.d.ts.map +1 -1
  65. package/dist/src/cli/commands/sample.js +242 -169
  66. package/dist/src/cli/commands/sample.js.map +1 -1
  67. package/dist/src/cli/commands/skill-extract.d.ts +20 -0
  68. package/dist/src/cli/commands/skill-extract.d.ts.map +1 -0
  69. package/dist/src/cli/commands/skill-extract.js +84 -0
  70. package/dist/src/cli/commands/skill-extract.js.map +1 -0
  71. package/dist/src/cli/commands/studio.d.ts +22 -1
  72. package/dist/src/cli/commands/studio.d.ts.map +1 -1
  73. package/dist/src/cli/commands/studio.js +111 -37
  74. package/dist/src/cli/commands/studio.js.map +1 -1
  75. package/dist/src/cli/index.js +15 -47
  76. package/dist/src/cli/index.js.map +1 -1
  77. package/dist/src/cli/lib/cli-exit.d.ts +16 -0
  78. package/dist/src/cli/lib/cli-exit.d.ts.map +1 -0
  79. package/dist/src/cli/lib/cli-exit.js +20 -0
  80. package/dist/src/cli/lib/cli-exit.js.map +1 -0
  81. package/dist/src/cli/lib/cmd-flags.d.ts +236 -0
  82. package/dist/src/cli/lib/cmd-flags.d.ts.map +1 -0
  83. package/dist/src/cli/lib/cmd-flags.js +46 -0
  84. package/dist/src/cli/lib/cmd-flags.js.map +1 -0
  85. package/dist/src/cli/{i18n-dict.d.ts → lib/i18n-dict.d.ts} +1 -1
  86. package/dist/src/cli/lib/i18n-dict.d.ts.map +1 -0
  87. package/dist/src/cli/{i18n-dict.js → lib/i18n-dict.js} +39 -264
  88. package/dist/src/cli/lib/i18n-dict.js.map +1 -0
  89. package/dist/src/cli/{i18n.d.ts → lib/i18n.d.ts} +11 -6
  90. package/dist/src/cli/lib/i18n.d.ts.map +1 -0
  91. package/dist/src/cli/{i18n.js → lib/i18n.js} +12 -7
  92. package/dist/src/cli/lib/i18n.js.map +1 -0
  93. package/dist/src/cli/{parse-run-config.d.ts → lib/parse-run-config.d.ts} +5 -6
  94. package/dist/src/cli/lib/parse-run-config.d.ts.map +1 -0
  95. package/dist/src/cli/{parse-run-config.js → lib/parse-run-config.js} +11 -61
  96. package/dist/src/cli/lib/parse-run-config.js.map +1 -0
  97. package/dist/src/cli/lib/progress.d.ts.map +1 -0
  98. package/dist/src/cli/lib/progress.js.map +1 -0
  99. package/dist/src/cli/{run-tally.d.ts → lib/run-tally.d.ts} +1 -1
  100. package/dist/src/cli/lib/run-tally.d.ts.map +1 -0
  101. package/dist/src/cli/lib/run-tally.js.map +1 -0
  102. package/dist/src/cli/{commands/_shared.d.ts → lib/shared.d.ts} +2 -2
  103. package/dist/src/cli/lib/shared.d.ts.map +1 -0
  104. package/dist/src/cli/{commands/_shared.js → lib/shared.js} +3 -3
  105. package/dist/src/cli/lib/shared.js.map +1 -0
  106. package/dist/src/cli/lib/update-check.d.ts.map +1 -0
  107. package/dist/src/cli/lib/update-check.js.map +1 -0
  108. package/dist/src/cli/oclif/base-command.d.ts +8 -0
  109. package/dist/src/cli/oclif/base-command.d.ts.map +1 -0
  110. package/dist/src/cli/oclif/base-command.js +27 -0
  111. package/dist/src/cli/oclif/base-command.js.map +1 -0
  112. package/dist/src/cli/oclif/help.d.ts +16 -0
  113. package/dist/src/cli/oclif/help.d.ts.map +1 -0
  114. package/dist/src/cli/oclif/help.js +33 -0
  115. package/dist/src/cli/oclif/help.js.map +1 -0
  116. package/dist/src/cli/oclif/i18n.d.ts +16 -0
  117. package/dist/src/cli/oclif/i18n.d.ts.map +1 -0
  118. package/dist/src/cli/oclif/i18n.js +62 -0
  119. package/dist/src/cli/oclif/i18n.js.map +1 -0
  120. package/dist/src/cli/oclif/parsers.d.ts +10 -0
  121. package/dist/src/cli/oclif/parsers.d.ts.map +1 -0
  122. package/dist/src/cli/oclif/parsers.js +102 -0
  123. package/dist/src/cli/oclif/parsers.js.map +1 -0
  124. package/dist/src/cli/oclif/projection.d.ts +23 -0
  125. package/dist/src/cli/oclif/projection.d.ts.map +1 -0
  126. package/dist/src/cli/oclif/projection.js +52 -0
  127. package/dist/src/cli/oclif/projection.js.map +1 -0
  128. package/dist/src/cli/oclif/run.d.ts +2 -0
  129. package/dist/src/cli/oclif/run.d.ts.map +1 -0
  130. package/dist/src/cli/oclif/run.js +11 -0
  131. package/dist/src/cli/oclif/run.js.map +1 -0
  132. package/dist/src/diagnosis/observe-mapper.d.ts +68 -0
  133. package/dist/src/diagnosis/observe-mapper.d.ts.map +1 -0
  134. package/dist/src/diagnosis/observe-mapper.js +276 -0
  135. package/dist/src/diagnosis/observe-mapper.js.map +1 -0
  136. package/dist/src/diagnosis/observe-producer.d.ts +9 -0
  137. package/dist/src/diagnosis/observe-producer.d.ts.map +1 -0
  138. package/dist/src/diagnosis/observe-producer.js +197 -0
  139. package/dist/src/diagnosis/observe-producer.js.map +1 -0
  140. package/dist/src/diagnosis/studio-projection.d.ts +14 -0
  141. package/dist/src/diagnosis/studio-projection.d.ts.map +1 -0
  142. package/dist/src/diagnosis/studio-projection.js +84 -0
  143. package/dist/src/diagnosis/studio-projection.js.map +1 -0
  144. package/dist/src/diagnosis/types.d.ts +79 -0
  145. package/dist/src/diagnosis/types.d.ts.map +1 -0
  146. package/dist/src/diagnosis/types.js +20 -0
  147. package/dist/src/diagnosis/types.js.map +1 -0
  148. package/dist/src/doctor/fixer.d.ts +12 -0
  149. package/dist/src/doctor/fixer.d.ts.map +1 -0
  150. package/dist/src/doctor/fixer.js +326 -0
  151. package/dist/src/doctor/fixer.js.map +1 -0
  152. package/dist/src/doctor/health/composer.js +7 -4
  153. package/dist/src/doctor/health/composer.js.map +1 -1
  154. package/dist/src/doctor/health/parser.d.ts +0 -1
  155. package/dist/src/doctor/health/parser.d.ts.map +1 -1
  156. package/dist/src/doctor/health/parser.js +37 -0
  157. package/dist/src/doctor/health/parser.js.map +1 -1
  158. package/dist/src/doctor/health/prompt-builder.d.ts +2 -21
  159. package/dist/src/doctor/health/prompt-builder.d.ts.map +1 -1
  160. package/dist/src/doctor/health/prompt-builder.js +1 -169
  161. package/dist/src/doctor/health/prompt-builder.js.map +1 -1
  162. package/dist/src/doctor/html-renderer.d.ts +1 -1
  163. package/dist/src/doctor/html-renderer.d.ts.map +1 -1
  164. package/dist/src/doctor/html-renderer.js +2 -2
  165. package/dist/src/doctor/html-renderer.js.map +1 -1
  166. package/dist/src/doctor/index.d.ts.map +1 -1
  167. package/dist/src/doctor/index.js +1 -0
  168. package/dist/src/doctor/index.js.map +1 -1
  169. package/dist/src/doctor/renderer.d.ts +1 -1
  170. package/dist/src/doctor/renderer.d.ts.map +1 -1
  171. package/dist/src/doctor/renderer.js +2 -2
  172. package/dist/src/doctor/renderer.js.map +1 -1
  173. package/dist/src/doctor/rules.js +1 -1
  174. package/dist/src/doctor/rules.js.map +1 -1
  175. package/dist/src/eval-core/mock-hook.cjs +13 -1
  176. package/dist/src/eval-core/mocks-runtime.d.ts +7 -3
  177. package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -1
  178. package/dist/src/eval-core/mocks-runtime.js +240 -4
  179. package/dist/src/eval-core/mocks-runtime.js.map +1 -1
  180. package/dist/src/eval-workflows/evaluation-pipeline.d.ts +1 -1
  181. package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
  182. package/dist/src/eval-workflows/evaluation-pipeline.js +1 -1
  183. package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
  184. package/dist/src/eval-workflows/run-evaluation.js +1 -1
  185. package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
  186. package/dist/src/executors/claude-cli.d.ts.map +1 -1
  187. package/dist/src/executors/claude-cli.js +6 -4
  188. package/dist/src/executors/claude-cli.js.map +1 -1
  189. package/dist/src/observability/experience.d.ts +184 -3
  190. package/dist/src/observability/experience.d.ts.map +1 -1
  191. package/dist/src/observability/experience.js +1208 -41
  192. package/dist/src/observability/experience.js.map +1 -1
  193. package/dist/src/observability/inbox-view-model.d.ts +3 -0
  194. package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
  195. package/dist/src/observability/inbox-view-model.js +9 -0
  196. package/dist/src/observability/inbox-view-model.js.map +1 -1
  197. package/dist/src/observability/inbox.d.ts +2 -0
  198. package/dist/src/observability/inbox.d.ts.map +1 -1
  199. package/dist/src/observability/inbox.js +16 -2
  200. package/dist/src/observability/inbox.js.map +1 -1
  201. package/dist/src/observability/problem-patterns.d.ts +1 -0
  202. package/dist/src/observability/problem-patterns.d.ts.map +1 -1
  203. package/dist/src/observability/problem-patterns.js +8 -8
  204. package/dist/src/observability/problem-patterns.js.map +1 -1
  205. package/dist/src/observability/resolved-review.d.ts +25 -0
  206. package/dist/src/observability/resolved-review.d.ts.map +1 -0
  207. package/dist/src/observability/resolved-review.js +231 -0
  208. package/dist/src/observability/resolved-review.js.map +1 -0
  209. package/dist/src/observability/review-state.d.ts +9 -2
  210. package/dist/src/observability/review-state.d.ts.map +1 -1
  211. package/dist/src/observability/review-state.js +40 -2
  212. package/dist/src/observability/review-state.js.map +1 -1
  213. package/dist/src/observability/skill-chain-advisories.js +4 -4
  214. package/dist/src/observability/skill-chain-advisories.js.map +1 -1
  215. package/dist/src/observability/skill-chain.d.ts +1 -0
  216. package/dist/src/observability/skill-chain.d.ts.map +1 -1
  217. package/dist/src/observability/skill-chain.js +72 -35
  218. package/dist/src/observability/skill-chain.js.map +1 -1
  219. package/dist/src/observability/soft-standards.d.ts +130 -0
  220. package/dist/src/observability/soft-standards.d.ts.map +1 -0
  221. package/dist/src/observability/soft-standards.js +426 -0
  222. package/dist/src/observability/soft-standards.js.map +1 -0
  223. package/dist/src/observability/text-signals.d.ts +7 -0
  224. package/dist/src/observability/text-signals.d.ts.map +1 -1
  225. package/dist/src/observability/text-signals.js +88 -4
  226. package/dist/src/observability/text-signals.js.map +1 -1
  227. package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
  228. package/dist/src/observability/trace-segmenter.js +4 -2
  229. package/dist/src/observability/trace-segmenter.js.map +1 -1
  230. package/dist/src/observability/trace-source.d.ts.map +1 -1
  231. package/dist/src/observability/trace-source.js +13 -3
  232. package/dist/src/observability/trace-source.js.map +1 -1
  233. package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
  234. package/dist/src/renderer/observation-inbox-renderer.js +5914 -924
  235. package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
  236. package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -1
  237. package/dist/src/renderer/skill-detail-renderer.js +15 -5
  238. package/dist/src/renderer/skill-detail-renderer.js.map +1 -1
  239. package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -1
  240. package/dist/src/renderer/skill-list-renderer.js +10 -3
  241. package/dist/src/renderer/skill-list-renderer.js.map +1 -1
  242. package/dist/src/renderer/test-view.js +2 -2
  243. package/dist/src/renderer/test-view.js.map +1 -1
  244. package/dist/src/server/report-server.d.ts.map +1 -1
  245. package/dist/src/server/report-server.js +95 -2
  246. package/dist/src/server/report-server.js.map +1 -1
  247. package/dist/src/server/skill-index.d.ts +5 -1
  248. package/dist/src/server/skill-index.d.ts.map +1 -1
  249. package/dist/src/server/skill-index.js +72 -26
  250. package/dist/src/server/skill-index.js.map +1 -1
  251. package/dist/src/server/skill-insights.d.ts +10 -1
  252. package/dist/src/server/skill-insights.d.ts.map +1 -1
  253. package/dist/src/server/skill-insights.js +113 -1
  254. package/dist/src/server/skill-insights.js.map +1 -1
  255. package/dist/src/shared/hard-rules.d.ts +2 -0
  256. package/dist/src/shared/hard-rules.d.ts.map +1 -1
  257. package/dist/src/shared/hard-rules.js +42 -0
  258. package/dist/src/shared/hard-rules.js.map +1 -1
  259. package/dist/src/shared/llm-prompts/index.d.ts +14 -0
  260. package/dist/src/shared/llm-prompts/index.d.ts.map +1 -0
  261. package/dist/src/shared/llm-prompts/index.js +35 -0
  262. package/dist/src/shared/llm-prompts/index.js.map +1 -0
  263. package/dist/src/shared/llm-prompts/skill-health.d.ts +22 -0
  264. package/dist/src/shared/llm-prompts/skill-health.d.ts.map +1 -0
  265. package/dist/src/shared/llm-prompts/skill-health.js +170 -0
  266. package/dist/src/shared/llm-prompts/skill-health.js.map +1 -0
  267. package/dist/src/types/doctor.d.ts +2 -0
  268. package/dist/src/types/doctor.d.ts.map +1 -1
  269. package/dist/src/types/eval.d.ts +6 -1
  270. package/dist/src/types/eval.d.ts.map +1 -1
  271. package/dist/src/types/report.d.ts +6 -0
  272. package/dist/src/types/report.d.ts.map +1 -1
  273. package/docs/prompts/llm-enhanced-review.prompt.md +111 -0
  274. package/package.json +29 -4
  275. package/dist/src/cli/cli-exit.d.ts +0 -15
  276. package/dist/src/cli/cli-exit.d.ts.map +0 -1
  277. package/dist/src/cli/cli-exit.js +0 -19
  278. package/dist/src/cli/cli-exit.js.map +0 -1
  279. package/dist/src/cli/commands/_shared.d.ts.map +0 -1
  280. package/dist/src/cli/commands/_shared.js.map +0 -1
  281. package/dist/src/cli/commands/eval-gold.d.ts +0 -2
  282. package/dist/src/cli/commands/eval-gold.d.ts.map +0 -1
  283. package/dist/src/cli/commands/eval-gold.js +0 -137
  284. package/dist/src/cli/commands/eval-gold.js.map +0 -1
  285. package/dist/src/cli/commands/eval-runner.d.ts +0 -2
  286. package/dist/src/cli/commands/eval-runner.d.ts.map +0 -1
  287. package/dist/src/cli/commands/eval-runner.js.map +0 -1
  288. package/dist/src/cli/commands/eval.d.ts +0 -2
  289. package/dist/src/cli/commands/eval.d.ts.map +0 -1
  290. package/dist/src/cli/commands/eval.js +0 -11
  291. package/dist/src/cli/commands/eval.js.map +0 -1
  292. package/dist/src/cli/commands/observe.d.ts +0 -2
  293. package/dist/src/cli/commands/observe.d.ts.map +0 -1
  294. package/dist/src/cli/commands/observe.js +0 -247
  295. package/dist/src/cli/commands/observe.js.map +0 -1
  296. package/dist/src/cli/commands/registry.d.ts +0 -11
  297. package/dist/src/cli/commands/registry.d.ts.map +0 -1
  298. package/dist/src/cli/commands/registry.js +0 -32
  299. package/dist/src/cli/commands/registry.js.map +0 -1
  300. package/dist/src/cli/i18n-dict.d.ts.map +0 -1
  301. package/dist/src/cli/i18n-dict.js.map +0 -1
  302. package/dist/src/cli/i18n.d.ts.map +0 -1
  303. package/dist/src/cli/i18n.js.map +0 -1
  304. package/dist/src/cli/parse-run-config.d.ts.map +0 -1
  305. package/dist/src/cli/parse-run-config.js.map +0 -1
  306. package/dist/src/cli/parse-strict.d.ts +0 -7
  307. package/dist/src/cli/parse-strict.d.ts.map +0 -1
  308. package/dist/src/cli/parse-strict.js +0 -26
  309. package/dist/src/cli/parse-strict.js.map +0 -1
  310. package/dist/src/cli/progress.d.ts.map +0 -1
  311. package/dist/src/cli/progress.js.map +0 -1
  312. package/dist/src/cli/run-tally.d.ts.map +0 -1
  313. package/dist/src/cli/run-tally.js.map +0 -1
  314. package/dist/src/cli/update-check.d.ts.map +0 -1
  315. package/dist/src/cli/update-check.js.map +0 -1
  316. /package/dist/src/cli/{progress.d.ts → lib/progress.d.ts} +0 -0
  317. /package/dist/src/cli/{progress.js → lib/progress.js} +0 -0
  318. /package/dist/src/cli/{run-tally.js → lib/run-tally.js} +0 -0
  319. /package/dist/src/cli/{update-check.d.ts → lib/update-check.d.ts} +0 -0
  320. /package/dist/src/cli/{update-check.js → lib/update-check.js} +0 -0
@@ -339,9 +339,13 @@ export const CLI_DICT = {
339
339
  en: '\n=== Improve skill: {path} ===\n',
340
340
  },
341
341
  'cli.evolve.round_baseline': {
342
- zh: '第 0 轮 (基线): score={score} ({cost})\n',
342
+ zh: '第 0 轮(基线):score={score}({cost})\n',
343
343
  en: 'Round 0 (baseline): score={score} ({cost})\n',
344
344
  },
345
+ 'cli.evolve.round_baseline_reused': {
346
+ zh: '第 0 轮(基线):score={score}(复用最新 eval 报告)\n',
347
+ en: 'Round 0 (baseline): score={score} (reused latest eval report)\n',
348
+ },
345
349
  'cli.evolve.round_error': {
346
350
  zh: '第 {round} 轮: ✗ 改进生成失败: {error}\n',
347
351
  en: 'Round {round}: ✗ improvement generation failed: {error}\n',
@@ -366,190 +370,6 @@ export const CLI_DICT = {
366
370
  zh: '📊 查看报告:omk studio(报告 ID:{id})\n',
367
371
  en: '📊 View report: omk studio (report id: {id})\n',
368
372
  },
369
- 'cli.help.product_main': {
370
- zh: `
371
- oh-my-knowledge——知识载体工作台
372
-
373
- 用法:
374
- omk init [dir] 初始化一个 skill 评测项目
375
- omk doctor [path] LLM 健康度审计(7 内置维度 + 可扩展);--static-only 切离线静态模式
376
- omk eval [options] 离线评测:比较版本,输出 verdict + report
377
- omk observe <sessions-dir> 线上观测:真实 session、gap、失败率、inbox
378
- omk evolve <skill> 多轮自动迭代改进 skill
379
- omk sample <skill> 生成或补齐 eval-samples 评测用例(或 --batch 批量模式)
380
- omk studio 打开本地工作台浏览报告
381
-
382
- 主路径:
383
- omk doctor
384
- omk eval --control code-review-v1 --treatment code-review-v2
385
- omk observe ~/.claude/projects/<project>
386
- omk evolve skills/code-review-v2/SKILL.md
387
- omk studio
388
-
389
- 通用选项:
390
- --lang <zh|en> CLI 输出语言(默认:zh,也可设 OMK_LANG)
391
-
392
- 运行 'omk <command> --help' 查看单个命令的参数。
393
- `,
394
- en: `
395
- oh-my-knowledge — Knowledge Artifact Workbench
396
-
397
- Usage:
398
- omk init [dir] Scaffold a skill evaluation project
399
- omk doctor [path] LLM health audit (7 builtin dimensions, extensible); --static-only for offline static checks
400
- omk eval [options] Offline evaluation: compare versions, emit verdict + report
401
- omk observe <sessions-dir> Production observation: sessions, gaps, failure rate, inbox
402
- omk evolve <skill> Auto-iterate a skill through multi-round eval loops
403
- omk sample <skill> Generate or fill eval-samples test cases (or --batch for all skills)
404
- omk studio Open the local workbench to browse reports
405
-
406
- Main workflow:
407
- omk doctor
408
- omk eval --control code-review-v1 --treatment code-review-v2
409
- omk observe ~/.claude/projects/<project>
410
- omk evolve skills/code-review-v2/SKILL.md
411
- omk studio
412
-
413
- Common options:
414
- --lang <zh|en> CLI output language (default: zh, or set OMK_LANG)
415
-
416
- Run 'omk <command> --help' for command-specific options.
417
- `,
418
- },
419
- 'cli.help.init_usage': {
420
- zh: `
421
- omk init——初始化 skill 评测项目
422
-
423
- 用法:
424
- omk init [dir]
425
-
426
- 生成内容:
427
- eval-samples.json 示例评测用例
428
- skills/code-review-v1/SKILL.md 基线 skill
429
- skills/code-review-v2/SKILL.md 实验组 skill
430
-
431
- 下一步:
432
- 1. 编辑 eval-samples.json,替换成你的真实评测用例
433
- 2. 编辑两个 SKILL.md,填入要对比的 skill 版本
434
- 3. 运行 omk eval --control code-review-v1 --treatment code-review-v2
435
- `,
436
- en: `
437
- omk init — scaffold a skill evaluation project
438
-
439
- Usage:
440
- omk init [dir]
441
-
442
- Generated files:
443
- eval-samples.json Example test cases
444
- skills/code-review-v1/SKILL.md Baseline skill
445
- skills/code-review-v2/SKILL.md Treatment skill
446
-
447
- Next steps:
448
- 1. Edit eval-samples.json with your real test cases
449
- 2. Edit both SKILL.md files with the skill versions to compare
450
- 3. Run omk eval --control code-review-v1 --treatment code-review-v2
451
- `,
452
- },
453
- 'cli.help.eval': {
454
- zh: `
455
- omk eval——离线评测 skill 版本,并给出 ship/no-ship verdict
456
-
457
- 用法:
458
- omk eval --control <variant> --treatment <variant> [options]
459
- omk eval gold <init|validate|compare> ...
460
-
461
- 常用选项:
462
- --samples <path> 用例文件(默认:eval-samples.json)
463
- --skill-dir <path> skill 目录(默认:skills)
464
- --control <expr> 对照组 variant
465
- --treatment <v1,v2> 实验组 variant,逗号分隔
466
- --config <path> eval.yaml / JSON 配置
467
- --executor <name> 执行器:claude / claude-sdk / codex / openai / gemini / custom
468
- --model <name> 任务执行模型(默认:opus;想要省钱可改 sonnet / haiku;想钉版本可写 claude-opus-4-7)
469
- --effort <level> 执行模型扩展思考预算 low / medium / high / xhigh / max(默认:low;高 effort 跨报告不可严格比较)
470
- --judge-models <list> 评委配置,例如 claude:haiku 或 claude:opus,openai:gpt-4o
471
- --dry-run 预览任务,不调用模型
472
- --batch 批量评测:每个 skill 独立 vs baseline
473
- --bootstrap 显式开启 bootstrap CI;omk eval 默认会自动开启
474
- --bootstrap-samples <n> bootstrap 重采样次数(默认:1000)
475
- --threshold <number> 三层 gate 阈值(默认:3.5)
476
- --trivial-diff <number> 实际可忽略 diff(默认:0.1)
477
- --report-only / --no-gate 生成报告并打印 verdict,但始终 exit 0
478
- --no-serve 评测后不自动启动报告 server
479
- --no-judge 关闭 judge 主观评分(仍跑断言;layered 评分可能塌缩到事实/行为层)
480
- --no-diagnostic 关闭 diagnostic 诊断 LLM 调用(默认开启,给 failed sample 出"哪错了 + 怎么改"建议)
481
- --skip-doctor escape hatch:跳过 doctor 健康检查门禁(默认强制启用)。评测环境用 mock/stub 提供依赖时绕开 doctor 物理路径误报;garbage-in 风险由调用方承担
482
-
483
- 示例:
484
- omk eval --control baseline --treatment my-skill # 单 skill 必要性测试(baseline 是保留 variant 名,代表「不注入 skill 的裸基线」)
485
- omk eval --control code-review-v1 --treatment code-review-v2 # 多版本 A/B
486
- omk eval --config eval.yaml
487
- omk eval gold compare v1-vs-v2-20260505-1200 --gold-dir gold-dataset
488
- `,
489
- en: `
490
- omk eval — run offline skill evaluation and emit a ship/no-ship verdict
491
-
492
- Usage:
493
- omk eval --control <variant> --treatment <variant> [options]
494
- omk eval gold <init|validate|compare> ...
495
-
496
- Common options:
497
- --samples <path> Sample file (default: eval-samples.json)
498
- --skill-dir <path> Skill directory (default: skills)
499
- --control <expr> Control variant
500
- --treatment <v1,v2> Treatment variants, comma-separated
501
- --config <path> eval.yaml / JSON config
502
- --executor <name> Executor: claude / claude-sdk / codex / openai / gemini / custom
503
- --model <name> Task execution model (default: opus; pass --model sonnet/haiku to save cost, or claude-opus-4-7 to pin)
504
- --effort <level> Reasoning effort for executor LLM: low / medium / high / xhigh / max (default: low; reports across efforts not strictly comparable)
505
- --judge-models <list> Judge config, e.g. claude:haiku or claude:opus,openai:gpt-4o
506
- --dry-run Preview tasks without model calls
507
- --batch Batch evaluation: each skill independently against baseline
508
- --bootstrap Enable bootstrap CI explicitly; omk eval turns it on by default
509
- --bootstrap-samples <n> Bootstrap resamples (default: 1000)
510
- --threshold <number> Three-layer gate threshold (default: 3.5)
511
- --trivial-diff <number> Practically negligible diff (default: 0.1)
512
- --report-only / --no-gate Produce the report and print verdict, but always exit 0
513
- --no-serve Do not auto-start report server after evaluation
514
- --no-judge Disable judge subjective scoring (assertions still run; layered scoring may collapse to fact/behavior layers)
515
- --no-diagnostic Disable diagnostic LLM call (on by default; emits "what went wrong + how to fix" advice for failed samples)
516
- --skip-doctor Escape hatch: bypass the doctor health check gate (default on). Useful when the eval environment supplies dependencies via mocks/stubs and doctor's physical-path checks misfire; caller owns garbage-in risk
517
-
518
- Examples:
519
- omk eval --control baseline --treatment my-skill # Single-skill necessity test (baseline is a reserved variant — "no skill injected")
520
- omk eval --control code-review-v1 --treatment code-review-v2 # Multi-variant A/B
521
- omk eval --config eval.yaml
522
- omk eval gold compare v1-vs-v2-20260505-1200 --gold-dir gold-dataset
523
- `,
524
- },
525
- 'cli.help.eval_gold': {
526
- zh: `
527
- omk eval gold——管理 human-gold 标注集
528
-
529
- 用法:
530
- omk eval gold init [--out <dir>] [--annotator <name>]
531
- omk eval gold validate <dir>
532
- omk eval gold compare <reportId> --gold-dir <dir>
533
-
534
- 选项:
535
- --reports-dir <path> 报告目录(compare 使用,默认:~/.oh-my-knowledge/reports)
536
- --variant <name> 指定 report 中要对比的 variant
537
- --bootstrap-samples <n> bootstrap 重采样次数(compare 使用)
538
- `,
539
- en: `
540
- omk eval gold — manage human-gold annotation datasets
541
-
542
- Usage:
543
- omk eval gold init [--out <dir>] [--annotator <name>]
544
- omk eval gold validate <dir>
545
- omk eval gold compare <reportId> --gold-dir <dir>
546
-
547
- Options:
548
- --reports-dir <path> Reports directory for compare (default: ~/.oh-my-knowledge/reports)
549
- --variant <name> Variant in the report to compare
550
- --bootstrap-samples <n> Bootstrap resamples for compare
551
- `,
552
- },
553
373
  'cli.help.observe': {
554
374
  zh: `
555
375
  omk observe——分析真实 session trace,生成 skill 健康度日报
@@ -650,6 +470,10 @@ omk observe inbox — 查看已写入的 observe inbox 问题列表
650
470
  --explore <n> 从最近 50 条 medium/low 问题里抽样查看长尾
651
471
  --include-noise --explore 时显式包含 noise 桶
652
472
  --by-skill 按 skill 输出资产看板
473
+ --llm-enhanced-review 显式调用模型进行链路增强复盘
474
+ --model <name> LLM 增强复盘使用的模型(默认:sonnet)
475
+ --executor <name> LLM 增强复盘使用的执行器
476
+ --refresh 强制重新生成 LLM 增强复盘
653
477
  --json 输出 JSON
654
478
  `,
655
479
  en: `
@@ -665,6 +489,10 @@ Options:
665
489
  --explore <n> Sample long-tail issues from the latest 50 medium/low items
666
490
  --include-noise Explicitly include the noise bucket with --explore
667
491
  --by-skill Print the skill-level asset board
492
+ --llm-enhanced-review Explicitly run model-based enhanced chain review
493
+ --model <name> Model for LLM enhanced review (default: sonnet)
494
+ --executor <name> Executor for LLM enhanced review
495
+ --refresh Force LLM enhanced review refresh
668
496
  --json Print JSON
669
497
  `,
670
498
  },
@@ -686,6 +514,32 @@ Usage:
686
514
 
687
515
  Options:
688
516
  --input-dir <path> Input directory (default: .omk/observations; fallback: ~/.oh-my-knowledge/observations)
517
+ `,
518
+ },
519
+ 'cli.help.skill_extract': {
520
+ zh: `
521
+ omk skill-extract — 确认或否决 skill 软标准候选
522
+
523
+ 用法:
524
+ omk skill-extract <skill> --review <standard-id> [options]
525
+
526
+ 选项:
527
+ --input-dir <path> observe 数据目录(默认:.omk/observations;兜底到 ~/.oh-my-knowledge/observations)
528
+ --status <status> author_confirmed / rejected / pending_review(默认:author_confirmed)
529
+ --reason <text> 记录确认或否决原因
530
+ --json 输出 JSON
531
+ `,
532
+ en: `
533
+ omk skill-extract — confirm or reject skill soft standard candidates
534
+
535
+ Usage:
536
+ omk skill-extract <skill> --review <standard-id> [options]
537
+
538
+ Options:
539
+ --input-dir <path> Observation data directory (default: .omk/observations; fallback: ~/.oh-my-knowledge/observations)
540
+ --status <status> author_confirmed / rejected / pending_review (default: author_confirmed)
541
+ --reason <text> Record the review reason
542
+ --json Print JSON
689
543
  `,
690
544
  },
691
545
  'cli.help.evolve': {
@@ -1026,85 +880,6 @@ Examples:
1026
880
  en: 'samples must contain at least a prompt field. See docs/sample-design-spec.md',
1027
881
  },
1028
882
  // ============ omk doctor CLI level ============
1029
- 'cli.help.doctor_usage': {
1030
- zh: `
1031
- oh-my-knowledge——omk doctor 健康度体检 (LLM-judge)
1032
-
1033
- 用法:
1034
- omk doctor [path] 在 path 上跑深度健康度体检
1035
- omk doctor 在当前目录(或 ./skills)批量跑
1036
-
1037
- 参数:
1038
- path .md 单文件、目录或省略(=cwd)。目录会批量检查所有 skill
1039
-
1040
- 选项:
1041
- --json 把 DoctorReport 打到 stdout(CI 消费用)
1042
- --gate 静默模式: fatal 问题 exit 1; warnings_only 仍 exit 0, 仅 stderr 出摘要
1043
- --executor <name> LLM executor (默认 claude, 可换 anthropic-api/codex 等)
1044
- --model <name> 模型 (默认 sonnet)
1045
- --samples <path> 显式指定评测用例文件
1046
- --timeout <seconds> 单次 LLM 会话超时 (默认 600)
1047
- --html <path> 产出可视化 HTML 报告到 <path> (可与 --json 同时用)
1048
- --static-only 离线模式: 只跑静态检查 (skill 可读性 / 元数据 / 依赖 / samples 契约), 不调 LLM
1049
- --lang <zh|en> 切换输出语言
1050
-
1051
- 示例:
1052
- omk doctor my-skill --html /tmp/report.html # 深度体检 + HTML 报告 (默认)
1053
- omk doctor examples/code-review/skills --json > r.json # JSON 给 CI / 外部工具消费
1054
- omk doctor --gate; echo $? # CI 模式: fatal 问题 exit 1, 警告不阻断
1055
- omk doctor --static-only # 无 LLM 环境 (CI / 断网) 跑纯静态检查
1056
-
1057
- doctor = LLM 健康度体检 (单次 LLM 会话):
1058
- - 7 个内置维度: 触发与边界 / 文档清晰 / 指令精确性 / 依赖检查 / 工具规范 / 安全与合规 / 示例完备
1059
- - 用户可扩展: 在自己代码里 registerHealthDimension(spec) 加自定义维度,
1060
- 会自动加入同一次 LLM 调用的 prompt + 报告 (顺序 = 注册顺序)
1061
- - 每维度独立给 健康/亚健康/不健康/不适用 + findings + 改进建议
1062
- - HTML 报告: 维度按 fail→warn→pass→skipped 排, 错误 finding 排前面
1063
-
1064
- 注: omk eval 内部仍跑静态 skill-readability/metadata/dependency
1065
- gate 保护评测质量, 不走 omk doctor 这条 LLM 路径 (角色分离: doctor=审计, eval=评测)。
1066
- LLM 连通性可用 omk eval --skip-connectivity 跳过 (--resume 时自动)。
1067
- `.trim() + '\n',
1068
- en: `
1069
- oh-my-knowledge — omk doctor health audit (LLM-judge)
1070
-
1071
- Usage:
1072
- omk doctor [path] Run deep LLM-based health audit on path
1073
- omk doctor Batch audit current dir (or ./skills)
1074
-
1075
- Arguments:
1076
- path A .md file, directory, or omit (= cwd). Directory batches all skills.
1077
-
1078
- Options:
1079
- --json Print DoctorReport JSON to stdout (CI-friendly)
1080
- --gate Silent mode: exit 1 only on fatal failure; warnings_only exits 0
1081
- --executor <name> LLM executor (default 'claude'; switchable to anthropic-api/codex etc)
1082
- --model <name> model name (default 'sonnet')
1083
- --samples <path> Explicit eval samples file
1084
- --timeout <seconds> LLM session timeout (default 600)
1085
- --html <path> Also write a visual HTML report to <path> (combines with --json)
1086
- --static-only Offline mode: run only static checks (readability / metadata / deps / samples contract); no LLM call
1087
- --lang <zh|en> Output language
1088
-
1089
- Examples:
1090
- omk doctor my-skill --html /tmp/report.html # deep audit + HTML report (default)
1091
- omk doctor examples/code-review/skills --json > r.json # JSON for CI / external tools
1092
- omk doctor --gate; echo $? # CI mode: fatal failures exit 1; warnings do not block
1093
- omk doctor --static-only # offline (CI / no LLM) static checks only
1094
-
1095
- doctor = LLM health audit (single LLM session):
1096
- - 7 builtin dimensions: trigger & boundary / doc clarity / instruction precision /
1097
- dependency / tool conventions / security & compliance / example completeness
1098
- - User-extensible: call registerHealthDimension(spec) in your code to add custom
1099
- dimensions; they join the same LLM call's prompt + report (order = registration order)
1100
- - Each dim graded healthy / sub-healthy / unhealthy / N-A + findings + suggestions
1101
- - HTML report: dims sorted fail→warn→pass→skipped; errors first within each dim
1102
-
1103
- Note: omk eval still runs static skill-readability/metadata/dependency gates
1104
- internally (separate from this doctor command). Roles: doctor=audit, eval=evaluate.
1105
- LLM connectivity for omk eval can be skipped with --skip-connectivity (auto on --resume).
1106
- `.trim() + '\n',
1107
- },
1108
883
  'cli.doctor.no_skill_found': {
1109
884
  zh: '未在 {path} 下发现 skill 文件。\n doctor 期望 .md 文件、目录(包含 .md 或 SKILL.md)或 cwd 下的 skills/ 子目录。',
1110
885
  en: 'No skills found at {path}.\n doctor expects a .md file, a directory (containing .md or SKILL.md), or skills/ under cwd.',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-dict.js","sourceRoot":"","sources":["../../../../src/cli/lib/i18n-dict.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Lang } from '../types/shared.js';
1
+ import type { Lang } from '../../types/shared.js';
2
2
  import { type CliMessageKey } from './i18n-dict.js';
3
3
  export type CliLang = Lang;
4
4
  /**
@@ -6,11 +6,6 @@ export type CliLang = Lang;
6
6
  * 早期 scan argv,支持 `--lang en` 和 `--lang=en` 两种形式。
7
7
  */
8
8
  export declare function parseLangFromArgv(argv: readonly string[]): string | undefined;
9
- /**
10
- * handler 内一行拿到 lang。handler 收到的 argv 已被 main 切掉前 N 项,
11
- * 但 --lang 选项位置无关, scan 即可。
12
- */
13
- export declare function langFromArgv(argv: readonly string[]): CliLang;
14
9
  /**
15
10
  * 优先级: --lang flag > OMK_LANG env > 默认 zh。
16
11
  * 不识别的值静默退回默认,避免在解析阶段抛错让用户卡住。
@@ -21,4 +16,14 @@ export declare function getCliLang(flagValue?: string): CliLang;
21
16
  * params 用 {name} 占位符做 string 替换。
22
17
  */
23
18
  export declare function tCli(key: CliMessageKey, lang?: CliLang, params?: Record<string, string | number>): string;
19
+ /**
20
+ * 一次拿到 i18n key 的 zh / en 两个串。oclif Command 的 static
21
+ * description / examples 是模块加载期 evaluate 的字面量,跑不到 tCli 的 runtime
22
+ * lang dispatch。tBoth 返回 {zh, en} 结构,配合 oclif/i18n.ts 的 bilingual()
23
+ * 拼成带 sentinel 的串,LangAwareHelp 渲染时按 lang 切。
24
+ */
25
+ export declare function tBoth(key: CliMessageKey, params?: Record<string, string | number>): {
26
+ zh: string;
27
+ en: string;
28
+ };
24
29
  //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC;AAK3B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAO7E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAClB,GAAG,EAAE,aAAa,EAClB,IAAI,GAAE,OAAsB,EAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAK5B"}
@@ -15,13 +15,6 @@ export function parseLangFromArgv(argv) {
15
15
  }
16
16
  return undefined;
17
17
  }
18
- /**
19
- * handler 内一行拿到 lang。handler 收到的 argv 已被 main 切掉前 N 项,
20
- * 但 --lang 选项位置无关, scan 即可。
21
- */
22
- export function langFromArgv(argv) {
23
- return getCliLang(parseLangFromArgv(argv));
24
- }
25
18
  /**
26
19
  * 优先级: --lang flag > OMK_LANG env > 默认 zh。
27
20
  * 不识别的值静默退回默认,避免在解析阶段抛错让用户卡住。
@@ -50,4 +43,16 @@ export function tCli(key, lang = DEFAULT_LANG, params) {
50
43
  }
51
44
  return text;
52
45
  }
46
+ /**
47
+ * 一次拿到 i18n key 的 zh / en 两个串。oclif Command 的 static
48
+ * description / examples 是模块加载期 evaluate 的字面量,跑不到 tCli 的 runtime
49
+ * lang dispatch。tBoth 返回 {zh, en} 结构,配合 oclif/i18n.ts 的 bilingual()
50
+ * 拼成带 sentinel 的串,LangAwareHelp 渲染时按 lang 切。
51
+ */
52
+ export function tBoth(key, params) {
53
+ return {
54
+ zh: tCli(key, 'zh', params),
55
+ en: tCli(key, 'en', params),
56
+ };
57
+ }
53
58
  //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../src/cli/lib/i18n.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAC;AAI9D,MAAM,YAAY,GAAY,IAAI,CAAC;AACnC,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAkB;IAC3C,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,CAAY,CAAC;IACjD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAClB,GAAkB,EAClB,OAAgB,YAAY,EAC5B,MAAwC;IAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;IACrD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CACnB,GAAkB,EAClB,MAAwC;IAExC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC;QAC3B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC;KAC5B,CAAC;AACJ,CAAC"}
@@ -1,5 +1,4 @@
1
- import { type ParseArgsConfig } from 'node:util';
2
- import type { EvalConfig, VariantSpec, JudgeConfig, EvalBudget, ProgressCallback } from '../types/index.js';
1
+ import type { EvalConfig, VariantSpec, JudgeConfig, EvalBudget, ProgressCallback } from '../../types/index.js';
3
2
  export interface RunConfig {
4
3
  samplesPath: string;
5
4
  skillDir: string;
@@ -82,9 +81,9 @@ export declare function parseJudgeModelsArg(raw: string): JudgeConfig[];
82
81
  */
83
82
  export declare function parseJudgeModelsArgOrExit(raw: string): JudgeConfig[];
84
83
  /**
85
- * 所有子命令都接受的通用 flag。
84
+ * 接 typed flags(来自 oclif Command.parse() 输出)。oclif strict 模式已经在
85
+ * 上游对未知 flag 拦截 exit 2,这里不再 parseArgs。eval-runner 等业务 caller
86
+ * 把 oclif flags 当 values 喂进来。
86
87
  */
87
- export declare const COMMON_OPTIONS: ParseArgsConfig['options'];
88
- export declare const RUN_OPTIONS: ParseArgsConfig['options'];
89
- export declare function parseRunConfig(argv: string[], extraOptions?: ParseArgsConfig['options']): ParseRunConfigResult;
88
+ export declare function parseRunConfig(values: Record<string, unknown>): ParseRunConfigResult;
90
89
  //# sourceMappingURL=parse-run-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-run-config.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/parse-run-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,8CAA8C;IAC9C,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC;;;iDAG6C;IAC7C,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,6BAA6B;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;yFACqF;IACrF,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;mEAC+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;8DAC0D;IAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD;;;kEAG8D;IAC9D,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACrD;sDACkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACrD,MAAM,EAAE,SAAS,CAAC;IAClB;;+GAE2G;IAC3G,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAuD,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAsB9D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAQpE;AA+BD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,oBAAoB,CA8KtB"}
@@ -1,11 +1,10 @@
1
1
  import { resolve, join } from 'node:path';
2
2
  import { homedir } from 'node:os';
3
3
  import { existsSync } from 'node:fs';
4
- import { discoverVariants, parseVariantCwd } from '../inputs/skill-loader.js';
4
+ import { discoverVariants, parseVariantCwd } from '../../inputs/skill-loader.js';
5
5
  import { CliExit } from './cli-exit.js';
6
- import { parseArgsStrictOrExit } from './parse-strict.js';
7
- import { loadEvalConfig, configVariantsToSpecs } from '../inputs/eval-config.js';
8
- import { DEFAULT_MODEL } from '../executors/shared.js';
6
+ import { loadEvalConfig, configVariantsToSpecs } from '../../inputs/eval-config.js';
7
+ import { DEFAULT_MODEL } from '../../executors/shared.js';
9
8
  export const DEFAULT_REPORTS_DIR = join(homedir(), '.oh-my-knowledge', 'reports');
10
9
  /**
11
10
  * 解析 `--judge-models` CLI 参数:`executor:model[,executor:model,...]`。
@@ -54,54 +53,6 @@ export function parseJudgeModelsArgOrExit(raw) {
54
53
  throw new CliExit(2);
55
54
  }
56
55
  }
57
- /**
58
- * 所有子命令都接受的通用 flag。
59
- */
60
- export const COMMON_OPTIONS = {
61
- lang: { type: 'string' },
62
- };
63
- // Shared CLI options for run/ci commands.
64
- // Defaults are applied inside parseRunConfig (after config-file merge) so that
65
- // CLI `undefined` can be reliably distinguished from "user passed the default value".
66
- // Priority order resolved in parseRunConfig: CLI arg > --config file > hard-coded default.
67
- export const RUN_OPTIONS = {
68
- ...COMMON_OPTIONS,
69
- samples: { type: 'string' },
70
- 'skill-dir': { type: 'string' },
71
- control: { type: 'string' },
72
- treatment: { type: 'string' },
73
- config: { type: 'string' },
74
- model: { type: 'string' },
75
- 'judge-models': { type: 'string' },
76
- 'output-dir': { type: 'string' },
77
- 'no-judge': { type: 'boolean' },
78
- 'no-cache': { type: 'boolean' },
79
- 'dry-run': { type: 'boolean' },
80
- concurrency: { type: 'string' },
81
- timeout: { type: 'string' },
82
- executor: { type: 'string' },
83
- batch: { type: 'boolean' },
84
- 'skip-connectivity': { type: 'boolean' },
85
- 'skip-doctor': { type: 'boolean' },
86
- 'mcp-config': { type: 'string' },
87
- 'no-serve': { type: 'boolean' },
88
- verbose: { type: 'boolean' },
89
- retry: { type: 'string' },
90
- resume: { type: 'string' },
91
- 'layered-stats': { type: 'boolean' },
92
- // strict-baseline default true. Declare both forms; reconcile in
93
- // parseRunConfig (后者赢)。strict-baseline 没传 + no-strict-baseline 没传 = default true。
94
- 'strict-baseline': { type: 'boolean' },
95
- 'no-strict-baseline': { type: 'boolean' },
96
- // effort:被评测 LLM 的扩展思考预算(low/medium/high/xhigh/max)。
97
- // 默认 low — 关 thinking 大幅省时间/成本。改 high 时同 prompt 同 model 输出会变,
98
- // 跨 effort 报告不可严格比较(renderer 在 meta-tag 显示并打提示)。
99
- effort: { type: 'string' },
100
- // 诊断:对 failed sample 跑一次 LLM,产出"哪错了 + skill 怎么改"的针对性建议。
101
- // 跟 --no-judge 完全独立 — 想要纯功能性视角(assertion + diagnostic 但无评分)
102
- // 用 `--no-judge`;想要不跑诊断只跑评测 + judge 用 `--no-diagnostic`。
103
- 'no-diagnostic': { type: 'boolean' },
104
- };
105
56
  /**
106
57
  * When --samples isn't given, try to discover from `<skillDir>/<treatment>/.omk/`.
107
58
  * `loadSamples` handles dir mode internally — globs `*.{json,yaml,yml}` and merges,
@@ -133,13 +84,12 @@ function discoverSamplesPath(values, skillDir) {
133
84
  }
134
85
  return cwdFile;
135
86
  }
136
- export function parseRunConfig(argv, extraOptions = {}) {
137
- // strict 模式: 未知 option 报错 + exit 2(已删 / 改名 flag 自然 fail,
138
- // 不维护 deprecation list)。详见 src/cli/parse-strict.ts。
139
- const { values } = parseArgsStrictOrExit({
140
- args: argv,
141
- options: { ...RUN_OPTIONS, ...extraOptions },
142
- });
87
+ /**
88
+ * 接 typed flags(来自 oclif Command.parse() 输出)。oclif strict 模式已经在
89
+ * 上游对未知 flag 拦截 exit 2,这里不再 parseArgs。eval-runner 等业务 caller
90
+ * 把 oclif flags 当 values 喂进来。
91
+ */
92
+ export function parseRunConfig(values) {
143
93
  if (values.variants !== undefined) {
144
94
  throw new Error(`--variants 已在 v0.16 废除,请改用 --control <expr> 与 --treatment <v1,v2,...>\n`
145
95
  + ` 迁移示例:--variants baseline,my-skill → --control baseline --treatment my-skill\n`
@@ -207,7 +157,7 @@ export function parseRunConfig(argv, extraOptions = {}) {
207
157
  // 4) Apply CLI > config > hard-coded default for all other fields.
208
158
  const executorName = values.executor ?? evalConfig?.executor ?? 'claude';
209
159
  // model fallback 链:CLI > eval.yaml > DEFAULT_MODEL(opus 4.7)。
210
- // 改 default 时同步更新 cli.help.eval 文案("默认:claude-opus-4-7")。
160
+ // 改 default 时同步 src/cli/commands/eval.ts 里 --model flag description 的默认值文案。
211
161
  const model = values.model ?? evalConfig?.model ?? DEFAULT_MODEL;
212
162
  // judgeModels: unified judge config. Parse --judge-models (CLI) or evalConfig.judgeModels (yaml).
213
163
  // 1 entry = single judge, ≥ 2 entries = ensemble. Format `executor:model[,executor:model]`.
@@ -267,7 +217,7 @@ export function parseRunConfig(argv, extraOptions = {}) {
267
217
  const effort = effortRaw;
268
218
  const noDiagnostic = values['no-diagnostic'] ?? evalConfig?.noDiagnostic ?? false;
269
219
  return {
270
- values,
220
+ values: values,
271
221
  config: {
272
222
  samplesPath: resolve(samplesFile),
273
223
  skillDir,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-run-config.js","sourceRoot":"","sources":["../../../../src/cli/lib/parse-run-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAuE1E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../src/cli/lib/progress.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ReportDocument } from '../types/report.js';
1
+ import type { ReportDocument } from '../../types/report.js';
2
2
  /**
3
3
  * Sum (sample × variant) trial outcomes across an evaluation report. Each
4
4
  * sample is run against every variant, so a 10-sample × 2-variant run has
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-tally.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/run-tally.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAe1F"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-tally.js","sourceRoot":"","sources":["../../../../src/cli/lib/run-tally.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,CAAC,SAAyC,EAAQ,EAAE;QACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC;YACzB,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}