mcpField
S
Sipcode

Sipcode

本地服务
github.com/Anuj7411AI 与智能体462 周前更新

关于 Sipcode

Sipcode 是面向 Claude Code 用户的开源命令行工具,通过 PreToolUse 钩子监测并整理会话上下文,也提供可衡量的使用与成本数据。它还可分析 OpenAI Codex 的会话用量,但不修改 Codex 行为。

主要功能

  1. 01监测上下文膨胀与偏移
  2. 02拦截重复文件读取
  3. 03限制冗长工具输出
  4. 04查看用量、支出与预测
  5. 05检查 Codex 使用限额

适用场景

  1. 01发现 Claude Code 会话中的上下文偏移
  2. 02减少同一会话重复读取文件
  3. 03查看每日支出和月末成本预测
  4. 04追踪 Codex 计划限额的使用情况

MCP 相关

Sipcode 提供 MCP 服务,供客户端查询会话统计、上下文状态及 Codex 限额等信息。README 提到 MCP 工具支持 Claude Code 会话分析,也可通过可选参数读取 Codex 会话。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sipcode": {
"command": "npx",
"args": [
"-y",
"sipcode"
]
}
}
}
启动命令npx -y sipcode

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsipcode1.7.1

工具

16

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Sipcode

Sipcode

自动保持 Claude Code 的上下文整洁,让回答更精准、成本更低。

npm GitHub stars npm downloads per month MIT licensed 2409 tests passing zero network calls

网站 · 对比 · 版本发布


30 秒内完成安装

npm i -g sipcode
sipcode init

就这么简单。下一次启动 Claude Code 会话时,Sipcode 就会自动运行。几分钟后可验证:

sipcode drift

如果输出显示 no drift, context health stable,说明 Sipcode 正在发挥作用。

已经安装?请保持更新。 Sipcode 不会发起任何网络请求,因此无法弹出“有可用更新”的通知。养成每周更新的习惯:运行 sipcode update(或 npm i -g sipcode@latest)以获取最新修复。详情请参阅更新 Sipcode。


什么是 Sipcode?

Sipcode 是一款免费的命令行工具,位于你和 Claude Code 之间。它可以完成三件事:

  1. 监控 Claude Code 的上下文窗口,并在上下文开始膨胀时发出警告(我们称之为“上下文腐化”)
  2. 在重复读取文件及其他浪费行为传给 Claude 之前将其拦截,让你以更低成本获得相同的回答
  3. 提供可核验的数据。每项节省都能在终端中量化。

它采用 MIT 许可证开源。正常使用时不会发起任何网络请求。你的数据不会离开笔记本电脑。


Sipcode 对比

SipcodeTool ATool BTool C
工作方式实时 PreToolUse 钩子跨会话记忆存储静态方法论RAG 检索服务
限制冗长的工具输出✓✗仅文档✗
去重同一会话中的重复读取✓✗仅文档✗
支持会话中途安装✓ 已验证的预热填充n/an/an/a
从设计上杜绝误去重✓n/an/an/a
在锁定语料库上进行可复现的基准测试✓ 中位数 62.6%(20 个合成任务)✗✗✗
自省 MCP 工具✓ 16 个工具✗✗部分支持
支持的 AgentClaude Code(全部功能);OpenAI Codex(支出分析和使用限额,不支持钩子)未比较未比较未比较
正常使用时不发起网络请求✓✓n/a✗
采用 MIT 许可证✓✓✓✓

Sipcode 可与记忆工具搭配使用,这类工具会在会话之间持久保存上下文(表格中的 Tool A)。Sipcode 则让每个单独的会话保持整洁。它们解决的是不同问题。两者同时运行,效果最佳。

查看按功能逐项对比及工具名称:anuj7411.github.io/sipcode/compare


你可能会需要它的原因

如果你用 Claude Code 处理实际工作,应该已经体会过:

  • 长时间会话的费用很快就会变高。使用 Claude Max 进行两小时的会话,可能就会耗尽当天的套餐额度
  • 上下文窗口越满,质量就越差。Claude 会开始重新读取文件、重复自己说过的话,也会忘记你的要求
  • 你无法分辨哪些是冗余内容,哪些是真正重要的信息

Sipcode 会测量冗余内容,然后移除 Claude 不需要的部分。在任何机器上运行 sipcode benchmark,都能看到锁定的 20 项任务语料库中位数减少 62.6%。该语料库是合成的:由脚本生成的 Claude Code 对话记录配对组成(不使用 Sipcode 和使用 Sipcode),并非来自实时会话的录制内容。它展示了 Sipcode 的机制如何移除模拟会话中的内容。你的实际数值取决于工作负载,可通过 sipcode impact 在真实会话中测量。


两分钟速览

安装后,以下五条命令可以展示 Sipcode 的运行情况。

1. sipcode drift

检查当前 Claude Code 会话是否偏离了你的常规使用模式。这里会标记臃肿的上下文、重复读取和过时信号。

✓ Sipcode drift: no drift, context health stable vs your recent baseline.

默认情况下,它会检查 Claude Code 和 Codex 中最近的会话。--session <id> 用于检查特定会话,--here 将范围限制为当前文件夹中的会话,--agent claude-code 或 --agent codex 用于选择工具。

2. sipcode proxy --stats

按重写器分类,显示 Sipcode 在当前会话中拦截的内容。

Sipcode proxy, rewrite stats
  total rewrites:    144
  est. tokens saved: ~288,685 (heuristic)
  signal kept:       67% (med), weighted across all rewrites
3. sipcode benchmark

运行锁定的 20 项任务语料库,并生成可复现的节省量数据。任何人都可以在任何地方运行此命令,得到 62.6% 的结果。对话记录由脚本生成,并非来自实时会话的录制内容,因此应将其视为 Sipcode 机制的模型,而非实际费用的测量结果(请参阅 METHODOLOGY)。

62.6%  median savings on a locked 20-task corpus
       range 37.4% to 80.6%   3,567,170 tokens   $22.48
4. sipcode today

每日支出摘要。包含已使用的 token 数、会话数、输出比例,以及与 30 天中位数的对比。

spend so far    $1.20    across 4 sessions
tokens so far   943.8K   output ratio 3.7%
5. sipcode forecast

根据过去 14 天的数据预测月底情况。

projected month-end   $17,674   (range $14,139 to $21,208)

Codex

Sipcode 也会读取 OpenAI Codex CLI 会话日志(~/.codex/sessions 和 ~/.codex/archived_sessions,或 CODEX_HOME 指向的文件夹)。对于 Codex,Sipcode 提供费用分析和用量限制信息:它会报告 Codex 会话使用了什么、令牌花在了哪里,以及距离计划限制还有多远。它不会改变 Codex 的行为。

会读取 Codex 的命令: stats、today、forecast、trend、impact、why、receipt、drift、regress 和 limits(仅限 Codex),以及 MCP 服务中的会话工具(这些工具接受可选的 agent 输入:"claude-code" 或 "codex")和 get_codex_limits。

  • --agent codex 仅显示 Codex 数据。--agent claude-code 仅显示 Claude Code 数据。

  • 如果没有 --agent 标志且两个工具都已安装,stats、today、forecast、trend 和 impact 会为每个工具分别打印一个部分。stats、today 和 forecast 会以一行汇总信息结尾,格式如下:

    Both tools: <total tokens> tokens · ~$<Claude Code> + ~$<Codex>
    
  • why、receipt 和 drift 会报告两个工具中最近的会话。如果另一个工具也有最近的会话,则会显示一行提示,指出该会话及用于查看它的标志。

  • --here 对 Codex 也有效:它会匹配 Codex 为每个会话记录的工作文件夹。

  • 每次调用的 --json 只涵盖一个工具。没有 --agent 时,它涵盖 Claude Code;如果也存在 Codex 日志,则会在 stderr 上打印提示。添加 --agent codex 可获取 Codex JSON。

  • 在同时安装了 Cursor 和 Codex 的机器上,如果没有 --agent 标志,Sipcode 会显示 Codex 数据(不会读取 Cursor 的会话日志)。

Codex 令牌的统计方式。 Sipcode 会读取 Codex 的逐请求用量记录;对于较旧版本 Codex 的日志,则读取 Codex 在每次请求后记录的累计总量变化。缓存输入计入 Codex 的输入总量,因此 Sipcode 不会对缓存令牌重复计费。复制到续接或分支会话文件中的请求只会统计一次。在维护者的机器上,Sipcode 的逐文件总量与 Codex 自身在全部 15 份真实会话日志中的最终 total_token_usage 相符;一个与 Sipcode 不共用任何代码的独立计数器(scripts/verify-counts.mjs)也会针对同一批日志交叉核对每个周期命令。

价格。 Codex 模型的定价取自 OpenAI API 价格表(developers.openai.com/api/docs/pricing,以及 developers.openai.com/api/docs/models 下各 Codex 模型的页面;截至 2026-10-09),包括输入令牌超过 272,000 个时适用的长上下文费率。没有已知价格的模型会标记为未定价:其令牌仍会计数,费用下方会显示有多少令牌未计入费用,并且绝不会显示为 $0。

Codex 暂不支持: 将规则写入 AGENTS.md(rules 以及 init 中的规则步骤)、在 Codex 中注册 MCP 服务、代理和钩子(proxy、hygiene)、estimate 和 benchmark。rules --agent codex 和 estimate --agent codex 会以错误 E009 终止,而不是显示 Claude Code 数据。

压缩的 Codex 日志。 Codex 会将较旧的会话日志压缩为 .jsonl.zst。在 Node.js 22.15 或更高版本上,Sipcode 会像读取普通日志一样读取这些文件。在较旧版本的 Node.js 上,Sipcode 会跳过它们,并且每份报告开头都会显示警告,说明无法读取的文件数量,以及读取这些文件需要 Node.js 22.15 或更高版本。损坏或无法读取的日志也会触发同类警告。使用 --json 时,警告会作为提示写入 stderr,JSON 内容保持不变。

Codex 限额:sipcode limits

Codex 会在每次请求后,将你计划的用量限额读数写入自己的日志。sipcode limits 会读取这些日志,无需进行任何网络调用,并回答三个问题:我什么时候会达到限额?是什么消耗了限额?限额是否缩减了?

sipcode limits --since all 的输出示例(此处每 1% 对应的 token 数历史记录比默认的 90 天更久):

sipcode limits · Codex · plan: go · as of 2h ago (your last Codex request)

Weekly limit    62% used   resets Wed 14 Oct 14:00   at this pace: runs out Tue 13 Oct ~18:00
30-day limit    22% used   resets Mon 2 Nov          at this pace: lasts until reset

What used your weekly limit (since Wed 7 Oct)
  0199a1b2-c3d4-7a11   sipcode       31%   3.1M tokens
  0199a0f7-11aa-7b02   my-app        17%   1.4M tokens
  codex-auto-review (9 requests)      6%
  unattributed (no Codex requests on this computer)  8%

Tokens per 1% of your weekly limit (gpt-5.4)
  Mar 28: 425K   Apr 1: 357K   Apr 13: 77K
  Possible limit cut around Apr 13: 5.1x fewer tokens per 1%.
  Limits cover your whole account. Codex use on other devices or in the cloud
  is not in these logs and can look like a cut.
  • 日志报告的每个限额周期(5 小时、每周、30 天):已用百分比、重置时间,以及按当前速度何时会用完。速度是已用百分比除以周期开始至今的时间,因此在你不使用 Codex 时,预计用完时间会不断推后。“截至”时间是你最后一次 Codex 请求的时间:百分比数据的时效性仅到该时刻为止。
  • **消耗来源:**当前周期排名前 5 的会话和项目(仅显示文件夹名称),以及 Codex 自动审查的汇总行。每次百分比上升,都会按各请求的 token 数占比,分摊给上次上升后发出的请求。如果百分比上升时这台电脑上没有任何请求记录,则会显示为 unattributed,因为限额会与其他设备和 Codex 云端共享。
  • **是否缩减:**在每个已结束且用量至少达到 20% 的周期中,计算 1% 限额对应的 token 数,并仅在同一模型内进行比较(当某周期至少 90% 的 token 来自同一模型时,该周期才会计入)。同一天开始的周期还会显示其开始时间(Jul 5 16:39)。当某周期对应的 token 数不超过至少两个更早周期中位数的一半时,会显示 Possible limit cut。此提示始终带有“可能”,因为在其他设备上使用 Codex 会提高百分比,但不会在本地留下 token 记录。
  • 选项:--json;--since <window>(默认值为 90d),指定每 1% 对应 token 数的历史记录回溯范围;--here 仅将“消耗来源”列表限制为当前文件夹中的会话(限额适用于整个账户)。
  • 当 Codex 记录了限额读数时,sipcode today 会额外显示一行,指出最接近耗尽的 Codex 限额。today --json 不变。
  • MCP:get_codex_limits(可选参数 since)会返回与 sipcode limits --json 相同的 JSON。
  • Claude Code 的日志不会记录限额,因此 limits --agent claude-code 会以错误 E009 终止。
更新后变差了吗?sipcode regress

sipcode regress 会检查你自己的 Claude Code 和 Codex 日志,查找随更新而来的回归问题,并指出引入每个问题的版本。它会将各个版本与其他版本进行比较,因此无需外部基准,且不会有任何数据离开你的设备。

输出示例(某台设备的日志;你的数据会有所不同):

sipcode regress · local only, no network
Claude Code: 27,671 interactive requests in 42 sessions (710 subagent and Agent SDK requests left out of the comparison), 2026-05-04 to 2026-10-12, versions 2.1.121 to 2.1.295
Known-regression windows your logs cover: R1, R4, R5
Codex: 930 requests in 15 sessions, 2026-03-28 to 2026-10-08, versions 0.118.0 to 0.162.0, 3 version/model groups with enough limit data

No regressions detected in your logs.
检查项检查内容能捕获的已确认回归问题
warm-cache-miss连续请求(间隔不足 5 分钟)重写了大部分上下文R2:--resume 提示词缓存未命中(2.1.69 到 2.1.89)
post-idle-cold间隔一小时或更久后,后续请求的缓存仍处于冷状态R3:空闲一小时后思考历史记录被清除(2.1.85 到 2.1.100)
ttl-5m主对话缓存使用 5 分钟 TTL 写入,而非 1 小时R4:1 小时缓存 TTL 降至 5 分钟(已在 2.1.129 修复)
uncached-input工具结果之后的请求中出现大量未缓存输入R1:Fable 5.1 工具上下文未经缓存便重新发送(2.1.257 到 2.1.259)
hourly-rebuild整个提示词缓存大约每小时重建一次R5:OAuth 刷新导致缓存每小时重建(已在 2.1.248 修复)
codex-limit-burn某个 Codex 版本在相同套餐和时间窗口内,每个令牌消耗的限额高于你的其他版本目录中暂无
  • 目录之外的发现是值得报告的信号,并非存在错误的证明。Codex 的发现也可能是同期套餐限额变更所致,而且你其他设备或云端的 Codex 也共用同一限额。
  • 子 Agent 和 Agent SDK 请求不纳入检查:它们的缓存策略本来就有所不同。
  • --bug-report 会添加一段可粘贴到 GitHub 问题中的内容:仅包含令牌数量、版本、日期和简短会话 ID。发布前请先检查。
  • --json 供脚本使用;--agent claude-code 或 --agent codex 用于指定单个工具;--min-n <n> 用于设置检查所需的每个版本的最少请求数(默认值为 20)。
  • 如果无法读取日志(例如沙盒阻止访问相关文件夹),程序会打印“Nothing to analyse ... This is NOT a clean result.”并以代码 2 退出。数据不足时会提示“Not enough data to compare versions yet”。如果已比较一个工具,而另一个工具的日志已读取但数据不足,程序会指出该工具(“Not enough data to compare Codex versions yet”),因此没有发现该工具的问题并不代表结果正常。
  • 一个独立的计数器不与 Sipcode 共用任何代码(scripts/verify-counts.mjs),它会根据相同的日志重新计算覆盖率、每项检查的表格以及 regress --json 的发现结果。
在 Codex 中使用 Sipcode

Sipcode 插件可让你用日常语言向 Codex 查询自己的使用情况,支持在 ChatGPT 桌面应用或 Codex CLI 中使用。每个回答都来自你电脑上的 sipcode 命令,该命令会读取本地日志。

步骤 1. 安装一次 Sipcode(Node.js 20 或更高版本),在终端中运行:

npm i -g sipcode

插件会运行已安装的 sipcode。它不会使用 npx,因为 Codex 沙盒通常会阻止下载。

步骤 2. 添加插件。 根据你使用 Codex 的方式选择对应路径。

如果你只在 ChatGPT 桌面应用中使用 Codex(在终端中输入 codex 会提示无法识别):

  1. 打开终端(Windows 上使用 PowerShell,macOS 上使用 Terminal),运行以下两条命令:

    npx -y @openai/codex plugin marketplace add Anuj7411/sipcode
    npx -y @openai/codex plugin add sipcode@sipcode
    

    npx 会运行 OpenAI 的 Codex CLI(npm 包 @openai/codex),但不会安装它;首次运行时会下载该工具,可能需要一分钟。第一条命令会将此仓库添加为名为 sipcode 的插件市场,第二条命令会从该市场安装 Sipcode 插件。两条命令都会写入 ~/.codex,这是桌面应用读取插件的文件夹。

  2. 完全退出 ChatGPT 桌面应用,然后重新打开。

  3. 打开 Plugins,确认其中有 Sipcode(如果列表中没有显示,请选择 sipcode 市场作为来源)。如果它未标记为已安装,请从此处安装。

  4. 开始新聊天。

OpenAI 的文档没有说明个人账户如何在桌面应用中通过按钮添加来自 GitHub 的市场,因此此路径需要使用一次 CLI 命令。你不必一直安装 CLI。

如果你已安装 Codex CLI(codex --version 可以正常运行):

  1. 运行 codex plugin marketplace add Anuj7411/sipcode。
  2. 运行 codex plugin add sipcode@sipcode,或者在 Codex 中打开 /plugins,选择 sipcode 市场并安装 Sipcode。
  3. 开始新的 Codex 会话。如果你也使用桌面应用,请退出后重新打开。

步骤 3. 提问:

提问Sipcode 运行的命令
“我这个月在 Codex 上花了多少钱?”sipcode forecast --agent codex --json(也可以使用 today 和 stats)
“我离 Codex 限额还有多远?限额变少了吗?”sipcode limits(其终端输出采用本地时间)
“为什么我上一次 Codex 会话花费这么高?”sipcode why --agent codex --json
“更新后 Codex 或 Claude Code 是否变差了?”sipcode regress --bug-report
  • 如果 Codex 沙盒阻止访问 ~/.codex 或 ~/.claude,插件会请求权限,以只读方式运行命令,而不是报告空结果。
  • 美元金额按 API 价格计算;如果你使用 ChatGPT 套餐,则不会按 token 计费。
  • 回答中的数字格式与 sipcode 终端输出一致:美元精确到美分,百分比取整数,时间采用你的本地时区,不会显示原始 JSON 值。
  • 该插件只有说明(四个技能):没有钩子、MCP 服务或网络调用。
  • 请在新的短聊天中提问。Codex 会在每次请求时重新发送整个对话,因此在长工作聊天末尾提出相同问题,比在新聊天中提问消耗更多限额。每个回答都会运行一条 Sipcode 命令,不会先做额外检查。
  • 如需稍后更新插件,请运行 npx -y @openai/codex plugin marketplace upgrade sipcode(或 codex plugin marketplace upgrade sipcode),然后重启桌面应用并开始新聊天(聊天会保留开始时使用的技能说明)。使用 npm i -g sipcode@latest 更新 sipcode 命令本身。

如何安装(详细说明)

Sipcode 可在 Mac、Linux 和 Windows 上运行。你需要 Node.js 20 或更高版本;如需读取 Codex 压缩的会话日志(.jsonl.zst),则需要 Node.js 22.15 或更高版本。

第 1 步:安装 Node.js

如果你已经安装了 Node.js,请跳过此步骤。否则:

  • Mac: brew install node
  • Linux: 打开 nodejs.org/en/download,选择 LTS 版本、Linux 和 nvm,然后运行页面上显示的命令。(Ubuntu 和 Debian 自有软件源中的 nodejs 软件包通常比 Node 20 旧。)
  • Windows: 从 nodejs.org 下载。

验证安装是否成功:

node --version

你应该会看到 v20.0.0 或更高版本。

第 2 步:全局安装 Sipcode
npm i -g sipcode

此操作会从 npm 下载 Sipcode,并让你可以在任何位置使用 sipcode 命令。

如果在 Mac 或 Linux 上遇到权限错误,请尝试:

sudo npm i -g sipcode

验证是否已安装:

sipcode --version

你应该会看到 1.7.2 或更高版本。

第 3 步:运行 sipcode init,将其接入 Claude Code
sipcode init

此命令会执行以下四项操作:

  1. 在当前项目中创建一个简短的 .sipcode/manifest.md 文件,让 Claude 了解项目的内容
  2. 在你的 CLAUDE.md 中添加一个简短的代码块(如果文件不存在,则创建该文件),其中包含让 Claude 回复简洁的规则
  3. 将 Sipcode 钩子安装到 Claude Code 中,真正节省 token 的就是这个钩子
  4. 记录日期,以便之后通过 sipcode impact 查看前后节省情况

运行时你会看到一个清单。每完成一步,都会显示一个勾号。

它会询问的两个问题(以及应该如何选择):

1. 清单预算。 Sipcode 注入的项目摘要需要保持多精简。

  • tighten(推荐):自动删减信号较弱的部分,让摘要保持精简,并且绝不会阻止你操作。
  • strict:将清单严格限制在 2k token 以内,超出时会拒绝。
  • off:不设上限,清单可以增长到任意大小。

2. 输出压缩规则。 Claude 在此项目中的回复需要多简洁。

  • default(推荐):采用 diff 风格编辑,不加“这是我做的事情”之类的开场白。
  • strict:使用电报式的精简回复,适合希望尽可能简洁的高级用户。
  • verbose:提供更多背景信息和说明,适合仍在熟悉工具的用户。
  • skip:完全不安装回复规则。

不确定怎么选?每项都选择推荐选项即可。之后可以更改任一选项:运行 sipcode rules --mode <default|strict|verbose> 设置回复风格,或重新运行 sipcode manifest 重新生成摘要。

第 4 步:打开新的 Claude Code 会话

Claude 下次调用工具时,Sipcode 会自动启用。大多数情况下无需重启。为确保万无一失,你可以关闭所有现有的 Claude Code 窗口,再打开一个新的窗口。

现在 Claude Code 将在后台使用 Sipcode。

第 5 步:工作约一小时后,检查效果
sipcode drift
sipcode proxy --stats

如果 drift 显示“no drift”,且 proxy --stats 显示有几十次重写并节省了用量,就说明一切正常。


更新 Sipcode

Sipcode 不会自行检查更新。那需要进行网络调用,而正常使用时零网络调用是代码库保证具备的特性(否则测试会导致构建失败)。更新始终需要手动明确执行。

要更新到最新版本:

npm i -g sipcode@latest

也可以使用内置助手:

sipcode update          # prints your current version + the update command
sipcode update --run    # runs the update in place for you

更新后,通过 sipcode --version 确认版本,并在 CHANGELOG 中查看更改。MCP 配置无需重新粘贴;Claude 每次重新连接时都会向服务请求可用工具,因此新工具会自动出现。

发布节奏: 修复或改进准备就绪后就会发布补丁版本,通常在问题报告后的一两天内发布。由于 Sipcode 无法通知你(零网络调用),建议养成每周左右运行一次 sipcode update 的习惯。这只需一秒钟检查;如果有新版本,--run 会立即升级。你也可以关注或为 repo 点星,及时了解版本发布。

你将获得什么

功能对你的作用
上下文腐化检测当你的 Claude Code 会话开始表现得比平时更差时发出警告
重复读取去重检测并跳过重复的文件读取,节省令牌和时间
压缩完整性评分每次节省后,告知你保留了原始信号的百分之几
支出遥测按日、按月统计并预测支出。数据全部来自你自己的记录(Claude Code 和 Codex),不会上传到云端
Codex 限额告诉你何时会达到 Codex 限额、哪些操作消耗了限额,以及限额是否可能缩减
回归检查检查 Claude Code 或 Codex 更新是否改变了缓存或限额行为,并标记对应版本
Codex 插件用日常语言向 Codex 询问支出、限额和回归问题
任务成本估算在运行编码任务前,预测其在 Opus、Sonnet 和 Haiku 上的成本
代码库健康评分按 AI Agent 在代码库中工作的难易程度为你的仓库打分,范围为 0 到 100
MCP 服务为 Claude Desktop 注册了 16 个工具,让你可以直接向 Claude 询问自己的使用情况
可复现基准测试一个锁定的 20 项任务语料库,任何人都可以运行并验证

常见问题

真的免费吗?

是的。采用 MIT 许可证。不跟踪用户。不会向我们发送遥测数据。没有付费套餐。你可以在 GitHub 上查看每一行源代码。

它会把我的代码发送到别处吗?

不会。Sipcode 在正常使用期间不会进行任何网络调用。所有操作都在你的设备本地运行。我们有一项隐私测试,如果源代码中导入了任何网络代码,测试就会失败。

为了加快重复运行的速度,Sipcode 会在你自己的磁盘 ~/.sipcode/ 下保留少量缓存(today 和 forecast 的每个会话日志令牌计数,以及 drift 的每会话指标)。这些缓存不会保存消息文本,也不会上传;如果你删除了它们,系统会自动重建。PRIVACY.md 列出了具体存储的内容及其位置。

它与其他上下文工具有什么不同?

请参阅对比页面。简而言之:Sipcode 是唯一拥有已发布的可复现基准测试、通过架构设计杜绝错误去重,并支持会话中途安装的工具。

什么是“上下文腐化”?

当 Claude 的上下文窗口被过时、重复或偏题的信息填满时,它的回答质量就会下降。Sipcode 会通过 sipcode drift 衡量这种情况,并通过代理钩子去除大部分冗余内容。

它能与 Cursor 或其他 AI 工具配合使用吗?

代理、钩子和规则适用于 Claude Code。Sipcode 也会读取 OpenAI Codex 会话日志以进行支出分析(stats、today、forecast、trend、impact、why、receipt、drift);关于哪些功能可用以及 Codex 目前不支持哪些功能,请参阅 Codex。在 Codex 中,Sipcode 插件可以回答有关支出、限额和回归的问题(请参阅在 Codex 中使用 Sipcode)。对于 Cursor,sipcode rules --agent cursor 会将输出压缩规则写入 Cursor 的规则文件;Sipcode 不会读取 Cursor 的会话日志。

如何更新?
npm i -g sipcode@latest

也可以运行 sipcode update 查看当前版本和更新命令,或运行 sipcode update --run 原地更新。Sipcode 不会自动检查更新(不会进行任何网络调用),因此更新始终需要你明确操作。请参阅 CHANGELOG 了解变更内容。

如何卸载?
sipcode proxy --uninstall
npm uninstall -g sipcode

命令

命令功能
sipcode init在项目中设置 Sipcode(清单 + CLAUDE.md + 代理钩子)
sipcode update显示如何更新到最新版本(或使用 --run 立即更新)
sipcode hygiene安装会话卫生功能:仅读取一次规则 + 上下文压力钩子
sipcode rules安装、切换或检查 CLAUDE.md 中的输出压缩规则
sipcode manifest生成或刷新项目清单
sipcode drift检查当前会话是否偏离你的常规情况(--session、--here、--agent)
sipcode proxy --stats查看代理在本次会话中捕获的内容(也可使用 --install / --uninstall)
sipcode benchmark运行锁定的 20 项任务语料,得出可验证的节省量
sipcode estimate运行任务前,预测该任务在不同模型上的成本
sipcode today今日支出摘要与 30 天中位数对比
sipcode stats所有会话累计节省的令牌数(--html 会为 Claude Code 写入 .sipcode/stats.html,为 Codex 写入 .sipcode/stats-codex.html)
sipcode forecast根据过去 14 天的数据预测月底支出
sipcode limitsCodex 使用限额:按当前速度何时会耗尽、是什么用掉了额度,以及每 1% 使用量随时间消耗的令牌数
sipcode regressClaude Code 或 Codex 是否在更新后变差?逐个版本与其他版本对比
sipcode trend随时间跟踪一项指标,查看它是否在改善
sipcode why按会话进行分析:令牌都耗在哪里了
sipcode impact对比使用 Sipcode 前后的支出
sipcode score审查代码仓库对 AI 的友好程度(0-100,分级徽章)
sipcode receipt生成可分享的会话 PNG 收据

使用 --help 运行任意命令,可查看完整选项。

提示:这些命令会报告哪些会话? 默认情况下,why、stats、today、forecast、trend、impact、receipt 和 drift 会查看你所有项目中的数据,而不只是当前所在文件夹中的项目。因此,如果你在项目 A 中运行 sipcode why,但项目 B 最近有活动,你会看到项目 B 的数据。若要将范围限定为当前项目,请添加 --here(例如 sipcode why --here 或 sipcode today --here)。Codex 会话也是如此。使用 sipcode why --list 查看所有会话,并通过 --session <id> 选择特定会话。


要求

  • Node.js 20 或更高版本。要读取 Codex 压缩的会话日志(.jsonl.zst),需要 Node.js 22.15 或更高版本;较旧的 Node.js 会跳过这些日志,并在每份报告顶部显示警告。
  • 已安装 Claude Code(用于代理钩子)。即使未安装 Claude Code,Sipcode 也可作为独立的命令行工具使用(benchmark、score 等)。
  • 可选:OpenAI Codex CLI,用于 Codex 支出分析。

许可证

MIT。详见 LICENSE。


致谢

谨以此项目献给那些两小时就耗尽 Claude Max 方案额度的独立开发者。62.6% 基准测试的方法记录在 benchmark/METHODOLOGY.md 中。Anthropic 发布的上下文窗口质量研究为完整性评分方法提供了参考。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。