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.
- package/README.md +198 -26
- package/README.zh.md +198 -26
- package/dist/src/authoring/evolver.d.ts +26 -2
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +410 -49
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/authoring/generator.d.ts +5 -2
- package/dist/src/authoring/generator.d.ts.map +1 -1
- package/dist/src/authoring/generator.js +22 -6
- package/dist/src/authoring/generator.js.map +1 -1
- package/dist/src/authoring/sample-fixer.d.ts +10 -4
- package/dist/src/authoring/sample-fixer.d.ts.map +1 -1
- package/dist/src/authoring/sample-fixer.js +153 -126
- package/dist/src/authoring/sample-fixer.js.map +1 -1
- package/dist/src/cli/commands/doctor.d.ts +25 -1
- package/dist/src/cli/commands/doctor.d.ts.map +1 -1
- package/dist/src/cli/commands/doctor.js +233 -124
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/eval/gold/compare.d.ts +17 -0
- package/dist/src/cli/commands/eval/gold/compare.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/compare.js +91 -0
- package/dist/src/cli/commands/eval/gold/compare.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts +9 -0
- package/dist/src/cli/commands/eval/gold/index.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/index.js +34 -0
- package/dist/src/cli/commands/eval/gold/index.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts +11 -0
- package/dist/src/cli/commands/eval/gold/init.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/init.js +51 -0
- package/dist/src/cli/commands/eval/gold/init.js.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts +12 -0
- package/dist/src/cli/commands/eval/gold/validate.d.ts.map +1 -0
- package/dist/src/cli/commands/eval/gold/validate.js +46 -0
- package/dist/src/cli/commands/eval/gold/validate.js.map +1 -0
- package/dist/src/cli/commands/eval/index.d.ts +54 -0
- package/dist/src/cli/commands/eval/index.d.ts.map +1 -0
- package/dist/src/cli/commands/{eval-runner.js → eval/index.js} +216 -50
- package/dist/src/cli/commands/eval/index.js.map +1 -0
- package/dist/src/cli/commands/evolve.d.ts +36 -1
- package/dist/src/cli/commands/evolve.d.ts.map +1 -1
- package/dist/src/cli/commands/evolve.js +191 -47
- package/dist/src/cli/commands/evolve.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +15 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +70 -28
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/observe/inbox.d.ts +23 -0
- package/dist/src/cli/commands/observe/inbox.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/inbox.js +258 -0
- package/dist/src/cli/commands/observe/inbox.js.map +1 -0
- package/dist/src/cli/commands/observe/index.d.ts +22 -0
- package/dist/src/cli/commands/observe/index.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/index.js +118 -0
- package/dist/src/cli/commands/observe/index.js.map +1 -0
- package/dist/src/cli/commands/observe/ingest.d.ts +13 -0
- package/dist/src/cli/commands/observe/ingest.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/ingest.js +69 -0
- package/dist/src/cli/commands/observe/ingest.js.map +1 -0
- package/dist/src/cli/commands/observe/show.d.ts +13 -0
- package/dist/src/cli/commands/observe/show.d.ts.map +1 -0
- package/dist/src/cli/commands/observe/show.js +49 -0
- package/dist/src/cli/commands/observe/show.js.map +1 -0
- package/dist/src/cli/commands/sample.d.ts +28 -5
- package/dist/src/cli/commands/sample.d.ts.map +1 -1
- package/dist/src/cli/commands/sample.js +242 -169
- package/dist/src/cli/commands/sample.js.map +1 -1
- package/dist/src/cli/commands/skill-extract.d.ts +20 -0
- package/dist/src/cli/commands/skill-extract.d.ts.map +1 -0
- package/dist/src/cli/commands/skill-extract.js +84 -0
- package/dist/src/cli/commands/skill-extract.js.map +1 -0
- package/dist/src/cli/commands/studio.d.ts +22 -1
- package/dist/src/cli/commands/studio.d.ts.map +1 -1
- package/dist/src/cli/commands/studio.js +111 -37
- package/dist/src/cli/commands/studio.js.map +1 -1
- package/dist/src/cli/index.js +15 -47
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/lib/cli-exit.d.ts +16 -0
- package/dist/src/cli/lib/cli-exit.d.ts.map +1 -0
- package/dist/src/cli/lib/cli-exit.js +20 -0
- package/dist/src/cli/lib/cli-exit.js.map +1 -0
- package/dist/src/cli/lib/cmd-flags.d.ts +236 -0
- package/dist/src/cli/lib/cmd-flags.d.ts.map +1 -0
- package/dist/src/cli/lib/cmd-flags.js +46 -0
- package/dist/src/cli/lib/cmd-flags.js.map +1 -0
- package/dist/src/cli/{i18n-dict.d.ts → lib/i18n-dict.d.ts} +1 -1
- package/dist/src/cli/lib/i18n-dict.d.ts.map +1 -0
- package/dist/src/cli/{i18n-dict.js → lib/i18n-dict.js} +39 -264
- package/dist/src/cli/lib/i18n-dict.js.map +1 -0
- package/dist/src/cli/{i18n.d.ts → lib/i18n.d.ts} +11 -6
- package/dist/src/cli/lib/i18n.d.ts.map +1 -0
- package/dist/src/cli/{i18n.js → lib/i18n.js} +12 -7
- package/dist/src/cli/lib/i18n.js.map +1 -0
- package/dist/src/cli/{parse-run-config.d.ts → lib/parse-run-config.d.ts} +5 -6
- package/dist/src/cli/lib/parse-run-config.d.ts.map +1 -0
- package/dist/src/cli/{parse-run-config.js → lib/parse-run-config.js} +11 -61
- package/dist/src/cli/lib/parse-run-config.js.map +1 -0
- package/dist/src/cli/lib/progress.d.ts.map +1 -0
- package/dist/src/cli/lib/progress.js.map +1 -0
- package/dist/src/cli/{run-tally.d.ts → lib/run-tally.d.ts} +1 -1
- package/dist/src/cli/lib/run-tally.d.ts.map +1 -0
- package/dist/src/cli/lib/run-tally.js.map +1 -0
- package/dist/src/cli/{commands/_shared.d.ts → lib/shared.d.ts} +2 -2
- package/dist/src/cli/lib/shared.d.ts.map +1 -0
- package/dist/src/cli/{commands/_shared.js → lib/shared.js} +3 -3
- package/dist/src/cli/lib/shared.js.map +1 -0
- package/dist/src/cli/lib/update-check.d.ts.map +1 -0
- package/dist/src/cli/lib/update-check.js.map +1 -0
- package/dist/src/cli/oclif/base-command.d.ts +8 -0
- package/dist/src/cli/oclif/base-command.d.ts.map +1 -0
- package/dist/src/cli/oclif/base-command.js +27 -0
- package/dist/src/cli/oclif/base-command.js.map +1 -0
- package/dist/src/cli/oclif/help.d.ts +16 -0
- package/dist/src/cli/oclif/help.d.ts.map +1 -0
- package/dist/src/cli/oclif/help.js +33 -0
- package/dist/src/cli/oclif/help.js.map +1 -0
- package/dist/src/cli/oclif/i18n.d.ts +16 -0
- package/dist/src/cli/oclif/i18n.d.ts.map +1 -0
- package/dist/src/cli/oclif/i18n.js +62 -0
- package/dist/src/cli/oclif/i18n.js.map +1 -0
- package/dist/src/cli/oclif/parsers.d.ts +10 -0
- package/dist/src/cli/oclif/parsers.d.ts.map +1 -0
- package/dist/src/cli/oclif/parsers.js +102 -0
- package/dist/src/cli/oclif/parsers.js.map +1 -0
- package/dist/src/cli/oclif/projection.d.ts +23 -0
- package/dist/src/cli/oclif/projection.d.ts.map +1 -0
- package/dist/src/cli/oclif/projection.js +52 -0
- package/dist/src/cli/oclif/projection.js.map +1 -0
- package/dist/src/cli/oclif/run.d.ts +2 -0
- package/dist/src/cli/oclif/run.d.ts.map +1 -0
- package/dist/src/cli/oclif/run.js +11 -0
- package/dist/src/cli/oclif/run.js.map +1 -0
- package/dist/src/diagnosis/observe-mapper.d.ts +68 -0
- package/dist/src/diagnosis/observe-mapper.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-mapper.js +276 -0
- package/dist/src/diagnosis/observe-mapper.js.map +1 -0
- package/dist/src/diagnosis/observe-producer.d.ts +9 -0
- package/dist/src/diagnosis/observe-producer.d.ts.map +1 -0
- package/dist/src/diagnosis/observe-producer.js +197 -0
- package/dist/src/diagnosis/observe-producer.js.map +1 -0
- package/dist/src/diagnosis/studio-projection.d.ts +14 -0
- package/dist/src/diagnosis/studio-projection.d.ts.map +1 -0
- package/dist/src/diagnosis/studio-projection.js +84 -0
- package/dist/src/diagnosis/studio-projection.js.map +1 -0
- package/dist/src/diagnosis/types.d.ts +79 -0
- package/dist/src/diagnosis/types.d.ts.map +1 -0
- package/dist/src/diagnosis/types.js +20 -0
- package/dist/src/diagnosis/types.js.map +1 -0
- package/dist/src/doctor/fixer.d.ts +12 -0
- package/dist/src/doctor/fixer.d.ts.map +1 -0
- package/dist/src/doctor/fixer.js +326 -0
- package/dist/src/doctor/fixer.js.map +1 -0
- package/dist/src/doctor/health/composer.js +7 -4
- package/dist/src/doctor/health/composer.js.map +1 -1
- package/dist/src/doctor/health/parser.d.ts +0 -1
- package/dist/src/doctor/health/parser.d.ts.map +1 -1
- package/dist/src/doctor/health/parser.js +37 -0
- package/dist/src/doctor/health/parser.js.map +1 -1
- package/dist/src/doctor/health/prompt-builder.d.ts +2 -21
- package/dist/src/doctor/health/prompt-builder.d.ts.map +1 -1
- package/dist/src/doctor/health/prompt-builder.js +1 -169
- package/dist/src/doctor/health/prompt-builder.js.map +1 -1
- package/dist/src/doctor/html-renderer.d.ts +1 -1
- package/dist/src/doctor/html-renderer.d.ts.map +1 -1
- package/dist/src/doctor/html-renderer.js +2 -2
- package/dist/src/doctor/html-renderer.js.map +1 -1
- package/dist/src/doctor/index.d.ts.map +1 -1
- package/dist/src/doctor/index.js +1 -0
- package/dist/src/doctor/index.js.map +1 -1
- package/dist/src/doctor/renderer.d.ts +1 -1
- package/dist/src/doctor/renderer.d.ts.map +1 -1
- package/dist/src/doctor/renderer.js +2 -2
- package/dist/src/doctor/renderer.js.map +1 -1
- package/dist/src/doctor/rules.js +1 -1
- package/dist/src/doctor/rules.js.map +1 -1
- package/dist/src/eval-core/mock-hook.cjs +13 -1
- package/dist/src/eval-core/mocks-runtime.d.ts +7 -3
- package/dist/src/eval-core/mocks-runtime.d.ts.map +1 -1
- package/dist/src/eval-core/mocks-runtime.js +240 -4
- package/dist/src/eval-core/mocks-runtime.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +1 -1
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +6 -4
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/observability/experience.d.ts +184 -3
- package/dist/src/observability/experience.d.ts.map +1 -1
- package/dist/src/observability/experience.js +1208 -41
- package/dist/src/observability/experience.js.map +1 -1
- package/dist/src/observability/inbox-view-model.d.ts +3 -0
- package/dist/src/observability/inbox-view-model.d.ts.map +1 -1
- package/dist/src/observability/inbox-view-model.js +9 -0
- package/dist/src/observability/inbox-view-model.js.map +1 -1
- package/dist/src/observability/inbox.d.ts +2 -0
- package/dist/src/observability/inbox.d.ts.map +1 -1
- package/dist/src/observability/inbox.js +16 -2
- package/dist/src/observability/inbox.js.map +1 -1
- package/dist/src/observability/problem-patterns.d.ts +1 -0
- package/dist/src/observability/problem-patterns.d.ts.map +1 -1
- package/dist/src/observability/problem-patterns.js +8 -8
- package/dist/src/observability/problem-patterns.js.map +1 -1
- package/dist/src/observability/resolved-review.d.ts +25 -0
- package/dist/src/observability/resolved-review.d.ts.map +1 -0
- package/dist/src/observability/resolved-review.js +231 -0
- package/dist/src/observability/resolved-review.js.map +1 -0
- package/dist/src/observability/review-state.d.ts +9 -2
- package/dist/src/observability/review-state.d.ts.map +1 -1
- package/dist/src/observability/review-state.js +40 -2
- package/dist/src/observability/review-state.js.map +1 -1
- package/dist/src/observability/skill-chain-advisories.js +4 -4
- package/dist/src/observability/skill-chain-advisories.js.map +1 -1
- package/dist/src/observability/skill-chain.d.ts +1 -0
- package/dist/src/observability/skill-chain.d.ts.map +1 -1
- package/dist/src/observability/skill-chain.js +72 -35
- package/dist/src/observability/skill-chain.js.map +1 -1
- package/dist/src/observability/soft-standards.d.ts +130 -0
- package/dist/src/observability/soft-standards.d.ts.map +1 -0
- package/dist/src/observability/soft-standards.js +426 -0
- package/dist/src/observability/soft-standards.js.map +1 -0
- package/dist/src/observability/text-signals.d.ts +7 -0
- package/dist/src/observability/text-signals.d.ts.map +1 -1
- package/dist/src/observability/text-signals.js +88 -4
- package/dist/src/observability/text-signals.js.map +1 -1
- package/dist/src/observability/trace-segmenter.d.ts.map +1 -1
- package/dist/src/observability/trace-segmenter.js +4 -2
- package/dist/src/observability/trace-segmenter.js.map +1 -1
- package/dist/src/observability/trace-source.d.ts.map +1 -1
- package/dist/src/observability/trace-source.js +13 -3
- package/dist/src/observability/trace-source.js.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.d.ts.map +1 -1
- package/dist/src/renderer/observation-inbox-renderer.js +5914 -924
- package/dist/src/renderer/observation-inbox-renderer.js.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-detail-renderer.js +15 -5
- package/dist/src/renderer/skill-detail-renderer.js.map +1 -1
- package/dist/src/renderer/skill-list-renderer.d.ts.map +1 -1
- package/dist/src/renderer/skill-list-renderer.js +10 -3
- package/dist/src/renderer/skill-list-renderer.js.map +1 -1
- package/dist/src/renderer/test-view.js +2 -2
- package/dist/src/renderer/test-view.js.map +1 -1
- package/dist/src/server/report-server.d.ts.map +1 -1
- package/dist/src/server/report-server.js +95 -2
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/skill-index.d.ts +5 -1
- package/dist/src/server/skill-index.d.ts.map +1 -1
- package/dist/src/server/skill-index.js +72 -26
- package/dist/src/server/skill-index.js.map +1 -1
- package/dist/src/server/skill-insights.d.ts +10 -1
- package/dist/src/server/skill-insights.d.ts.map +1 -1
- package/dist/src/server/skill-insights.js +113 -1
- package/dist/src/server/skill-insights.js.map +1 -1
- package/dist/src/shared/hard-rules.d.ts +2 -0
- package/dist/src/shared/hard-rules.d.ts.map +1 -1
- package/dist/src/shared/hard-rules.js +42 -0
- package/dist/src/shared/hard-rules.js.map +1 -1
- package/dist/src/shared/llm-prompts/index.d.ts +14 -0
- package/dist/src/shared/llm-prompts/index.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/index.js +35 -0
- package/dist/src/shared/llm-prompts/index.js.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts +22 -0
- package/dist/src/shared/llm-prompts/skill-health.d.ts.map +1 -0
- package/dist/src/shared/llm-prompts/skill-health.js +170 -0
- package/dist/src/shared/llm-prompts/skill-health.js.map +1 -0
- package/dist/src/types/doctor.d.ts +2 -0
- package/dist/src/types/doctor.d.ts.map +1 -1
- package/dist/src/types/eval.d.ts +6 -1
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +6 -0
- package/dist/src/types/report.d.ts.map +1 -1
- package/docs/prompts/llm-enhanced-review.prompt.md +111 -0
- package/package.json +29 -4
- package/dist/src/cli/cli-exit.d.ts +0 -15
- package/dist/src/cli/cli-exit.d.ts.map +0 -1
- package/dist/src/cli/cli-exit.js +0 -19
- package/dist/src/cli/cli-exit.js.map +0 -1
- package/dist/src/cli/commands/_shared.d.ts.map +0 -1
- package/dist/src/cli/commands/_shared.js.map +0 -1
- package/dist/src/cli/commands/eval-gold.d.ts +0 -2
- package/dist/src/cli/commands/eval-gold.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-gold.js +0 -137
- package/dist/src/cli/commands/eval-gold.js.map +0 -1
- package/dist/src/cli/commands/eval-runner.d.ts +0 -2
- package/dist/src/cli/commands/eval-runner.d.ts.map +0 -1
- package/dist/src/cli/commands/eval-runner.js.map +0 -1
- package/dist/src/cli/commands/eval.d.ts +0 -2
- package/dist/src/cli/commands/eval.d.ts.map +0 -1
- package/dist/src/cli/commands/eval.js +0 -11
- package/dist/src/cli/commands/eval.js.map +0 -1
- package/dist/src/cli/commands/observe.d.ts +0 -2
- package/dist/src/cli/commands/observe.d.ts.map +0 -1
- package/dist/src/cli/commands/observe.js +0 -247
- package/dist/src/cli/commands/observe.js.map +0 -1
- package/dist/src/cli/commands/registry.d.ts +0 -11
- package/dist/src/cli/commands/registry.d.ts.map +0 -1
- package/dist/src/cli/commands/registry.js +0 -32
- package/dist/src/cli/commands/registry.js.map +0 -1
- package/dist/src/cli/i18n-dict.d.ts.map +0 -1
- package/dist/src/cli/i18n-dict.js.map +0 -1
- package/dist/src/cli/i18n.d.ts.map +0 -1
- package/dist/src/cli/i18n.js.map +0 -1
- package/dist/src/cli/parse-run-config.d.ts.map +0 -1
- package/dist/src/cli/parse-run-config.js.map +0 -1
- package/dist/src/cli/parse-strict.d.ts +0 -7
- package/dist/src/cli/parse-strict.d.ts.map +0 -1
- package/dist/src/cli/parse-strict.js +0 -26
- package/dist/src/cli/parse-strict.js.map +0 -1
- package/dist/src/cli/progress.d.ts.map +0 -1
- package/dist/src/cli/progress.js.map +0 -1
- package/dist/src/cli/run-tally.d.ts.map +0 -1
- package/dist/src/cli/run-tally.js.map +0 -1
- package/dist/src/cli/update-check.d.ts.map +0 -1
- package/dist/src/cli/update-check.js.map +0 -1
- /package/dist/src/cli/{progress.d.ts → lib/progress.d.ts} +0 -0
- /package/dist/src/cli/{progress.js → lib/progress.js} +0 -0
- /package/dist/src/cli/{run-tally.js → lib/run-tally.js} +0 -0
- /package/dist/src/cli/{update-check.d.ts → lib/update-check.d.ts} +0 -0
- /package/dist/src/cli/{update-check.js → lib/update-check.js} +0 -0
package/README.md
CHANGED
|
@@ -27,6 +27,8 @@ omk init my-eval && cd my-eval
|
|
|
27
27
|
omk eval --control code-review-v1 --treatment code-review-v2 # → HTML report with verdict in 5 minutes
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
Walkthrough: [5-minute quickstart guide](docs/quickstart-skill-eval.md) (recommended for first-time users).
|
|
31
|
+
|
|
30
32
|
Deeper: [use inside Claude Code / Codex](#use-inside-ai-coding-agents) · [`omk eval` flags](#omk-eval) · [artifact directory layout](#artifact-directory-layout) · [`--lang` / `OMK_LANG`](#environment-variables)
|
|
31
33
|
|
|
32
34
|
## Use inside AI Coding Agents
|
|
@@ -365,6 +367,18 @@ omk exposes a workflow CLI for knowledge artifacts. Seven top-level commands cov
|
|
|
365
367
|
omk init [dir]
|
|
366
368
|
```
|
|
367
369
|
|
|
370
|
+
<!-- omk:cli:init:flags:start -->
|
|
371
|
+
|
|
372
|
+
**Flags:**
|
|
373
|
+
|
|
374
|
+
```text
|
|
375
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
For full descriptions: `omk init --help`.
|
|
379
|
+
|
|
380
|
+
<!-- omk:cli:init:flags:end -->
|
|
381
|
+
|
|
368
382
|
Scaffolds an evaluation project with two starter skill variants and an `eval-samples.json` file.
|
|
369
383
|
|
|
370
384
|
### `omk doctor`
|
|
@@ -378,6 +392,28 @@ omk doctor --gate; echo $? # silent gate; exit 1 on fatal failures,
|
|
|
378
392
|
omk doctor --static-only # offline mode: static checks only, no LLM call
|
|
379
393
|
```
|
|
380
394
|
|
|
395
|
+
<!-- omk:cli:doctor:flags:start -->
|
|
396
|
+
|
|
397
|
+
**Flags:**
|
|
398
|
+
|
|
399
|
+
```text
|
|
400
|
+
--effort <value> LLM reasoning effort: low / medium / high / xhigh / max.
|
|
401
|
+
--executor <value> Executor name, default claude. Pass a test fixture path to use in tests.
|
|
402
|
+
--fix Interactive fix: use LLM agent to fix skill issues reported by doctor.
|
|
403
|
+
--gate Silent mode: only emit stderr summary on fail. Exit code carries the signal.
|
|
404
|
+
--html <value> HTML report output path. Coexists with --json / --gate.
|
|
405
|
+
--json JSON output to stdout, for CI / external script consumption.
|
|
406
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
407
|
+
--model <value> LLM model name, default sonnet.
|
|
408
|
+
--samples <value> Samples file path (.json/.yaml). Auto-detects from target / cwd if omitted.
|
|
409
|
+
--static-only Offline static mode: only 4 static rules, no LLM call.
|
|
410
|
+
--timeout <value> Single-session LLM timeout sec, default 600 (10 min).
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
For full descriptions: `omk doctor --help`.
|
|
414
|
+
|
|
415
|
+
<!-- omk:cli:doctor:flags:end -->
|
|
416
|
+
|
|
381
417
|
LLM health audit: a single LLM session emits per-dimension grades, findings, and suggestions for the 7 builtin dimensions; the HTML report sorts dimensions fail→warn→pass→skipped with errors first within each dim. Dimensions are extensible — call `registerHealthDimension` in your own code and the new section is folded into the same LLM call's prompt and report (order = registration order).
|
|
382
418
|
|
|
383
419
|
Static-only mode (`--static-only`): for CI nodes without claude / codex installed, or local debugging without network — runs the four static rules (readability / metadata / dependencies / samples contract) with zero LLM calls and zero cost. Output goes through the same `DoctorReport` shape and combines with `--json` / `--gate` / `--html`.
|
|
@@ -396,36 +432,59 @@ omk eval gold compare <report-id> --gold-dir gold-dataset
|
|
|
396
432
|
|
|
397
433
|
Runs the offline evaluation, applies the verdict gate, persists the report, and returns a ship/no-ship exit code. Bootstrap CI is enabled by default on this workflow.
|
|
398
434
|
|
|
399
|
-
|
|
435
|
+
<!-- omk:cli:eval:flags:start -->
|
|
436
|
+
|
|
437
|
+
**Flags:**
|
|
400
438
|
|
|
401
439
|
```text
|
|
402
|
-
--
|
|
403
|
-
--
|
|
404
|
-
--
|
|
405
|
-
--
|
|
406
|
-
--
|
|
407
|
-
--
|
|
408
|
-
--
|
|
409
|
-
--
|
|
410
|
-
--
|
|
411
|
-
--
|
|
412
|
-
--
|
|
413
|
-
--
|
|
414
|
-
--
|
|
415
|
-
--
|
|
416
|
-
--
|
|
417
|
-
--
|
|
418
|
-
--
|
|
419
|
-
--
|
|
420
|
-
--
|
|
421
|
-
--
|
|
422
|
-
--
|
|
423
|
-
--
|
|
424
|
-
--no-
|
|
425
|
-
--
|
|
426
|
-
--no-
|
|
440
|
+
--batch Batch mode: baseline vs each skill
|
|
441
|
+
--blind Blind judge mode
|
|
442
|
+
--bootstrap Add bootstrap CI
|
|
443
|
+
--bootstrap-samples <value> Bootstrap resamples, default 1000
|
|
444
|
+
--budget-per-sample-ms <value> Per-sample time cap ms (must be > 0; omit for no cap)
|
|
445
|
+
--budget-per-sample-usd <value> Per-sample budget cap USD (must be > 0; omit for no cap)
|
|
446
|
+
--budget-usd <value> Total budget cap USD (must be > 0; omit for no cap)
|
|
447
|
+
--concurrency <value> Concurrency, default 1
|
|
448
|
+
--config <value> eval.yaml path
|
|
449
|
+
--control <value> Control variant expr
|
|
450
|
+
--dry-run Plan only, no real exec
|
|
451
|
+
--effort <value> Executor LLM reasoning effort low/medium/high/xhigh/max (default low; reports across efforts not strictly comparable).
|
|
452
|
+
--executor <value> Executor: claude / claude-sdk / codex / codex-sdk / openai-api / gemini / custom (default claude).
|
|
453
|
+
--gold-dir <value> Gold dataset dir
|
|
454
|
+
--judge-models <value> Judge config: executor:model[,...]. e.g. claude:haiku or claude:opus,openai:gpt-4o (≥ 2 = ensemble). Default <executor>:haiku.
|
|
455
|
+
--judge-repeat <value> Judge each dim N times
|
|
456
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
457
|
+
--layered-stats Emit layered stats
|
|
458
|
+
--mcp-config <value> MCP config path
|
|
459
|
+
--model <value> Evaluated model
|
|
460
|
+
--no-cache Skip executor cache
|
|
461
|
+
--no-debias-length Disable length-debias (default on)
|
|
462
|
+
--no-diagnostic Disable diagnostic LLM call (on by default; emits "what went wrong + how to fix" advice for failed samples).
|
|
463
|
+
--no-gate Disable verdict gate
|
|
464
|
+
--no-judge Skip LLM judge
|
|
465
|
+
--no-serve Do not start report server
|
|
466
|
+
--no-strict-baseline Disable baseline isolation
|
|
467
|
+
--output-dir <value> Report output dir
|
|
468
|
+
--repeat <value> Repeat each sample N times
|
|
469
|
+
--report-only Produce the report and print verdict, but always exit 0 (no CI gate).
|
|
470
|
+
--resume <value> Resume a previous failed run
|
|
471
|
+
--retry <value> Per-sample retry count
|
|
472
|
+
--samples <value> Samples file path. Defaults to eval-samples.json (also .yaml/.yml); auto-discovers <skill>/.omk/samples.json under --skill-dir.
|
|
473
|
+
--skill-dir <value> Skill dir, default skills
|
|
474
|
+
--skip-connectivity Skip LLM connectivity preflight
|
|
475
|
+
--skip-doctor Escape hatch: skip the doctor health-check gate (on by default). Use when sandbox mocks supply deps; caller owns garbage-in risk.
|
|
476
|
+
--strict-baseline Force baseline isolation (default true)
|
|
477
|
+
--threshold <value> Verdict threshold, default 3.5
|
|
478
|
+
--timeout <value> Per-sample timeout sec, default 120
|
|
479
|
+
--treatment <value> Treatment variants, comma-separated
|
|
480
|
+
--trivial-diff <value> Trivial diff tolerance; 0 disables tolerance
|
|
481
|
+
--verbose Verbose logging
|
|
427
482
|
```
|
|
428
483
|
|
|
484
|
+
For full descriptions: `omk eval --help`.
|
|
485
|
+
|
|
486
|
+
<!-- omk:cli:eval:flags:end -->
|
|
487
|
+
|
|
429
488
|
The HTML report has two tabs:
|
|
430
489
|
- **📊 Score view** — the verdict-driven A/B comparison (fact / behavior / judge layers, bootstrap CI, length-debias).
|
|
431
490
|
- **✅ Functional view** — each sample as a unit test: design (prompt / rubric / mocks / environment) + execution trace + assertion results + actionable diagnostic. Diagnostic emits root cause (skill_doc_unclear / llm_misread / sample_design / tripwire_intentional / ...), workflow checks (rubric step ✓/✗ with evidence), and failure-mode tags (工作流跳步 / 硬编码值 / 幻觉输出 / 工具误用 / 环境拦截 / 误读约束 / 其他). For the sandbox-mock semantics behind `mocks` / `environment` / `tripwire` / `mocksStrict`, see [docs/sample-design-spec.md §三](./docs/sample-design-spec.md).
|
|
@@ -444,6 +503,24 @@ omk observe ~/.claude/projects/my-project --skills audit,polish
|
|
|
444
503
|
omk observe ~/.claude/projects/my-project --kb /path/to/project
|
|
445
504
|
```
|
|
446
505
|
|
|
506
|
+
<!-- omk:cli:observe:flags:start -->
|
|
507
|
+
|
|
508
|
+
**Flags:**
|
|
509
|
+
|
|
510
|
+
```text
|
|
511
|
+
--from <value> Start time ISO, overrides --last
|
|
512
|
+
--kb <value> KB root, enables KB-aware analysis
|
|
513
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
514
|
+
--last <value> Time window (7d / 24h / 30m)
|
|
515
|
+
--output-dir <value> Analysis output directory
|
|
516
|
+
--skills <value> Filter to specific skills, comma-separated
|
|
517
|
+
--to <value> End time ISO
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
For full descriptions: `omk observe --help`.
|
|
521
|
+
|
|
522
|
+
<!-- omk:cli:observe:flags:end -->
|
|
523
|
+
|
|
447
524
|
Turns real Claude Code session traces into skill-health reports: knowledge usage, gap signals, execution stability, tokens, and latency. This is production observation, not production scoring.
|
|
448
525
|
|
|
449
526
|
#### B. observe inbox: reviewer loop
|
|
@@ -462,6 +539,7 @@ omk observe inbox --skill audit # filter by skill
|
|
|
462
539
|
omk observe inbox --by-skill # rollup view (one row per skill)
|
|
463
540
|
omk observe inbox --explore 10 # sample 10 long-tail items from medium/low
|
|
464
541
|
omk observe inbox --explore 10 --include-noise # explicitly include the noise bucket
|
|
542
|
+
omk observe inbox --llm-enhanced-review # run LLM enhanced chain review explicitly
|
|
465
543
|
omk observe inbox --json # JSON output for automation
|
|
466
544
|
|
|
467
545
|
# 3. Inspect a single observation with its event triplet (surrounding messages)
|
|
@@ -477,6 +555,30 @@ Every observation carries:
|
|
|
477
555
|
|
|
478
556
|
Supported trace formats: Claude Code session JSONL (`.jsonl`), OpenClaw session JSONL (`.jsonl`), and markdown conversation logs (`.log`).
|
|
479
557
|
|
|
558
|
+
### `omk skill-extract`
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
omk skill-extract demo-create --review soft-xxx --status author_confirmed
|
|
562
|
+
omk skill-extract demo-create --review soft-xxx --status rejected --reason "not a real standard"
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
<!-- omk:cli:skill-extract:flags:start -->
|
|
566
|
+
|
|
567
|
+
**Flags:**
|
|
568
|
+
|
|
569
|
+
```text
|
|
570
|
+
--input-dir <value> Observation data directory
|
|
571
|
+
--json JSON output
|
|
572
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
573
|
+
--reason <value> Manual review reason
|
|
574
|
+
--review <value> Soft standard id to review
|
|
575
|
+
--status <value> Review status: author_confirmed / rejected / pending_review (also accepts aliases: confirm / confirmed / reject / pending)
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
For full descriptions: `omk skill-extract --help`.
|
|
579
|
+
|
|
580
|
+
<!-- omk:cli:skill-extract:flags:end -->
|
|
581
|
+
|
|
480
582
|
### `omk evolve`
|
|
481
583
|
|
|
482
584
|
```bash
|
|
@@ -484,6 +586,36 @@ omk evolve <skill> # multi-round auto-iteration on a skill
|
|
|
484
586
|
omk evolve skills/foo.md --rounds 10 --target 4.5
|
|
485
587
|
```
|
|
486
588
|
|
|
589
|
+
<!-- omk:cli:evolve:flags:start -->
|
|
590
|
+
|
|
591
|
+
**Flags:**
|
|
592
|
+
|
|
593
|
+
```text
|
|
594
|
+
--auto-fix-samples Fix the skill, then fix samples, then evaluate the combined candidate
|
|
595
|
+
--concurrency <value> Eval concurrency, default 1
|
|
596
|
+
--effort <value> Reasoning effort: low/medium/high/xhigh/max
|
|
597
|
+
--executor <value> Executor name, default claude
|
|
598
|
+
--improve-mode <agent|rewrite> Improvement strategy (default: agent)
|
|
599
|
+
--improve-model <value> LLM that rewrites the skill, default sonnet
|
|
600
|
+
--judge-models <value> Judge model (single judge required), executor:model format. Default claude:haiku
|
|
601
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
602
|
+
--model <value> Evaluated LLM, default sonnet
|
|
603
|
+
--no-diagnostic Disable diagnostic LLM call
|
|
604
|
+
--reuse-latest-eval Reuse the latest comparable eval report as round-0
|
|
605
|
+
--rounds <value> Max iteration rounds, default 5
|
|
606
|
+
--sample-fix-max-attempts <value>Max auto-fix attempts per sample (default: 2)
|
|
607
|
+
--samples <value> Samples file, default eval-samples.json
|
|
608
|
+
--skip-connectivity Skip LLM connectivity preflight
|
|
609
|
+
--skip-doctor Skip doctor gate (escape hatch; user takes garbage-in risk)
|
|
610
|
+
--stop-on-assertions-pass Stop early when normal samples pass assertions
|
|
611
|
+
--target <value> Target composite score; stop when reached. If omitted, runs all rounds.
|
|
612
|
+
--timeout <value> Per-sample timeout sec, default 120
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
For full descriptions: `omk evolve --help`.
|
|
616
|
+
|
|
617
|
+
<!-- omk:cli:evolve:flags:end -->
|
|
618
|
+
|
|
487
619
|
Auto-iterates a skill through repeated eval → judge → rewrite loops until it hits `--target` or exhausts `--rounds`. Cost scales with `rounds × samples × variants`; a typical run takes minutes to tens of minutes. Original skill files are versioned under `skills/evolve/*.r0.md`.
|
|
488
620
|
|
|
489
621
|
### `omk sample`
|
|
@@ -493,6 +625,27 @@ omk sample <skill> # generate or fill eval-samples test cases f
|
|
|
493
625
|
omk sample --batch # generate for skills missing eval-samples
|
|
494
626
|
```
|
|
495
627
|
|
|
628
|
+
<!-- omk:cli:sample:flags:start -->
|
|
629
|
+
|
|
630
|
+
**Flags:**
|
|
631
|
+
|
|
632
|
+
```text
|
|
633
|
+
--batch Batch mode: scan --skill-dir, generate samples for any skill missing them.
|
|
634
|
+
--count <value> Number of samples to generate. Defaults to LLM auto-selection by skill type.
|
|
635
|
+
--fix Fix mode: auto-fix sample_design failures using the latest eval report.
|
|
636
|
+
--focus <value> Generation focus (NL hint). Steers LLM toward certain sample types.
|
|
637
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
638
|
+
--model <value> Generation LLM model name, default opus.
|
|
639
|
+
--no-mock Skip mock generation; all tool calls execute for real during eval.
|
|
640
|
+
--reports-dir <value> Reports dir (fix mode), default ~/.oh-my-knowledge/reports.
|
|
641
|
+
--skill-dir <value> Skill root dir, default skills. Used by batch mode.
|
|
642
|
+
--treatment <value> Treatment name (fix mode), defaults to skill-path inference.
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
For full descriptions: `omk sample --help`.
|
|
646
|
+
|
|
647
|
+
<!-- omk:cli:sample:flags:end -->
|
|
648
|
+
|
|
496
649
|
One-shot generation. Auto-stamps `provenance` on generated cases. Generated assertions use English, numbers, or code tokens so they compare cleanly across bilingual outputs.
|
|
497
650
|
|
|
498
651
|
### `omk studio`
|
|
@@ -506,6 +659,25 @@ omk studio --observations-dir .omk/observations # observe inbox data director
|
|
|
506
659
|
omk studio --no-open
|
|
507
660
|
```
|
|
508
661
|
|
|
662
|
+
<!-- omk:cli:studio:flags:start -->
|
|
663
|
+
|
|
664
|
+
**Flags:**
|
|
665
|
+
|
|
666
|
+
```text
|
|
667
|
+
--analyses-dir <value> Analyses dir (optional)
|
|
668
|
+
--dev Dev mode: child process with hot reload
|
|
669
|
+
--host <value> Listen host, default localhost. Use 0.0.0.0 to expose to LAN
|
|
670
|
+
--lang <value> Output language zh|en. Priority: CLI > OMK_LANG env > zh.
|
|
671
|
+
--no-open Do not auto-open browser
|
|
672
|
+
--observations-dir <value> Observations dir (optional)
|
|
673
|
+
--port <value> Listen port, default 7799. Pass 0 for OS-assigned
|
|
674
|
+
--reports-dir <value> Reports dir, default ~/.oh-my-knowledge/reports
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
For full descriptions: `omk studio --help`.
|
|
678
|
+
|
|
679
|
+
<!-- omk:cli:studio:flags:end -->
|
|
680
|
+
|
|
509
681
|
Starts the local knowledge workbench for browsing reports and observation analyses. Verdict, sample diffs, regressions, saturation curves, and per-sample drill-downs all live in the studio UI — there is no CLI export / analysis subcommand. For CI gates, use `omk eval`'s exit code (0 on `PROGRESS`, non-zero otherwise) or `jq` over the report JSON.
|
|
510
682
|
|
|
511
683
|
Studio is skill-centric — the list page (`/`) shows skill cards with health band / 0-100 reference score / open-issue count / trend; the detail page (`/skills/<name>`) puts a prioritized issue checklist on the left (skill issues / sample issues / tool advisories), and a chart.js health trend plus three compact stage cards (doctor / eval / observe) on the right, with modals for deeper drill-down. The legacy run list moved to `/runs`. Visit `/observations/inbox` for the observe inbox dashboard: per-skill rollup view, reviewer action list, observability funnel, and a per-observation detail panel with the event triplet (surrounding messages).
|
package/README.zh.md
CHANGED
|
@@ -27,6 +27,8 @@ omk init my-eval && cd my-eval
|
|
|
27
27
|
omk eval --control code-review-v1 --treatment code-review-v2 # → 5 分钟出 HTML 报告 + verdict
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
手把手教程:[5 分钟快速上手](docs/zh/quickstart-skill-eval.md)(推荐第一次跑评测的用户)。
|
|
31
|
+
|
|
30
32
|
深入:[在 Claude Code / Codex 中调用](#在-ai-coding-agent-中使用) · [`omk eval` 全 flag](#omk-eval) · [artifact 目录结构](#artifact-目录结构) · [`--lang` / `OMK_LANG`](#环境变量)
|
|
31
33
|
|
|
32
34
|
## 在 AI Coding Agent 中使用
|
|
@@ -365,6 +367,18 @@ omk 的公开 CLI 由 7 个顶层命令构成完整闭环:`init`(脚手架
|
|
|
365
367
|
omk init [目录]
|
|
366
368
|
```
|
|
367
369
|
|
|
370
|
+
<!-- omk:cli:init:flags:start -->
|
|
371
|
+
|
|
372
|
+
**Flags:**
|
|
373
|
+
|
|
374
|
+
```text
|
|
375
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
完整描述见 `omk init --help`。
|
|
379
|
+
|
|
380
|
+
<!-- omk:cli:init:flags:end -->
|
|
381
|
+
|
|
368
382
|
生成一个评测项目脚手架,包含两版 starter skill 和 `eval-samples.json`。
|
|
369
383
|
|
|
370
384
|
### `omk doctor`
|
|
@@ -378,6 +392,28 @@ omk doctor --gate; echo $? # 静默门禁,fatal 问题 exit 1,
|
|
|
378
392
|
omk doctor --static-only # 离线模式:只跑静态检查,不调 LLM
|
|
379
393
|
```
|
|
380
394
|
|
|
395
|
+
<!-- omk:cli:doctor:flags:start -->
|
|
396
|
+
|
|
397
|
+
**Flags:**
|
|
398
|
+
|
|
399
|
+
```text
|
|
400
|
+
--effort <value> LLM 推理 effort:low / medium / high / xhigh / max。
|
|
401
|
+
--executor <value> 执行器名,默认 claude。指定为测试 fixture 路径可在测试里跑(同 omk doctor)。
|
|
402
|
+
--fix 交互式修复:根据 doctor 报告问题,用 LLM agent 修复 skill。
|
|
403
|
+
--gate 静默模式,只在 fail 时输出 stderr 摘要,exit code 标识结果。
|
|
404
|
+
--html <value> HTML 报告输出路径。可跟 --json / --gate 共存。
|
|
405
|
+
--json JSON 输出到 stdout,适合 CI / 外部脚本消费。
|
|
406
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
407
|
+
--model <value> LLM model 名,默认 sonnet。
|
|
408
|
+
--samples <value> 样本文件路径(.json/.yaml)。不传则按 target / cwd 顺序自动发现。
|
|
409
|
+
--static-only 离线静态模式,只跑 4 条静态 rule(skill_readable / skill_metadata / dependencies_present / samples_contract_aligned),不调 LLM。
|
|
410
|
+
--timeout <value> 单次 LLM 会话超时秒数,默认 600(10 分钟)。
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
完整描述见 `omk doctor --help`。
|
|
414
|
+
|
|
415
|
+
<!-- omk:cli:doctor:flags:end -->
|
|
416
|
+
|
|
381
417
|
LLM 健康度审计:单次 LLM 会话产出 7 个内置维度的健康度评分 + findings + 改进建议;HTML 报告按 fail→warn→pass→skipped 排序,错误 finding 优先。维度可扩展(在自己代码里调 `registerHealthDimension`,自动并入同一次 LLM 调用的 prompt 与报告,顺序 = 注册顺序)。
|
|
382
418
|
|
|
383
419
|
离线静态模式(`--static-only`):CI 节点没装 claude / codex、本地断网调试等场景下跑 4 条静态 rule(可读性 / 元数据 / 依赖 / samples 契约),零 LLM 调用、零成本。结果同样进 `DoctorReport`,可与 `--json` / `--gate` / `--html` 组合。
|
|
@@ -396,36 +432,59 @@ omk eval gold compare <report-id> --gold-dir gold-dataset
|
|
|
396
432
|
|
|
397
433
|
运行离线评测,应用 verdict gate,持久化报告,并用 exit code 表示 ship/no-ship。这个工作流默认开启 bootstrap CI。
|
|
398
434
|
|
|
399
|
-
|
|
435
|
+
<!-- omk:cli:eval:flags:start -->
|
|
436
|
+
|
|
437
|
+
**Flags:**
|
|
400
438
|
|
|
401
439
|
```text
|
|
402
|
-
--
|
|
403
|
-
--
|
|
404
|
-
--
|
|
405
|
-
--
|
|
406
|
-
--
|
|
407
|
-
--
|
|
408
|
-
--
|
|
409
|
-
--
|
|
410
|
-
--
|
|
411
|
-
--
|
|
412
|
-
--
|
|
413
|
-
--
|
|
414
|
-
--
|
|
415
|
-
--
|
|
416
|
-
--
|
|
417
|
-
--
|
|
418
|
-
--
|
|
419
|
-
--
|
|
420
|
-
--
|
|
421
|
-
--
|
|
422
|
-
--
|
|
423
|
-
--
|
|
424
|
-
--no-
|
|
425
|
-
--
|
|
426
|
-
--no-
|
|
440
|
+
--batch batch 模式:baseline vs 每个 skill
|
|
441
|
+
--blind judge blind 模式
|
|
442
|
+
--bootstrap 加 bootstrap CI
|
|
443
|
+
--bootstrap-samples <value> bootstrap 重采样次数,默认 1000
|
|
444
|
+
--budget-per-sample-ms <value> 单 sample 时长上限 ms(必须 > 0,不传则无上限)
|
|
445
|
+
--budget-per-sample-usd <value> 单 sample 预算上限 USD(必须 > 0,不传则无上限)
|
|
446
|
+
--budget-usd <value> 总预算上限 USD(必须 > 0,不传则无上限)
|
|
447
|
+
--concurrency <value> 并发数,默认 1
|
|
448
|
+
--config <value> eval.yaml 路径
|
|
449
|
+
--control <value> control variant 表达式
|
|
450
|
+
--dry-run 只 plan 不实跑
|
|
451
|
+
--effort <value> 被测 LLM 扩展思考预算 low/medium/high/xhigh/max(默认 low;跨 effort 报告不严格可比)。
|
|
452
|
+
--executor <value> 执行器:claude / claude-sdk / codex / codex-sdk / openai-api / gemini / 自定义命令(默认 claude)。
|
|
453
|
+
--gold-dir <value> gold dataset 目录
|
|
454
|
+
--judge-models <value> 评委配置,格式 executor:model[,...],例 claude:haiku 或 claude:opus,openai:gpt-4o(≥ 2 个 = ensemble)。默认 <executor>:haiku。
|
|
455
|
+
--judge-repeat <value> 每个 dim 评 N 次
|
|
456
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
457
|
+
--layered-stats 输出分层统计
|
|
458
|
+
--mcp-config <value> MCP 配置文件路径
|
|
459
|
+
--model <value> 被测模型
|
|
460
|
+
--no-cache 跳过 executor cache
|
|
461
|
+
--no-debias-length 关 length-debias(默认开)
|
|
462
|
+
--no-diagnostic 关闭 diagnostic 诊断 LLM 调用(默认开,给 failed sample 出「哪错了 + 怎么改」建议)。
|
|
463
|
+
--no-gate 关 verdict gate
|
|
464
|
+
--no-judge 跳过 LLM judge
|
|
465
|
+
--no-serve 不启 report server
|
|
466
|
+
--no-strict-baseline 关闭 baseline 隔离
|
|
467
|
+
--output-dir <value> 报告输出目录
|
|
468
|
+
--repeat <value> 每个 sample 重复跑 N 次
|
|
469
|
+
--report-only 生成报告并打印 verdict,但始终 exit 0(不参与 CI gate)。
|
|
470
|
+
--resume <value> 从某次失败 run 续跑
|
|
471
|
+
--retry <value> 失败 sample 重试次数
|
|
472
|
+
--samples <value> 样本文件路径。默认 eval-samples.json,也接受 .yaml/.yml;自动发现 --skill-dir 下的 <skill>/.omk/samples.json。
|
|
473
|
+
--skill-dir <value> skill 目录,默认 skills
|
|
474
|
+
--skip-connectivity 跳 LLM 连通性预检
|
|
475
|
+
--skip-doctor escape hatch:跳 doctor 健康检查门禁(默认强制启用)。沙箱 mock 提供依赖时绕开 doctor 物理路径误报;garbage-in 风险自负。
|
|
476
|
+
--strict-baseline 强制 baseline 隔离(default true)
|
|
477
|
+
--threshold <value> verdict 阈值,默认 3.5
|
|
478
|
+
--timeout <value> 单样本超时秒,默认 120
|
|
479
|
+
--treatment <value> treatment variant 列表,逗号分隔
|
|
480
|
+
--trivial-diff <value> 可忽略 diff 容差,0 表示不启用容差
|
|
481
|
+
--verbose 详细日志
|
|
427
482
|
```
|
|
428
483
|
|
|
484
|
+
完整描述见 `omk eval --help`。
|
|
485
|
+
|
|
486
|
+
<!-- omk:cli:eval:flags:end -->
|
|
487
|
+
|
|
429
488
|
HTML 报告有两个 tab:
|
|
430
489
|
- **📊 评分视角** — verdict 驱动的 A/B 对比(事实/行为/judge 三层、bootstrap CI、length-debias)。
|
|
431
490
|
- **✅ 功能视角** — 每条 sample 当一条单测看:用例设计(prompt / rubric / 工具调用 mock / environment)+ 执行轨迹 + 断言结果 + 可操作的 diagnostic 建议。诊断给出归因(skill 文档模糊 / LLM 误读 / sample 设计 bug / 诱错样本 / ...)、工作流校验(rubric 每步 ✓/✗ + 证据)和失败模式标签(工作流跳步 / 硬编码值 / 幻觉输出 / 工具误用 / 环境拦截 / 误读约束 / 其他)。沙箱 mock 字段语义(`mocks` / `environment` / `tripwire` / `mocksStrict`)见 [docs/sample-design-spec.md §三](./docs/sample-design-spec.md)。
|
|
@@ -444,6 +503,24 @@ omk observe ~/.claude/projects/my-project --skills audit,polish
|
|
|
444
503
|
omk observe ~/.claude/projects/my-project --kb /path/to/project
|
|
445
504
|
```
|
|
446
505
|
|
|
506
|
+
<!-- omk:cli:observe:flags:start -->
|
|
507
|
+
|
|
508
|
+
**Flags:**
|
|
509
|
+
|
|
510
|
+
```text
|
|
511
|
+
--from <value> 起始时间 ISO,优先级高于 --last
|
|
512
|
+
--kb <value> 知识库 root,启用 KB-aware 分析
|
|
513
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
514
|
+
--last <value> 时间窗(7d / 24h / 30m)
|
|
515
|
+
--output-dir <value> 分析结果输出目录
|
|
516
|
+
--skills <value> 只看指定 skill,逗号分隔
|
|
517
|
+
--to <value> 结束时间 ISO
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
完整描述见 `omk observe --help`。
|
|
521
|
+
|
|
522
|
+
<!-- omk:cli:observe:flags:end -->
|
|
523
|
+
|
|
447
524
|
把真实 Claude Code session trace 转成 skill 健康度报告:知识使用、gap 信号、执行稳定性、token 和耗时。这是生产观测,不是生产评分。
|
|
448
525
|
|
|
449
526
|
#### B. observe inbox:reviewer 闭环
|
|
@@ -462,6 +539,7 @@ omk observe inbox --skill audit # 只看某个 skill
|
|
|
462
539
|
omk observe inbox --by-skill # 按 skill 资产视图
|
|
463
540
|
omk observe inbox --explore 10 # 从 medium / low 桶抽 10 条长尾
|
|
464
541
|
omk observe inbox --explore 10 --include-noise # 显式包含 noise 桶
|
|
542
|
+
omk observe inbox --llm-enhanced-review # 显式调用模型进行链路增强复盘
|
|
465
543
|
omk observe inbox --json # JSON 输出,便于自动化消费
|
|
466
544
|
|
|
467
545
|
# 3. 反向查单条 observation 的事件三元组(前后 message 上下文)
|
|
@@ -477,6 +555,30 @@ omk observe show <inbox_id>
|
|
|
477
555
|
|
|
478
556
|
支持 trace 格式:Claude Code session JSONL(`.jsonl`)、OpenClaw session JSONL(`.jsonl`)、markdown 对话日志(`.log`)。
|
|
479
557
|
|
|
558
|
+
### `omk skill-extract`
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
omk skill-extract demo-create --review soft-xxx --status author_confirmed
|
|
562
|
+
omk skill-extract demo-create --review soft-xxx --status rejected --reason "不是有效标准"
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
<!-- omk:cli:skill-extract:flags:start -->
|
|
566
|
+
|
|
567
|
+
**Flags:**
|
|
568
|
+
|
|
569
|
+
```text
|
|
570
|
+
--input-dir <value> observation 数据目录
|
|
571
|
+
--json JSON 格式输出
|
|
572
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
573
|
+
--reason <value> 人工判断原因
|
|
574
|
+
--review <value> 要确认或否决的软标准 ID
|
|
575
|
+
--status <value> 确认状态:author_confirmed / rejected / pending_review(也接受 confirm / confirmed / reject / pending 别名)
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
完整描述见 `omk skill-extract --help`。
|
|
579
|
+
|
|
580
|
+
<!-- omk:cli:skill-extract:flags:end -->
|
|
581
|
+
|
|
480
582
|
### `omk evolve`
|
|
481
583
|
|
|
482
584
|
```bash
|
|
@@ -484,6 +586,36 @@ omk evolve <skill> # 多轮自动迭代 skill
|
|
|
484
586
|
omk evolve skills/foo.md --rounds 10 --target 4.5
|
|
485
587
|
```
|
|
486
588
|
|
|
589
|
+
<!-- omk:cli:evolve:flags:start -->
|
|
590
|
+
|
|
591
|
+
**Flags:**
|
|
592
|
+
|
|
593
|
+
```text
|
|
594
|
+
--auto-fix-samples 每轮先修 skill,再修 sample,随后一起评估候选结果
|
|
595
|
+
--concurrency <value> 评测并发数,默认 1
|
|
596
|
+
--effort <value> reasoning effort: low/medium/high/xhigh/max
|
|
597
|
+
--executor <value> 执行器名,默认 claude
|
|
598
|
+
--improve-mode <agent|rewrite> 改写策略(默认:agent)
|
|
599
|
+
--improve-model <value> 负责重写 skill 的 LLM,默认 sonnet
|
|
600
|
+
--judge-models <value> 评委 model(单评委约束),格式 executor:model。默认 claude:haiku
|
|
601
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
602
|
+
--model <value> 被评测的 LLM,默认 sonnet
|
|
603
|
+
--no-diagnostic 关 LLM diagnostic 调用
|
|
604
|
+
--reuse-latest-eval 复用可比的最新 eval 报告作为 round-0
|
|
605
|
+
--rounds <value> 最大迭代轮数,默认 5
|
|
606
|
+
--sample-fix-max-attempts <value>每条 sample 自动修复最多尝试次数(默认:2)
|
|
607
|
+
--samples <value> 样本文件路径,默认 eval-samples.json
|
|
608
|
+
--skip-connectivity 跳过 LLM 连通性预检
|
|
609
|
+
--skip-doctor 跳过 doctor 门禁(escape hatch,自负 garbage-in 风险)
|
|
610
|
+
--stop-on-assertions-pass 普通样本断言全过时提前停止
|
|
611
|
+
--target <value> 目标 composite 分数,达到即停。不传则跑满 rounds
|
|
612
|
+
--timeout <value> 单样本超时秒,默认 120
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
完整描述见 `omk evolve --help`。
|
|
616
|
+
|
|
617
|
+
<!-- omk:cli:evolve:flags:end -->
|
|
618
|
+
|
|
487
619
|
让 skill 跑 eval → judge → 改写 SKILL.md 的多轮闭环,直到达到 `--target` 或 `--rounds` 上限。耗时按 `轮数 × 样本 × 变体` 累加,几分钟到几十分钟级别。原始 skill 文件版本保存在 `skills/evolve/*.r0.md`。
|
|
488
620
|
|
|
489
621
|
### `omk sample`
|
|
@@ -493,6 +625,27 @@ omk sample <skill> # 为单个 skill 生成或补齐评测用
|
|
|
493
625
|
omk sample --batch # 为目录下缺评测集的 skill 批量生成
|
|
494
626
|
```
|
|
495
627
|
|
|
628
|
+
<!-- omk:cli:sample:flags:start -->
|
|
629
|
+
|
|
630
|
+
**Flags:**
|
|
631
|
+
|
|
632
|
+
```text
|
|
633
|
+
--batch 批量模式:扫 --skill-dir 下所有缺 samples 的 skill,逐个生成。
|
|
634
|
+
--count <value> 生成样本条数。不传由 LLM 按 skill 类型自动决定。
|
|
635
|
+
--fix fix 模式:基于最近评测报告自动修复 sample_design 类型失败。
|
|
636
|
+
--focus <value> 生成焦点(自然语言提示)。控制 LLM 偏向哪类用例。
|
|
637
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
638
|
+
--model <value> 生成 LLM model 名,默认 opus。
|
|
639
|
+
--no-mock 不生成 mocks,eval 时所有工具调用真实执行。
|
|
640
|
+
--reports-dir <value> 报告目录(fix 模式用),默认 ~/.oh-my-knowledge/reports。
|
|
641
|
+
--skill-dir <value> skill 根目录,默认 skills。batch 模式扫此目录。
|
|
642
|
+
--treatment <value> 指定 treatment 名(fix 模式用),默认推断自 skill 路径。
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
完整描述见 `omk sample --help`。
|
|
646
|
+
|
|
647
|
+
<!-- omk:cli:sample:flags:end -->
|
|
648
|
+
|
|
496
649
|
一次性生成。自动给生成的用例打 `provenance`。生成的 assertions 使用英文 / 数字 / 代码 token,便于跨中英文输出对比。
|
|
497
650
|
|
|
498
651
|
### `omk studio`
|
|
@@ -506,6 +659,25 @@ omk studio --observations-dir .omk/observations # observe inbox 数据目录
|
|
|
506
659
|
omk studio --no-open
|
|
507
660
|
```
|
|
508
661
|
|
|
662
|
+
<!-- omk:cli:studio:flags:start -->
|
|
663
|
+
|
|
664
|
+
**Flags:**
|
|
665
|
+
|
|
666
|
+
```text
|
|
667
|
+
--analyses-dir <value> 分析数据目录(可选)
|
|
668
|
+
--dev dev 模式:子进程启动 + 热更新
|
|
669
|
+
--host <value> 监听 host,默认 localhost。改为 0.0.0.0 暴露给局域网
|
|
670
|
+
--lang <value> 输出语言 zh|en,优先级 CLI > OMK_LANG env > zh。
|
|
671
|
+
--no-open 不自动打开浏览器
|
|
672
|
+
--observations-dir <value> 观测数据目录(可选)
|
|
673
|
+
--port <value> 监听端口,默认 7799。传 0 让 OS 分配
|
|
674
|
+
--reports-dir <value> 报告目录,默认 ~/.oh-my-knowledge/reports
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
完整描述见 `omk studio --help`。
|
|
678
|
+
|
|
679
|
+
<!-- omk:cli:studio:flags:end -->
|
|
680
|
+
|
|
509
681
|
启动本地知识工作台浏览报告。verdict、样本回退、跨样本 diff、饱和曲线、单样本 drill-down 全部在 studio UI 里 —— omk 不提供 CLI 导出 / 分析子命令。CI gate 用 `omk eval` 的 exit code(PROGRESS 退 0、其他非 0),需要文字摘要自己 `jq` report JSON。
|
|
510
682
|
|
|
511
683
|
Studio 是 skill-centric 信息架构 — 列表页(`/`)按 skill 卡片展示健康等级 / 0-100 参考分 / 待优化数 / 趋势,详情页(`/skills/<name>`)左栏列关键问题清单(skill 优化 / 用例优化 / 工具反馈三档),右栏画 chart.js 健康趋势 + 三个紧凑阶段卡(doctor / eval / observe),细节走 modal。旧的 run 列表挪到 `/runs`。访问 `/observations/inbox` 查看 observe inbox 看板:按 skill 资产视图(rollup)+ reviewer 待办建议 + 当前可观测漏斗 + 单 observation 详情面板(含事件三元组)。
|