npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

oh-my-knowledge

v0.48.0

Published

Evaluation framework for LLM knowledge inputs — prompts, RAG corpora, skills, agent workflows. Fix the model, vary the artifact. Built-in statistical rigor: bootstrap CI, Krippendorff α, length-debias, saturation curves.

Readme

oh-my-knowledge

npm version npm weekly downloads CI License: MIT Node.js Version

English | 简体中文

一段知识输入(prompt / skill / RAG / agent)好不好,能不能有证据地发布? doctor 先检查这类知识输入是否清楚到值得测;eval 固定模型和用例,只改变知识输入,判断新版本是否真的更好。Bootstrap 置信区间、长度去偏默认开,配一份人工 gold 就自动算 Krippendorff α。

📖 完整文档:oh-my-knowledge.pages.dev/zh(可搜索,可切换英文)

omk 报告 — verdict pill「v2 明显优于 v1,可以发布」

快速开始

npm i -g oh-my-knowledge
omk init demo && cd demo
omk eval --control code-review-v1 --treatment code-review-v2

开箱即跑:omk init 脚手架好两版 skill 和三条评测用例,不用先改任何文件,omk eval 跑控制变量 A/B,约 5 分钟出 HTML 报告 + 一行 verdict;跑通后再把 skill 和用例换成你自己的。

前置:默认执行器与评委用 claude CLI,需先安装并登录(见系统要求);想用别的模型或离线跑(无需 API key)见执行器

首跑只有 3 条用例,verdict 多半是「数据不足(UNDERPOWERED)」——这是正常起点而非出错;把用例加到约 20 条以上,再看「可发布」结论。

命令行有新版本时会自动提示(每 20 小时最多一次);想永久关闭该提醒,设环境变量 OMK_SKIP_UPDATE_CHECK=1 即可。

手把手教程:5 分钟快速上手(推荐第一次跑评测的用户)。更多可跑示例(Skill Map、A/B、离线执行器、agent runtime、RAG)见仓库的示例画廊

深入:为谁、解决什么 · CLI 参考 · 工作原理 · 评测用例格式 · 执行器 · artifact 布局

第一条工作流

omk 主要给 LLM 知识载体的作者 / 维护者用,帮他们做发布判断;它不是给被动安装 skill 的普通使用者用的。第一条工作流应该很短:

改了一个 skill / prompt / agent artifact
→ 跑 omk doctor,先抓结构、依赖和可测性问题
→ 跑 omk eval,在同一批用例上和 baseline 对比
→ 看报告 / Studio,知道下一步具体该改哪里
→ 决定发布 / 不发布

observe 是后续的生产反馈闭环:等真实使用 trace 存在后很有价值,但不是 omk 第一价值的前提。主干先是发布前的 doctor → eval 判断。

在 AI Coding Agent 中使用

安装 omk 官方 Agent Skill 后,可以直接用自然语言让 coding agent 跑 omk 工作流:

omk install omk-agent-skill

默认只会安装到本机已检测到、且 omk 明确支持的目标:检测到 ~/.codex~/.agents 时写入 Codex/AGENTS,检测到 ~/.claude 时写入 Claude Code。要强制写入当前 omk 已知的全部目标,用 --to all;要指定自定义 skill 根目录,用 --dest

在 Claude Code 中使用

omk skill 已在 Claude Code 中可用时,可以直接这样调用:

/omk eval              # 评测当前项目的 artifact
/omk evolve            # 多轮自动迭代改进 skill
/omk sample            # 生成或补齐评测用例

这些 slash command 是自然语言入口 —— agent 会从对话上下文里推断要操作哪个 skill。也可以直接说「帮我评测 v1 和 v2 的差异」、「改进一下这个 artifact」,omk 会自动理解意图并调用对应命令。

在 Codex 中使用

Codex 默认不支持 /omk ... 这种 Claude Code 风格的 slash command。通常直接让 agent 执行 omk CLI,例如:

omk eval
omk evolve skills/my-skill.md   # 一键:体检 →(无用例则自动生成)→ 自迭代
omk sample skills/my-skill.md

也可以直接用自然语言描述目标,例如「比较 v1 和 v2 的评测差异」、「为这个 skill 生成评测用例」。

omk evolve 是一键闭环:默认先跑 doctor 体检,目标 skill 没有评测用例时会自动生成一批,再进入多轮自迭代。全新 skill 直接 omk evolve skills/foo.md 即可。

为什么需要这个工具

做知识工程的团队会产出大量知识载体(当前常见是 skill,也包括 prompt、agent、workflow 等)。当被问到「v2 能不能发、为什么」时,需要客观数据而非主观判断。oh-my-knowledge 通过控制变量实验解决这个问题:相同模型、相同评测用例,只改变知识载体。

为什么选 omk

| | omk | promptfoo | DeepEval | LangSmith | |--|--|--|--|--| | Bootstrap 置信区间 | ✓ 默认 | ✗ | ✗ | ✗ | | Krippendorff α(评委 ↔ 人工) | ✓ 加 gold 即开 | ✗ | ✗ | ✗ | | 长度去偏的评委 prompt | ✓ 默认 | ✗ | ✗ | ✗ | | 饱和曲线 | ✓ | ✗ | ✗ | ✗ | | 三层独立评分 | ✓ | ✗ | 部分 | ✗ | | 用例隔离(construct validity) | ✓ 默认 | ✗ | ✗ | ✗ | | 原生 Agent Skill | ✓ | ✗ | ✗ | ✗ | | 托管 SaaS 看板 | ✗ | ✗ | ✓ | ✓ |

omk 的护城河是 default-on 安全网 —— Bootstrap CI / 长度去偏不是 advanced flag,是默认行为;评委 ↔ 人工 α 只要给一份 gold 集就自动算。其他工具让你手动接置信区间;omk 让你默认无法忽略它。需要 SaaS 看板?选 LangSmith。要快速 prompt 迭代不要统计层?选 promptfoo。要发到生产且会被问「为什么应该相信这个数字」?选 omk。

RAG 专项评测请看 RAGAS(独立 niche,跟 omk 互补)。完整对比(7 个工具 × 25+ 维度): docs/zh/reference/comparison.md

特性

| 特性 | 说明 | |------|------| | Verdict 一行结论 | omk eval 六档判定 + ship 建议 + exit code 路由,与 HTML 报告 verdict pill 共享规则 | | 六维评估 | 事实 / 行为 / LLM 评价 / 成本 / 效率 / 稳定性独立展示 | | 多执行器 | 支持 Claude CLI / Claude SDK / Codex CLI / Codex SDK / OpenAI / Gemini / Anthropic API 及自定义命令 | | 30+ 种断言 | 包含子串、正则、JSON Schema、ROUGE/BLEU/Levenshtein 相似度、Agent 工具调用、语义相似度、自定义函数等 | | 统计严谨性 | Bootstrap CI / 长度去偏 / 饱和曲线默认开,Krippendorff α 提供 gold 集即自动计算。详情 → | | RAG metrics | faithfulness / answer_relevancy / context_recall 三 metric — 反幻觉 + 切题度 + context 覆盖 | | LLM 健康度审计 | omk doctor 给 7 个内置维度独立打分;重复采样(--repeat)+ k/n 共识归并 | | 线上 session 观测 | 解析 Claude Code session JSONL,测量各 skill 的失败率、耗时、token 成本、知识缺口信号 | | 知识缺口识别 | 严重度加权的信号量化风险敞口,不宣称完备性 | | 用例隔离 (construct validity) | --strict-baseline(默认开)三堵 baseline 拿到被测 skill 的污染路径 | | Git / 远端源 | install / eval 支持本地 git ref 或远端 git URL(--git-url);目录-skill 在内容寻址隔离副本里执行,references/ 资产是真实测量输入,不只是 SKILL.md | | 证据门控管理 | omk install 登记受管记录;omk eval 按内容指纹自动写入证据,把 skill 从 installed 推到 measurableomk list 查看各受管 skill 的状态(installed / measurable / promoted / stale);omk promote 在证据过门禁(默认仅 PROGRESS)后把该版本接受为当前版本;omk rollback 撤销这次接受,让 skill 回到 measurable规范 → | | 用例设计科学性 | Sample schema 加 capability / difficulty / construct / provenance 元数据字段(HF Dataset Cards 风),studio 输出 coverage 分桶 + rubric_clarity_low / capability_thin issue。docs/zh/specs/sample-design-spec.md | | 多评委 ensemble | --judge-models claude:opus,openai-api:gpt-4o 跨厂商评分 + agreement 度量 | | 多轮方差分析 | --repeat N 重复 N 次,计算均值/标准差/置信区间/t 检验 | | MCP URL 获取 | 通过 MCP Server 获取私有文档 URL 内容(SSO 保护的知识库等) | | 自动分析 | 检测低区分度断言、均匀分数、全通过/全失败、高成本用例 | | 可追溯性 | 报告含 CLI 版本、Node 版本、artifact 版本指纹、judge prompt hash | | 中英切换 | HTML 报告右上角一键切换语言 |

文档

完整文档已发布到 oh-my-knowledge.pages.dev/zh —— 可搜索,可切换英文。重点页面:

  • 工作原理 —— 交错调度、variant 解析、双通道评分、六维报告
  • 评测用例格式 —— sample schema、评分公式、30+ 断言类型、自定义 JS 断言
  • CLI 参考 —— 顶层命令的 bash 示例和 flag 表
  • 执行器 & artifact 布局 —— 内置 / 自定义执行器;variant 如何解析为 artifact + runtime context
  • 操作指南 —— 评测 agent(项目 runtime context)与使用非 Claude 模型(GLM / 通义 / DeepSeek / Moonshot / Ollama)
  • 快速上手 —— 第一次跑评测的 5 分钟教程
  • 示例画廊 —— 仓库里一组可直接跑的示例,按由简到全排成上手路径
  • 用例设计规范 —— capability / construct / provenance 元数据;行业 gap 映射
  • 统计严谨性 —— 为什么 Bootstrap CI / α / 长度去偏 / 饱和曲线重要
  • 7 工具对比 —— promptfoo / DeepEval / RAGAS / OpenAI Evals / LangSmith / lm-eval-harness / inspect-ai 等 25+ 维度横评
  • 证据门控管理 —— 受管记录、生命周期状态(installed / measurable / promoted / stale)、install → eval → measurable → promote → rollback

环境变量

| 变量 | 说明 | |------|------| | CCV_PROXY_URL | 通过 cc-viewer 代理请求,实时可视化评测流量 | | OMK_REPORT_PORT | 报告服务端口(默认 7799) |

系统要求

  • Node.js >= 22
  • claude CLI(默认执行器和 LLM 评委需要,参考 Claude Code
    • 如果使用其它执行器(openai-api / anthropic-api / gemini)+ --no-judge 则可不需要

安全说明

本工具设计用于本地可信环境(开发机、CI 流水线)。以下功能会执行本地代码,请确保输入来源可信:

| 功能 | 风险 | 适用场景 | |------|------|----------| | 自定义断言custom) | 动态加载并执行用户指定的 .mjs 文件 | 仅使用自己编写或审查过的断言文件 | | eval-samples.json | 断言配置可引用外部文件路径 | 不要使用来源不明的用例文件 |

建议:

  • 不要将本地报告服务暴露到公网(无身份认证)
  • 不使用未经审查的第三方 eval-samples
  • 自定义断言有 30 秒超时,但无沙箱隔离

发布日志见 GitHub Releases。欢迎贡献 —— 见 CONTRIBUTING