Skip to content

Repository files navigation

[English](./README.en.md)  ⇄  简体中文
DropDiff — Spec-diff CLI for the Chinese model carousel

国产模型 carousel 的 Renovate —— 一行命令,只 diff 影响你 Agent 配置的 drop

每周 DeepSeek / Qwen / Kimi / GLM 的 drop,你不必再翻五个 tab —— DropDiff 只标出影响你已 wired 配置的那一条。

license release ci go Agent Skill

目录

架构

架构:Wired Config + Drop Registry → Differ → 红/绿 Config Deltas

单进程、单二进制、三个命令。init 把你已 wire 的配置快照成 baseline;sync 拉取策展的 drop-spec registry;checkDropSpec × WiredConfig → ConfigDelta 这组三元做 diff,只打印红/绿 delta。唯一的网络调用是 synccheck 默认用嵌入二进制的 bundled registry,零网络也能跑。

为什么做这个

国产模型的 drop 不像 npm 包那样有版本号 —— 它们散落在 ModelScope 卡片、国产 SDK 的 commit log 和 Reddit 的 benchmark drama 里。把一个新 drop(定价 / 上下文 / 缓存价 / quant / tool-call 怪癖)和你当前 wired 的配置对上,每周要手动扒五个 tab,约 2 小时。

DropDiff 把这件事压成一行命令。它的护城河是那个 Affects 布尔:「这条 delta 是不是动到了你真正 wired 的字段?」 ModelScope 卡片是模型作者写的,它不知道你 wire 的是 glm-4.6 还是 deepseek-v4 —— 卡片能把「Qwen3.8-Max 输入 14.0 ¥/M」告诉你,却没法告诉你「这比你 wire 的 Qwen3-VL 贵了 28 倍」。

这恰好是 langgenius/dify 这类 Agent 平台用户每周都在做的 chore:在 Dify 里 wire 一个国产模型 endpoint,然后每周判断要不要换到这周更好的 drop。DropDiff 就是那个判断的那一行命令 —— Dify 负责跑 Agent,DropDiff 负责告诉你这周的 drop 该不该换。Agent 是这整个流程的消费端锚点。

安装

Go(推荐):

go install github.com/SuperMarioYL/dropdiff@latest

从源码:

git clone https://github.com/SuperMarioYL/dropdiff
cd dropdiff && go build -o dropdiff . && sudo mv dropdiff /usr/local/bin/

预编译二进制:Releases(首个 tag 推送后,GoReleaser 会产出 linux/darwin/windows × amd64/arm64 + sha256)。

快速开始

从冷启动到首个可见结果,两条命令:

dropdiff init     # 检测 ~/.claude.json / ~/.aider/conf.yml / .env,快照到 ~/.dropdiff/wired.yaml
dropdiff check    # diff 本周国产 drop,只打印影响你配置的红/绿 delta
示例输出(GLM 5.3 cache-price 抓取)
wired: ~/.dropdiff/wired.yaml  (model=glm-4.6, base_url=https://open.bigmodel.cn)
registry: bundled  (10 drops, updated 2026-08-09)

glm-5.3  2026-07-29  [GLM]
  ✓ pricing.cache: 0.28 CNY/M -> 0.14 CNY/M
      affects your wired config — implicit cache price
  ✓ quants: fp16,int8 -> fp16,int8,fp8
      informational — quants removed=[] added=[fp8]
2 delta(s): 0 red, 2 green, 0 amber

用法

# 从 .env wire 一个国产模型 endpoint(带 cache + context,让 delta 标记为 Affects)
printf 'MODEL=glm-4.6\nOPENAI_API_BASE=https://open.bigmodel.cn\nCACHE_MODE=implicit\nMAX_CONTEXT=128000\n' > .env
dropdiff init --cwd .

# 拉取最新的 drop-spec registry(默认从 hosted raw GitHub;$DROPDIFF_REGISTRY_URL 可覆盖)
dropdiff sync

# 列出 registry 里的所有 drop(含 ModelScope card + 国产 SDK commit 来源)
dropdiff list

# 用一个手动指定的 wired 配置做 check
dropdiff --config /path/to/wired.yaml check

# 看版本
dropdiff --version

init 会按 ~/.claude.json → ~/.aider/conf.yml → .env 的顺序探测,先找到的字段胜出,后续来源只补空缺 —— 所以 .env 里写 BASE_URLclaude.json 里写 model 也能合并成一份完整快照。

Demo

demo

asciinema 录制(GLM 5.3 cache-price 在 ModelScope 卡片更新前被抓到):assets/demo.cast。GIF 由 docs/demo.tape 经 vhs 在 CI 渲染。

对比

DropDiff 是 diff 工具,不是 Agent 平台,也不是 awesome 目录。和它放在一起看的:

维度 DropDiff langgenius/dify ModelScope 卡片
知道你 wired 什么 ✓(在 Dify 里 wire)
per-drop 红绿 delta
国产 SDK commit 优先
跑 Agent / 编排
模型作者维护的 spec

DropDiff 不替 Dify 编排 Agent,也不做 awesome-claude-skills 那种 Skill 目录 —— 它只 diff,且只标影响你配置的那一条。(诚实地说:Dify 在「跑 Agent / 编排」这一行比 DropDiff 强得多 —— 那本来就不是 DropDiff 的活。)

配置

~/.dropdiff/wired.yaml —— 由 dropdiff init 从你的 claude.json / aider / .env 快照而来:

key 类型 默认 含义
model string 你 wired 的模型 id,如 glm-4.6deepseek-v4
base_url string 你 wired 的 endpoint URL
context string wired 的 max context(token)
cache_mode string implicit / off 等;决定缓存价 delta 是否 Affects
source string 快照来源文件(逗号分隔)

check 优先读 ~/.dropdiff/registry.yamlsync 写入),没有就回退到嵌入二进制的 bundled registry。$DROPDIFF_REGISTRY_URL 可覆盖 sync 的来源。

路线图

  • m1 wired configdropdiff init 解析 claude/aider/.env → wired.yaml
  • m2 spec registry — 策展 registry.yaml(8 周国产 drop)+ dropdiff sync 拉取 hosted JSON
  • m3 diff checkdropdiff check 红绿 config-affecting delta + assets/demo.cast
  • v0.2 — live 国产 SDK commit 抓取(取代手工策展,z-ai-sdk-java 等)
  • v0.3 — 多 provider routing baseline(self-hosted Qwen 等 OpenRouter 看不到的)
  • v0.4 — 每周 diff 邮件 / webhook(OSS-first,单配置免费)

License

MIT —— 见 LICENSE。欢迎在 Issues 提问题或 PR。

Share this

DropDiff — 给国产模型 carousel 做的 Renovate。一行命令把每周 DeepSeek/Qwen/Kimi/GLM 的定价/缓存/quant 变更 diff 成只影响你 Agent 的红绿标记。 https://github.com/SuperMarioYL/dropdiff

MIT © 2026 SuperMarioYL

About

为 coding agent 标出每周影响配置的国产模型 drop 变更

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages