
上线 24 小时 13% 付费团队连夜迁移Jev 系工具凭什么让 Claude Code 用户集体换方案【免费下载链接】fast-jev-compactionClaude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are dropped or truncated, everything kept stays verbatim.项目地址: https://gitcode.com/gh_mirrors/fa/fast-jev-compaction2026 年 9 月中旬一家刚结束两年隐身期的 40 人小公司 TypeSafe AI 发布了名为 Jev 的模型。它的卖点听起来像行为艺术不生成文本只输出结构化概率决策。三天内相关帖子在 Hacker News 冲到 1863 分、491 条评论两周内社区声称围绕它长出了 28 个开源项目。而在这波决策型 AI浪潮里与 Claude Code 用户关系最直接的是 fast-jev-compaction——一个用 Jev 决策替代 LLM 有损摘要的上下文压缩插件。本文不打算复述13% 付费团队连夜迁移的热搜叙事而是把它当成一个值得解剖的传播样本这个数字从哪来、能否核实迁移的底层触发点到底是什么fast-jev-compaction 在仓库源码层面究竟做了什么才让它从替代方案变成长会话场景下的标配组件最后给出观望者一个基于事实而非情绪的上车判断框架。一、13% 连夜迁移到底从哪来一条无法核实但值得解剖的传播链上线 24 小时13% 的付费团队连夜换到 Jev这个说法出自掘金社区一篇标题为《⚡上线 24 小时13% 的付费团队连夜换到 Jev它到底什么来头》的文章发布于 2026 年 9 月 22 日。它描述的是上周外网开发者圈的讨论作者自称是社区转述者通篇没有给出 13% 的统计口径——是付费团队总数中的 13%还是试用团队中的 13%样本从哪来统计窗口如何界定这些关键信息全部缺失。把13%当作官方数据是不负责任的。但把这条传播链完全当作流量噱头同样失之草率。因为这条链上的其他事实节点是可以交叉验证的发布与团队Jev 于 2026 年 9 月 15 日由 TypeSafe AI 发布创始人系前 OpenAI 研究员团队规模约 40 人此前两年处于隐身研发状态社区多篇文章可相互印证。社区热度9 月 15 日发布当天TypeSafe 在 HN 发帖一天冲到 1863 分、491 条评论掘金文章《发布 3 天登顶 HN不生成一个字的模型 Jev我把它的源码和黑料都扒了一遍》到 9 月 23 日已有文章盘点出 28 个 Jev 生态项目。针对 fast-jev-compaction 的直接热度头条号文章标题直接给出Github 4.7k starfast-jev-compaction 的上下文压缩新玩法这是 9 月下旬可查证的仓库热度信号。反方声音InfoQ-CN 转载了 Redis 之父对 Jev 狂热的质疑——绝大多数开发者其实不需要它。这条信息同样重要它说明连夜迁移不是一边倒的共识而是伴随争议的扩散。所以对13%最严谨的读法是它是一篇社区文章标题里的传播话术不是 Jev 生态的官方战报但一批 Claude Code 用户正在把上下文压缩从 LLM 摘要换成 Jev 决策这一方向性事实有仓库 star 数、HN 热度、多篇 CSDN/掘金实操文交叉佐证。本文后续所有技术判断均以仓库源码为准不依赖这个无法核实的百分比。二、迁移的触发点摘要幻觉、token 成本与稳定性其实是同一个问题Claude Code 原生自带 Auto-compact上下文接近阈值时用一个 LLM 调用把旧对话总结成一段摘要。这套机制的痛点是结构性的——摘要是有损压缩。一次Read返回的文件内容、一次Bash报错的完整堆栈、一个Edit的精确参数都可能在被总结的过程中消失而恰恰是这些符号级信息决定了 Agent 下一步还能不能继续干活。CSDN 上多篇分析文把它概括为三个后果变量名丢失、逻辑平滑细节被润色掉、token 浪费摘要本身也要生成 token且摘要的 token 无法被复用为证据。fast-jev-compaction 的选择是彻底不生成摘要只做删除决策。项目 README.md 开宗明义——This library never rewrites anything. It only deletes tool calls and tool results Jev says are no longer needed。用户与助手的文本永远原样保留、顺序不变候选对象只有工具调用 工具结果这对组合。这套设计的核心逻辑落在 src/compact.ts 里两个函数讲清了全部决策语义export function questionsFor(call: ToolCall): JevQuestions { return { [call_${call.id}]: { type: noul, instructions: Tool call ${call.id} (${call.tool}) should stay in the history: knowing this call was made, with its input, still matters for what the assistant does next, }, [result_${call.id}]: { type: noul, instructions: The full output of tool call ${call.id} (${call.tool}, ${call.resultChars} chars) should stay in the history verbatim: the assistant still needs its contents and re-running the tool would not do, }, }; }每个工具调用被拆成两个noul是与否问题调用本身要不要留知道它发生过、带什么参数做过是否仍影响后续决策完整输出要不要原样留内容是否仍被需要且重跑工具无法替代。然后按概率阈值分级处理if (call.pinned) return { ...base, action: keep, reason: pinned }; if (answer.keepResult options.keepThreshold) { return { ...base, action: keep, reason: kept }; } if (answer.keepCall options.keepThreshold) { return { ...base, action: drop_result, reason: result_dropped }; } return { ...base, action: drop_call, reason: call_dropped };三级动作keep调用和结果都留、drop_result调用留结果截断为前truncateHeadChars个字符加一行注释默认 300 字符、drop_call调用连结果一起删。注意截断注释里写着re-run the tool if needed——这个设计保证删除永远是可回退的丢了结果助手随时可以重跑工具拿回而不是像摘要一样把信息改写没了。token 成本维度同样由这个设计直接覆盖。Jev 是 System One 端点src/request.ts 中https://api.typesafe.ai/v1/systemone默认模型jev-latest它不生成自由文本只返回封闭空间内的概率答案输出 token 近乎免费。社区文章给出的对比数字决策比 LLM 快 40–200 倍、便宜 40–400 倍、Jev 全量开放速度快 193 倍、成本低 444 倍虽然口径不一、出自不同来源但方向一致把压缩这类高频窄域判断从生成式 LLM 挪到决策式模型成本结构完全不同。CSDN 文章进一步给出两个可复现的工程指标压缩耗时 5–20ms、实测 token 消耗大幅下降部分文章称近 100% 场景下无额外生成开销。而稳定性则是隐藏最深的触发点。Claude Code 长会话的崩溃往往不是模型变笨了而是上下文里关键证据被摘要洗掉了——Agent 记不得约束条件、记不得精确报错、记不得自己改过哪个文件于是开始幻觉式地补全记忆。fast-jev-compaction 的稳定性设计分两层一层是上文所述只删不改 可回退另一层是 hooks/fast-jev.ts 里对失败路径的兜底——Jev 失败、响应畸形、key 缺失、历史无法塞进 state 预算、或压缩率低于minReductionRatio默认 0.25时钩子会 toast 提示并return next(event)回退到 Claude Code 内置摘要。换句话说这个插件的最坏情况不是坏掉而是退回原状。这种失败了也有兜底的设计是它敢被挂在生产会话上的前提。三、fast-jev-compaction 的工程解剖从替代到标配的插件链路双形态npm 库 Claude Code 函数钩子仓库同时是两种东西package.jsonv0.2.0src/下是纯 TypeScript 库与一个 Claude Code function-hook 插件仓库根目录即插件目录hooks/fast-jev.ts通过../src直接引用库。这意味着一套核心逻辑两种消费方式程序化集成调compactMessages交互式使用装插件走/compact与自动压缩。核心流水线五个阶段全部可单独测试整条压缩流水线在 src/compact.ts 的compact()里串起来每一环都被拆成了独立导出、可单测的构建块配对与钉选src/state.ts 的collectToolCalls按tool_use_id把每条tool_use与tool_result配对首条消息与最新preserveRecentMessages默认 6条消息内的调用被钉住永不参与决策——近因保护防止刚说完的话被清掉。状态拟合fitStateJev 看到的是整段会话最老在前所有工具结果被替换成一行注记ok, 4213 chars (omitted)工具输入、用户/助手文本原样进入 state。如果超出maxStateTokens默认 25k按六级阶段逐级收缩工具输入截断 1000→200→60 字符长文本头尾保留式压缩头 400 尾 150 字符老消息折叠成[… N chars omitted …]老调用压缩为单行t12 Read file_pathsrc/a.ts → ok 480ch无调用的老消息剔除连续纯调用消息合并。每级只在上一级不够时触发测试里用stateStage字段精确断言走到了哪一级。分批与并发batchCallsstate 与问题要一起塞进单次请求不超过maxRequestTokens默认 30k低于 Jev 的 32k 请求上限。分批后完整 state 随每一批重复发送各批请求并发执行、答案合并Promise.all。逐条决策decideCall三级动作见上节。重建消息列表applyDecisions内容全失的消息整条移除未被触碰的消息原对象返回连句柄都保留Claude Code 引擎不会重渲染被截断的结果保留头部加一行注释绝不出现有结果没调用的孤儿状态。无 tokenizer 的 token 估算一个工程细节很能体现作者的务实仓库不引 tokenizer 依赖而是用字符级启发式估算——单词按每 6 个字母 1 token、数字每 2 个 1 token、其他符号按 0.9 计src/state.ts 的estimateTokens。注释里写得很直白按真实会话与 Jev 上报用量的对比校准落在真实值上方 2–18%而朴素的字符数 ÷ 每 token 字符数在 JSON 密集的 state 上会低估最多 40%。配合无 tokenizer 的取舍整个库零运行时依赖这也是毫秒级压缩能成立的前提之一。插件适配层一次压缩全程可观测hooks/fast-jev.ts 把库接到 Claude Code 的session.compact钩子上拿到引擎的 SessionMessage 转录过库再把结果映射回 session 消息未动过的消息复用引擎原对象与句柄重建的消息以新对象返回。同时注册turn.complete钩子当context.percent达到compactAtPercent默认 60时主动触发压缩带 in-flight 防重入。每次压缩的产物不止是更短的上下文而是一份完整的审计日志toast 显示kept N/M messages, no summary (…)日志里是压缩率、按原因分类的决策计数kept / results truncated / call_dropped / pinned、state 估算 token 数与拟合阶段、请求数外加一行逐调用的decisions:明细t1:Read:drop_call/call0.10/result0.10。summarize()与decisionLogLines()把决策过程摊开给你看——这在黑箱摘要时代是不可想象的透明度。测试与演示不碰 API 也能验证正确性tests/fast-jev-compaction.test.ts 用 fake Jev 驱动全部单元测试从不触碰 TypeSafe 服务tests/hook.test.ts 则用注入的 fetch 验证钩子层。另外仓库还带一个 macOS 原生 SwiftUI 演示 Appdemo/JevDemo/main.swift脚本化重演压缩过程——工具调用逐条被 Jev 打分被放弃的调用变红、塌缩消失其余内容原样保留底部状态栏打出✓ Compacted in 148 ms、0 summaries · kept text is verbatim。它不调 API纯粹用于录屏展示可见这个项目把让用户看懂发生了什么当成了与压缩本身同等重要的事。四、给观望者的判断框架现在上车还是再等一周上车成本很低且有完整的失败兜底安装路径在 README.md 与 hooks/README.md 里写得清楚由于函数钩子是 Claude Code 早期访问特性2.1.274需先设置CLAUDE_CODE_ENABLE_FUNCTION_HOOKS1与TYPESAFE_API_KEY然后claude plugin marketplace add tamaratran/fast-jev-compaction claude plugin install fast-jev-compactionfast-jev-compaction装完重启或/reload-plugins后/compact与自动压缩即走 Jev 决策压缩率不足或任何异常都会 toast 提示并回退内置摘要。也就是说试用这个插件的风险上限是退回原状而不是破坏会话。真正需要读懂的五个配置旋钮参数默认值语义keepThreshold0.5保留概率阈值越激进删得越多、风险越高preserveRecentMessages6最近 N 条消息永不触碰maxStateTokens25000Jev 看到的历史状态预算maxRequestTokens30000单次请求state问题预算决定批次数minReductionRatio0.25压缩率低于此值即回退内置摘要调参的核心不是越大越好而是找到你工作负载的保真-收益平衡点多文件重构、长任务链场景可以适度调低keepThreshold换取更高压缩率涉及合规约束Never edit src/generated这类指令的场景则应该保持保守因为首条消息永远钉住、约束文本从不被删除这个下限是结构保证的。等待的理由同样充分README 自己列出的四条边界仓库 README.md 的 Limitations 一节是判断再等一周的最诚实材料只删工具调用与结果文本消息在输出中永不删除、永不缩短。上下文里的大段对话文本占用的 token这个插件管不了——它解决的是工具噪声不是全部膨胀。token 是估算值基于字符的启发式不是 tokenizer 精确计数。概率不是证明keepResult ≥ 0.5不代表安全删除只是模型认为大概率不需要校准在请求级别。state 随每批重复发送接近 state 上限的历史每批问题都要重发一遍完整 state请求数会随问题数线性上升。再加上函数钩子本身是早期特性types/claude-code.d.ts是照 Claude Code 2.1.274 生成的类型引用升级 Claude Code 后需要重新生成并审查hooks/README.md 明确写了这一条。依赖一个早期 API 表面的插件本身就是在为可能随版本变动买单。结论把两边的证据摆在一起判断其实不复杂。如果你已经被LLM 摘要洗掉报错堆栈、Agent 开始一本正经地编记忆折磨过——这正是社区里 Jev 系工具被连夜换方案的原始触发场景——fast-jev-compaction 的只删不改 可回退 失败兜底 全量决策日志是目前成本最低、最不容易翻车的止血方案值得直接上车。它不承诺无损README 自己都说概率不是证明但它在保真这件事上给出了结构性保证凡是保留的内容一个字都不改。如果你只是被13% 连夜迁移的标题党点燃了焦虑而你的会话普遍不长、也没有被摘要幻觉咬过那等一等毫无损失——这个生态 9 月中旬才起爆0.2.0的版本号说明它还在快速迭代期函数钩子 API 的稳定性、多模型接入、估算精度都还有演进空间。真正理性的上车信号不是别人都在迁而是我的会话里已经出现过一次因为上下文丢信息而导致的返工。技术的传播永远快于验证但验证只需要一个下午装好插件跑一段真实的长会话看一次decisions:日志——它比任何13%都更接近真相。【免费下载链接】fast-jev-compactionClaude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are dropped or truncated, everything kept stays verbatim.项目地址: https://gitcode.com/gh_mirrors/fa/fast-jev-compaction创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考