|
7 | 7 | "accent": ["#F59E0B"], |
8 | 8 | "hero": { |
9 | 9 | "eyebrow": { |
10 | | - "zh": "本地代理 · 无守护进程 · 单二进制 · 零遥测", |
11 | | - "en": "Local proxy · No daemon · Single binary · Zero telemetry" |
| 10 | + "zh": "到顶即停 · 请求不出本机 · 不挂后台 · 不回传数据", |
| 11 | + "en": "Stops at the cap · Stays on your machine · No background process · Phones nothing home" |
12 | 12 | }, |
13 | 13 | "headline": { |
14 | | - "zh": "硬性卡住你的编码 Agent 花费\n在任何请求离开本机之前", |
15 | | - "en": "Hard-cap your coding-agent spend\nbefore a single request leaves your machine" |
| 14 | + "zh": "给编码 Agent 设一道硬上限\n到顶就停,下一条请求不出本机", |
| 15 | + "en": "A hard cap on what your coding agent can spend\n— it stops at the line, before the next request leaves" |
16 | 16 | }, |
17 | 17 | "sub": { |
18 | | - "zh": "单个 Go 二进制把你的 claude、codex 或 aider CLI 作为子进程 exec,指向本地代理,按项目美元上限熔断,写入本地 bbolt 账本——无守护进程、无云端、无遥测。", |
19 | | - "en": "A single Go binary execs your claude, codex, or aider CLI as a child, points it at a local proxy, and fail-closes at a per-project USD cap written to a local bbolt ledger — no daemon, no cloud, no telemetry." |
| 18 | + "zh": "在项目根目录放一个 .fuse.toml,写上这项目最多花几美元。你的 claude、codex、aider 跑过夜循环时,累计花费一到上限就停——下一条请求直接在本机被挡回。不挂后台、不上云、不回传任何数据。一个会偷偷回传数据的熔断器,本身就是问题。", |
| 19 | + "en": "Drop a .fuse.toml at your project root with a USD cap. When your claude, codex, or aider runs an overnight loop, the moment cumulative spend hits the cap it stops — the next request is turned back at your machine. No background process, no cloud, nothing phoned home. A kill-switch that phones home is itself the problem." |
20 | 20 | }, |
21 | 21 | "command": "fuse run claude", |
22 | 22 | "cta": { "zh": "开始使用", "en": "Get started" }, |
23 | 23 | "ctaGithub": { "zh": "在 GitHub 查看", "en": "View on GitHub" } |
24 | 24 | }, |
25 | 25 | "advantages": [ |
26 | 26 | { |
27 | | - "title": { "zh": "到顶即熔断,并发也冲不过", "en": "Fail-closed at the cap — even under concurrency" }, |
| 27 | + "title": { "zh": "到顶就停,并发也冲不过上限", "en": "Stops at the cap — even under concurrent load" }, |
28 | 28 | "body": { |
29 | | - "zh": "每个请求走四道 fail-closed 闸:账号指纹、tiktoken 预估、账本对账、cap_usd 判定。v0.4 把 Reserve→CommitDelta 原子守卫从 anthropic、openai 铺到 deepseek、gemini、openai_compat——五个 provider 上并发请求再也没法集体冲过上限。", |
30 | | - "en": "Every request clears four fail-closed gates: account fingerprint, tiktoken pre-flight, ledger check, then a cap_usd verdict. v0.4 propagates the atomic Reserve→CommitDelta guard from anthropic and openai out to deepseek, gemini, and openai_compat — concurrent requests can no longer collectively overshoot the cap on any of the five providers." |
| 29 | + "zh": "一个过夜循环里,几十条请求可能同时往外冲。agentfuse 在每条请求出门前都核对一次累计花费——到顶就挡回,不管同时有多少条在飞。没有“差一点没卡住”这种事。", |
| 30 | + "en": "In an overnight loop, dozens of requests can race out at once. agentfuse checks the running total before each one leaves — and turns back any that would cross the line, no matter how many are in flight. There's no 'almost held' here." |
31 | 31 | }, |
32 | 32 | "chips": [ |
33 | | - "› 四道 fail-closed 闸", |
34 | | - "› HTTP 402 拒绝", |
35 | | - "› 原子 Reserve/CommitDelta(全 5 provider)" |
| 33 | + "› 每条请求出门前核对", |
| 34 | + "› 到顶即挡回", |
| 35 | + "› 并发也守得住" |
36 | 36 | ] |
37 | 37 | }, |
38 | 38 | { |
39 | | - "title": { "zh": "一个二进制,五种 wire format", "en": "One binary, five wire formats" }, |
| 39 | + "title": { "zh": "不管你用哪家的模型,上限都一样", "en": "Same cap, whichever model you run" }, |
40 | 40 | "body": { |
41 | | - "zh": "同一个 fuse run、同一份 .fuse.toml,接 Anthropic、OpenAI、Gemini、DeepSeek 和任意 OpenAI-compat 主机(Groq、Mistral、xAI、Together、OpenRouter)。流式响应漏报 usage 时,本地 tiktoken 兜底补计,账本绝不 silently 记一笔 $0。", |
42 | | - "en": "One fuse run, one .fuse.toml, five provider families — Anthropic, OpenAI, Gemini, DeepSeek, and any OpenAI-compat host (Groq, Mistral, xAI, Together, OpenRouter). When a stream omits the usage block, a local tiktoken fallback bills it instead — the ledger never silently records $0." |
| 41 | + "zh": "一份 .fuse.toml、一行 fuse run,管住你接的每一家模型服务。流式回复漏报花费时,agentfuse 在本地把花费补回来——绝不会悄悄记一笔 $0,让上限形同虚设。", |
| 42 | + "en": "One .fuse.toml, one fuse run — the cap holds across every model service you've configured. And when a streamed reply omits its usage, agentfuse reconstructs the cost locally — it never silently bills $0 and lets the cap drift." |
43 | 43 | }, |
44 | 44 | "chips": [ |
45 | | - "› 5 个 provider 处理器", |
46 | | - "› 流式 SSE 逐帧取 usage", |
47 | | - "› tiktoken 本地兜底" |
| 45 | + "› 一份配置管所有模型服务", |
| 46 | + "› 漏报花费本地补回", |
| 47 | + "› 绝不记一笔 $0" |
48 | 48 | ] |
49 | 49 | }, |
50 | 50 | { |
51 | | - "title": { "zh": "价格表本地化,永不联网", "en": "Price table stays local, never networked" }, |
| 51 | + "title": { "zh": "价格表在你本机,从不联网", "en": "Prices live on your machine, never fetched" }, |
52 | 52 | "body": { |
53 | | - "zh": "价格快照打进二进制,用 ~/.fuse/prices.toml 按机器覆盖,二进制从不联网取价——这是信任前提。新的 fuse prices --diff 让价格漂移可见:哪些覆盖压住了 bundle 已变动的默认值,哪些用户条目指向 bundle 已退役的模型。", |
54 | | - "en": "The price snapshot is embedded in the binary; you override per-machine via ~/.fuse/prices.toml. The binary never fetches prices over the network — that is the trust premise. The new fuse prices --diff makes drift visible: which of your overrides shadow a bundled default that has since moved, and which of your entries point at a model the bundle has retired." |
| 53 | + "zh": "模型价格内置在工具里,你可以按机器覆盖。agentfuse 从不联网取价——这是它能当熔断器的前提。fuse prices --diff 还会告诉你:你的本地覆盖里,哪些压住了已变动的默认值,哪些指向已经下架的模型。", |
| 54 | + "en": "Model prices ship inside the tool; you override them per machine. agentfuse never fetches a price over the network — that's the premise for a tool allowed to cut off your spend. fuse prices --diff shows which of your overrides shadow a default that has since moved, and which point at a model that has since been retired." |
55 | 55 | }, |
56 | 56 | "chips": [ |
57 | | - "› bundle 内嵌 + 用户覆盖", |
58 | | - "› fuse prices --diff 漂移检测", |
59 | | - "› 零网络取价" |
| 57 | + "› 价格内置,可覆盖", |
| 58 | + "› fuse prices --diff 看漂移", |
| 59 | + "› 零联网取价" |
60 | 60 | ] |
61 | 61 | }, |
62 | 62 | { |
63 | | - "title": { "zh": "本地账本,无守护,单二进制", "en": "Local ledger, no daemon, one binary" }, |
| 63 | + "title": { "zh": "全部留在本机,三十秒能审完", "en": "Everything stays local — auditable in 30 seconds" }, |
64 | 64 | "body": { |
65 | | - "zh": "账本写在 ~/.fuse/ledger.db(bbolt,键为 (project, day)),代理随子进程退出而消亡。除了你点名的上游 provider,二进制不与任何东西通信。用 strings 三十秒就能审计完——一个会回传数据的熔断器本身就是信任问题。", |
66 | | - "en": "The ledger lives at ~/.fuse/ledger.db (bbolt, keyed by (project, day)); the proxy dies with the wrapped child. The binary talks to nothing but the upstream provider you configured. Audit it with strings in thirty seconds — a kill-switch that phones home is itself the trust problem." |
| 65 | + "zh": "花费只写在你本机的一个文件里,工具随你那条 Agent 命令一起退出,不挂后台。除了你配的那家模型服务,它不和任何东西通信。三十秒就能审完它会不会回传数据——一个会偷偷回传的熔断器,本身就是信任问题。", |
| 66 | + "en": "Spend is written to a single file on your machine; the tool exits with the agent command it wrapped — nothing lingers in the background. It talks to nothing but the model service you configured. You can audit in thirty seconds whether it phones anything home — a kill-switch that phones home is itself the trust problem." |
67 | 67 | }, |
68 | 68 | "chips": [ |
69 | | - "› bbolt 本地账本", |
70 | | - "› 代理随子进程退出", |
71 | | - "› strings 30 秒可审计" |
| 69 | + "› 花费只写本机", |
| 70 | + "› 不挂后台", |
| 71 | + "› 三十秒可审" |
72 | 72 | ] |
73 | 73 | } |
74 | 74 | ], |
75 | 75 | "scene": { |
76 | 76 | "kind": "hub-nodes", |
77 | | - "nodes": ["Anthropic", "OpenAI", "Gemini", "DeepSeek", "OpenAI-compat"] |
| 77 | + "nodes": ["Overnight loop", "Wrong account", "Budget drain", "Untracked spend"] |
78 | 78 | }, |
79 | 79 | "cta": { |
80 | 80 | "headline": { |
81 | 81 | "zh": "一行 .fuse.toml,守住每个项目的上限", |
82 | 82 | "en": "One .fuse.toml, one cap per project" |
83 | 83 | }, |
84 | 84 | "sub": { |
85 | | - "zh": "开源、MIT、无付费墙。本地代理这一核心动作,永不设墙。", |
86 | | - "en": "Open source, MIT, no paywall. The core act of proxying locally is never gated." |
| 85 | + "zh": "开源、MIT、无付费墙。在你本机给 Agent 设上限这件事,永不收费。", |
| 86 | + "en": "Open source, MIT, no paywall. The act of capping your agent locally is never gated." |
87 | 87 | }, |
88 | 88 | "button": { "zh": "在 GitHub 上开始", "en": "Get started on GitHub" } |
89 | 89 | }, |
90 | 90 | "footer": { |
91 | 91 | "tag": { |
92 | | - "zh": "给编码 Agent CLI 装的本地花费熔断器", |
93 | | - "en": "The local kill-switch proxy for coding-agent CLI spend" |
| 92 | + "zh": "给编码 Agent 花费装的本地熔断器", |
| 93 | + "en": "The local kill-switch for coding-agent spend" |
94 | 94 | } |
95 | 95 | } |
96 | 96 | } |
0 commit comments