driftwatch

io.github.dhughes6071由 GitHub 帳號 dhughes6071 發布v0.1.2更新於 Oct 24, 2026

What broke between two dependency versions, with a citation for every claim. No API key needed.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

讓助理查詢某個 npm 或 PyPI 套件在兩個版本之間出現哪些破壞性變更(附引用),並確認套件名稱是否真實存在。

可以做什麼
提供兩個工具:get_migration_delta 回報套件從版本 A 到版本 B 的破壞性變更,每項結論都附上引用來源;check_package 確認套件是否存在,並找出虛構或仿冒(typosquat)的名稱。引擎在本機執行,讀取 npm、PyPI、GitHub Releases 與 OSV.dev 等公開來源。預設結果為確定性擷取,可選的 LLM 層可額外產生遷移步驟。
適用情境
當助理針對比其訓練資料更新的函式庫版本撰寫或升級程式碼,需要知道哪些 API 已被移除或改名時適用。在安裝不熟悉的套件之前也值得加入,用來找出不存在的名稱或疑似仿冒的套件名。
執行需求
以本機 stdio 程序執行,通常用 npx driftwatch-mcp 啟動,因此需要 Node.js。不需要帳號、付款或 API 金鑰;可選的 ANTHROPIC_API_KEY 環境變數僅用於增加 LLM 產生的遷移步驟。需要網路連線以存取公開的套件登錄庫與安全公告來源。
安裝前請注意
可選的 ANTHROPIC_API_KEY 屬於機密資訊,一旦設定即啟用 LLM 合成,專案表示其支出設有每日上限。README 也描述了一個含付費端點與 x402 加密貨幣支付層的託管 HTTP API,但 MCP 伺服器預設在本機執行,且專案聲明其從不持有私鑰。README 本身亦指出該套件目前尚無自然使用者。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 driftwatch,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

driftwatch

[npm] [license] [node]

Dependency migration intelligence for AI coding agents.

Answers one question, precisely and with citations:

This library moved from version A to version B. What broke, and what edits does my code need?

New here? Start with the Beginner's Guide.

This repo also holds the source of CMM Research's data Actors on Apify: job, hospital, funding and Shopify data APIs.


Install (30 seconds)

Add it to Claude Desktop, Claude Code, Cursor, or any MCP client:

json
{  "mcpServers": {    "driftwatch": {      "command": "npx",      "args": ["-y", "driftwatch-mcp"]    }  }}

That is the whole setup. No API key, no account, no payment, no config. The engine runs locally on your machine and reads only public data — npm, PyPI, GitHub Releases, and OSV.dev.

Two tools appear in your agent:

ToolWhat it does
get_migration_deltaWhat broke between version A and B, with a citation for every claim
check_packageDoes this package actually exist? Catches hallucinated and typosquatted names before you install them

Optionally set ANTHROPIC_API_KEY to add LLM-synthesized migration steps on top of the deterministic results. It works fully without one.


Why this exists

Every LLM is frozen at a training cutoff. Libraries are not. When an agent writes code against a version newer than its cutoff, it confidently emits an API that no longer exists — and then burns roughly six failed build-fix iterations converging on the truth.

The SDKProof benchmark (July 2026) measured this: models score 80/100 on Prisma v7 (the v6 PrismaClient pattern was removed) and 90/100 on Vercel AI SDK v5+ (parameters renamed, maxSteps deleted).

Without driftwatch:  ~6 failed iterations x ~15k tokens  ->  $0.30-$1.50 + 10-20 minWith driftwatch:     1 call                              ->  $0.05

A 6–30x return the buyer computes for themselves. No trust required.


Quick start

bash
npm installcp .env.example .envnpm start
bash
# The productcurl "localhost:4021/v1/delta?ecosystem=npm&name=react&from=18.2.0&to=19.0.0"
# Free safety check -- catches hallucinated and typosquatted packagescurl "localhost:4021/v1/check?ecosystem=npm&name=recat"

Runs with payments off and paid AI features off. Costs nothing.


What you get

jsonc
{  "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 */ ]}

Every claim links to a primary source. We publish facts and short citations — never wholesale documentation.


Architecture

                 ┌──────────────────────────────────────────┐                 │   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   │      └───────────────┘      └─────────────────┘    └─────────────────┘

The strategy in one line: MCP has the users, the API has the revenue, x402 is cheap positioning. See DECISION.md for why, and MARKET_RESEARCH.md for the measured evidence.


Endpoints

EndpointPricePurpose
GET /v1/delta$0.05The product — breaking changes between two versions
POST /v1/manifest$0.15Batch analysis, up to 50 packages
GET /v1/checkfreeDoes this package exist? Is it a typosquat?
GET /healthfreeLiveness
GET /openapi.jsonfreeMachine-readable spec
GET /llms.txtfreeAgent-readable summary
GET /.well-known/x402freePayment discovery
GET /admin/statslocalhostRevenue and cost ledger

Ecosystems: npm, PyPI.


MCP server

The distribution channel. Two tools: get_migration_delta and check_package.

Published as driftwatch-mcp — see Install above for the one-block setup.

To run it from a clone instead of npm:

json
{  "mcpServers": {    "driftwatch": {      "command": "node",      "args": ["--experimental-strip-types", "/path/to/driftwatch/src/mcp/server.ts"]    }  }}

Runs the engine locally by default — no network calls to us, no payment. Set DRIFTWATCH_REMOTE_URL to point it at a hosted instance instead.

No native dependencies required. better-sqlite3 is optional; if it cannot build on your machine the server falls back to a plain JSON cache and works identically. A failed native build is the most common reason MCP servers die on install, and this one survives it.


Commands

bash
npm start           # run the API servernpm run dev         # run with auto-reloadnpm run mcp         # run the MCP server (stdio)npm test            # unit tests -- no network, no costnpm run testclient  # simulate a customer end to endnpm run wallet:new  # generate a TESTNET wallet

Security in one paragraph

This server never holds a private key. Receiving crypto needs only a public address; only spending needs a key, and we only ever receive. Compromise the server and you get a cache and a ledger — you cannot get funds, because there is nothing to get. LLM spending is capped daily and checked before every call. Full detail: docs/SECURITY.md.


Honest status

Shipped, and used by nobody yet. As of 23 August 2026 the npm package is live and verified working from a cold install, and it has zero organic users. That is the honest state: the code works, the distribution has not started.

This is an unvalidated business. The measured facts:

  • The entire independent x402 seller economy is ~$11,700/month across 14,128 registered services (measured 2026-08-07 — see MARKET_RESEARCH.md).
  • The best independent operator makes ~$872/month.
  • Most coding agents run inside a human's subscription and have no wallet.

So: expect free MCP usage to vastly exceed paid calls, and expect x402 revenue near zero in year one. The service is built so that outcome costs ~$1/month and still produces something genuinely useful.

The metric that matters is not revenue — it is calls per unique payer. Below 5 means tourism. Above 20 means a real business, even at tiny revenue.


Data Actors on Apify

The actors/ folder and src/jobs/ hold the source of CMM Research's paid data Actors. Each runs on Apify, with pay-per-result pricing and an MCP endpoint for AI agents:

ActorWhat it does
Career Site Jobs APISearch 1.8M+ open jobs from 19,000+ companies' own career sites (Workday, Oracle, Greenhouse and 14 more), refreshed nightly, with salaries
US Hospital, Nurse & Healthcare Jobs113,000+ openings at 68 large US health systems, tagged by role, unit, shift, per diem / travel and sign-on bonus
Greenhouse, Lever & Ashby JobsLive jobs from 3,500+ startups' job boards, with salaries
Workday Jobs ScraperEvery job on any myworkdayjobs.com site, past Workday's 2,000-result cap
Companies Hiring for Any RoleOne row per company hiring for a role: openings, new roles, hiring growth
Recently Funded Companies (SEC Form D)US companies that just raised private money, from SEC filings
Shopify Store Leads188,000+ live Shopify stores by niche, country, apps and theme, with published contacts

Free samples on Kaggle: jobs, hospital jobs, funding rounds, Shopify stores.

Documentation

FileWhat's in it
BEGINNER_GUIDE.mdEverything, in plain English
MARKET_RESEARCH.mdMeasured state of x402, MCP, and agent payments
OPPORTUNITIES.md20 businesses considered, ranked
DECISION.mdWhy this one, and the honest caveats
PROJECT_STATUS.mdDone / in progress / next
docs/SECURITY.mdKey custody, spending controls, threat model
docs/ECONOMICS.mdUnit economics and three scenarios
docs/COSTS.mdEvery recurring cost, before you commit
docs/DEPLOYMENT.mdMac Mini → internet → mainnet → VPS
DAY_1.md … MONTH_1.mdConcrete launch plan

Data sources and ethics

All inputs are free, public, and unlicensed: the npm registry, PyPI, GitHub Releases, and OSV.dev.

We deliberately do not resell licensed data. The highest-earning independent x402 operators today proxy paid APIs (People Data Labs, Exa, Firecrawl) in probable breach of their terms. That is the one business model demonstrably working on x402, and we ruled it out.

We publish facts with short citations and links — never reproduced documentation.

來源:README.md,提交 c1170c6

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分