关于 driftwatch
driftwatch 是供编码 Agent 使用的 MCP 服务,可说明 npm 或 PyPI 版本间的破坏性变更,并附上公开来源引用。它还可检查包名是否存在,且无需 API key 即可本地运行。
主要功能
- 01带引用的版本迁移差异
- 02检查包是否存在及仿冒拼写
- 03支持 npm 和 PyPI
- 04使用公开数据源的本地引擎
- 05可选的 LLM 生成迁移步骤
适用场景
- 01升级依赖时确认所需代码修改
- 02安装前核实包名
- 03为编码 Agent 提供带引用的版本变更证据
MCP 相关
MCP 服务向客户端提供 `get_migration_delta` 和 `check_package` 工具。默认在本地运行;也可通过 `DRIFTWATCH_REMOTE_URL` 指向托管实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 与安装时完全一致的软件包名称。 |
| ecosystem | enum | 是 | 该软件包所在的软件包注册表。npm | pypi |
详细介绍
driftwatch
为 AI 编码 Agent 提供依赖迁移情报。
精准回答一个问题,并附上引用:
这个库从版本 A 升级到了版本 B。哪些地方坏了,我的代码需要做哪些修改?
刚来这里?请从入门指南开始。
此仓库还包含 CMM Research 在 Apify 上的数据 Actor源代码:工作、医院、资金和 Shopify 数据 API。
安装(30 秒)
将其添加到 Claude Desktop、Claude Code、Cursor 或任何 MCP 客户端:
{
"mcpServers": {
"driftwatch": {
"command": "npx",
"args": ["-y", "driftwatch-mcp"]
}
}
}
全部设置就这么简单。**无需 API 密钥、账户、付费或配置。**引擎在你的机器上本地运行,只读取公开数据——npm、PyPI、GitHub Releases 和 OSV.dev。
你的 Agent 中会出现两个工具:
| 工具 | 功能 |
|---|---|
get_migration_delta | 说明版本 A 和 B 之间有哪些变化导致代码出错,并为每项说明附上引用 |
check_package | 确认此软件包是否确实存在?在安装前识别幻觉和仿冒软件包名称 |
你也可以设置 ANTHROPIC_API_KEY,在确定性结果的基础上添加由大模型合成的迁移步骤。不设置也能完整使用。
为什么要做这个项目
每个 LLM 都受限于训练数据截止时间,而库不会。当 Agent 编写的代码所针对的版本比其知识截止时间更新时,它会自信地生成一个已不存在的 API,然后大约经过 6 次构建失败与修复迭代,才逐渐找到正确方案。
**SDKProof 基准测试(2026 年 7 月)**对此进行了测量:在 Prisma v7 上,模型得分为 80/100(v6 的 PrismaClient 模式已被移除);在 Vercel AI SDK v5+ 上,得分为 90/100(参数已重命名,maxSteps 已删除)。
Without driftwatch: ~6 failed iterations x ~15k tokens -> $0.30-$1.50 + 10-20 min
With driftwatch: 1 call -> $0.05
买家可以自行计算出 6–30 倍的回报。无需信任任何人。
快速开始
npm install
cp .env.example .env
npm start
# The product
curl "localhost:4021/v1/delta?ecosystem=npm&name=react&from=18.2.0&to=19.0.0"
# Free safety check -- catches hallucinated and typosquatted packages
curl "localhost:4021/v1/check?ecosystem=npm&name=recat"
付款功能和付费 AI 功能均默认关闭。完全免费。
你将获得什么
{
"package": "react",
"from": "18.2.0", "to": "19.0.0",
"jump": { "kind": "major", "majorsCrossed": 1, "releasesInRange": 583 },
"tier": "evidence",
"breakingChanges": [
{
"summary": "Removed: `ReactDOM.render`, `ReactDOM.hydrate` ...",
"version": "19.0.0",
"confidence": "medium",
"symbols": ["ReactDOM", "render", "hydrate"],
"citations": [{ "kind": "release-note", "url": "https://github.com/..." }]
}
],
"advisories": [],
"citations": [ /* every source we relied on */ ]
}
每项说明都链接到一手来源。我们发布事实和简短引用——绝不大段复制文档。
架构
┌──────────────────────────────────────────┐
│ FREE PUBLIC SOURCES (no licensed data) │
│ npm · PyPI · GitHub Releases · OSV.dev │
└────────────────────┬─────────────────────┘
│
┌───────────▼───────────┐
│ ENGINE │
│ ┌──────────────────┐ │
│ │ deterministic │ │ always on, $0
│ │ extraction │ │
│ └────────┬─────────┘ │
│ ┌────────▼─────────┐ │
│ │ LLM synthesis │ │ OPTIONAL, capped
│ │ (off by default) │ │
│ └────────┬─────────┘ │
└───────────┼────────────┘
│
┌───────────▼───────────┐
│ SQLite PERMANENT CACHE│ ← the margin
│ + revenue ledger │
└───────────┬───────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
┌───────▼───────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ MCP server │ │ HTTP API │ │ x402 layer │
│ (stdio) │ │ + OpenAPI │ │ (Base, USDC) │
│ │ │ │ │ │
│ DISTRIBUTION │ │ REVENUE │ │ OPTIONALITY │
└───────────────┘ └─────────────────┘ └─────────────────┘
**一句话概括策略:**MCP 拥有用户,API 带来收入,x402 是低成本的市场定位。了解原因,请参阅 DECISION.md;了解实测证据,请参阅 MARKET_RESEARCH.md。
端点
| 端点 | 价格 | 用途 |
|---|---|---|
GET /v1/delta | $0.05 | 产品核心——两个版本之间的重大变更 |
POST /v1/manifest | $0.15 | 批量分析,最多 50 个软件包 |
GET /v1/check | 免费 | 此软件包是否存在?它是否为仿冒包? |
GET /health | 免费 | 存活状态 |
GET /openapi.json | 免费 | 机器可读规范 |
GET /llms.txt | 免费 | Agent 可读摘要 |
GET /.well-known/x402 | 免费 | 付款发现 |
GET /admin/stats | localhost | 收入与成本账本 |
生态系统:npm、PyPI。
MCP 服务
分发渠道。提供两个工具:get_migration_delta 和 check_package。
发布为 driftwatch-mcp——
一段式设置方法请参阅上文的安装。
如果要从克隆的仓库运行,而不是使用 npm:
{
"mcpServers": {
"driftwatch": {
"command": "node",
"args": ["--experimental-strip-types", "/path/to/driftwatch/src/mcp/server.ts"]
}
}
}
默认在本地运行引擎——不会向我们的服务发起网络请求,也无需付款。如需改用托管实例,请设置 DRIFTWATCH_REMOTE_URL。
无需原生依赖。better-sqlite3 是可选的;如果它无法在你的机器上构建,服务端会回退到普通 JSON 缓存,功能完全相同。原生构建失败是 MCP 服务在安装时无法启动的最常见原因,而这个服务可以应对这种情况。
命令
npm start # run the API server
npm run dev # run with auto-reload
npm run mcp # run the MCP server (stdio)
npm test # unit tests -- no network, no cost
npm run testclient # simulate a customer end to end
npm run wallet:new # generate a TESTNET wallet
一段话说明安全性
此服务绝不会持有私钥。 接收加密货币只需要一个公开地址;只有支出时才需要密钥,而我们只会接收。即使服务遭到入侵,攻击者拿到的也只是缓存和账本——他们无法取得资金,因为这里根本没有资金可取。LLM 支出设有每日上限,并会在每次调用前进行检查。详情请参阅:docs/SECURITY.md。
诚实说明现状
已发布,但还没有用户使用。 截至 2026 年 8 月 23 日,npm 包已上线,并已验证可通过全新安装正常运行,但没有任何自然增长的用户。这就是实际情况:代码可以正常运行,但尚未开始推广。
这是一项未经验证的业务。 已测得的事实:
- 整个独立 x402 卖家经济体每月仅 约 11,700 美元,共有 14,128 项已注册服务(测量时间:2026-08-07——请参阅 MARKET_RESEARCH.md)。
- 最成功的独立运营者每月收入 约 872 美元。
- 大多数编码 Agent 在人类的订阅中运行,没有钱包。
因此:预计免费的 MCP 使用量会远远超过付费调用量,第一年的 x402 收入也很可能接近零。该服务的构建方式确保即使出现这种结果,每月成本也仅约 1 美元,同时仍能提供真正有用的功能。
重要的指标不是收入,而是每位独立付费用户的调用次数。低于 5 次表示只是来试用;超过 20 次则说明业务切实可行,即使收入很少。
Apify 上的数据 Actor
actors/ 文件夹和 src/jobs/ 存放着 CMM Research 付费数据 Actor 的源代码。每个 Actor 都运行在
Apify 上,按结果收费,并提供供 AI Agent 使用的 MCP 端点:
| Actor | 功能 |
|---|---|
| 职业网站职位 API | 搜索来自 19,000 多家公司的自有职业网站(Workday、Oracle、Greenhouse 及另外 14 个平台)的 180 多万个在招职位,每晚更新,并提供薪资信息 |
| 美国医院、护士及医疗保健职位 | 来自 68 个大型美国医疗系统的 113,000 多个职位空缺,按职位、科室、班次、临时/差旅和入职奖金分类 |
| Greenhouse、Lever 和 Ashby 职位 | 来自 3,500 多家初创公司招聘公告板的实时职位,并提供薪资信息 |
| Workday 职位抓取器 | 获取任意 myworkdayjobs.com 网站上的所有职位,不受 Workday 的 2,000 条结果上限限制 |
| 正在招聘任意职位的公司 | 每家招聘特定职位的公司占一行:职位空缺、新职位和招聘增长情况 |
| 近期获得融资的公司(SEC Form D) | 从 SEC 文件中获取刚刚获得私人融资的美国公司 |
| Shopify 商店潜在客户 | 按细分领域、国家/地区、应用和主题筛选的 188,000 多家实时 Shopify 商店,并提供已公开的联系方式 |
Kaggle 上提供免费样本:职位、 医院职位、 融资轮次、 Shopify 商店。
文档
| 文件 | 内容 |
|---|---|
| BEGINNER_GUIDE.md | 全部内容,以通俗易懂的语言编写 |
| MARKET_RESEARCH.md | x402、MCP 和 Agent 支付的实测现状 |
| OPPORTUNITIES.md | 对 20 个商业机会的评估与排名 |
| DECISION.md | 为什么选择这个项目,以及坦诚说明其中的注意事项 |
| PROJECT_STATUS.md | 已完成 / 进行中 / 下一步 |
| docs/SECURITY.md | 密钥托管、支出控制、威胁模型 |
| docs/ECONOMICS.md | 单位经济效益和三种情景 |
| docs/COSTS.md | 决定之前需了解的所有经常性成本 |
| docs/DEPLOYMENT.md | Mac Mini → 互联网 → 主网 → VPS |
| DAY_1.md … MONTH_1.md | 具体的启动计划 |
数据来源与伦理
所有输入数据均免费、公开且不受许可证限制:npm 注册表、PyPI、GitHub Releases 和 OSV.dev。
我们有意不转售受许可证保护的数据。如今收入最高的独立 x402 运营方会代理付费 API(People Data Labs、Exa、Firecrawl),这很可能违反其服务条款。这是目前已证实能在 x402 上奏效的唯一商业模式,但我们没有采用。
我们发布事实并附上简短引文和链接,绝不转载文档。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。