Skip to main content
Glama

为终端 AI 代理节省 token 的插件

Claude Code · Codex CLI · opencode · Gemini CLI · Claude Desktop · 任何 MCP 客户端

npm npm downloads license node offline keys

你的代理在写第一行代码之前就烧掉了大部分 token。 promptopt 堵住这些漏洞——本地、离线、免费。


⚡ 快速概览

npx promptopt install        # one command. every detected CLI. done.

这一条命令就能注册一个 MCP 服务器、注入约 200 token 的纪律协议、添加廉价模型子代理,并开始在一个漂亮的 HTML 仪表盘中跟踪你的节省情况。

更喜欢复选框? 通过 npm 安装(npm i promptopt)或运行 promptopt init 会打开一个交互式清单——方向键移动,space 切换你想要配置的 CLI,a 全选,enter 进行配置:

promptopt - select the CLIs to configure:
  [x] claude
  > [ ] claude-desktop
  [x] codex
  [ ] opencode
  [ ] gemini
  [ ] generic
  space: toggle   a: check all   enter: continue   esc: cancel

它只出现在真正的交互式安装中——绝不会在 CI、npx 运行期间或本仓库内部出现(PROMPTOPT_NO_INIT=1 可永久禁用)。

$ promptopt "Hey, could you please fix the bug in src/app.ts? Thanks!"

tokens: 15 -> 7 compressed (net -53.3%)
intent: fix (85% confidence)

--- optimized prompt ---
Fix the bug in src/app.ts

route: simple · gemini-2.5-flash ~$0.0032  (92% under flagship pricing)

Related MCP server: token-compressor

🩸 问题所在

Token 泄漏

实际发生的情况

promptopt 的修复

🔁 返工循环

代理猜错了一个模糊请求 → 你重新提示 → 双倍花费

在猜测代价高昂时提出 ≤3 个尖锐问题;在代价不高时自动假设并说明假设

🗣️ 啰嗦的提示

“嘿,能不能请你也许……”

基于规则的压缩:典型提示减少 15–55%

🏋️ 模型尺寸不当

用 Opus 级别的推理处理 grep 级别的查找

分层分类器路由到最便宜的可用模型/子代理

📜 冗长的会话

重复任务、叙述未更改的代码、总结回顾

行为协议规则 1–6

在三个真实提示上,promptopt 花费了 $0.078,而未压缩的旗舰模型会花费 $0.300——在其自己的报告中实时跟踪。


📦 安装

要求: Node ≥ 18。无需 API 密钥。无需账户。没有任何数据离开你的机器。

一条命令搞定一切

npx promptopt install
# or the interactive checklist, anytime:
npx promptopt init

自动检测你已安装的 CLI 并配置每一个。添加 -n 可先预览(--dry-run),--all 强制所有目标。

选择你的目标

npx promptopt install claude

在 .mcp.json(项目)或 ~/.claude.json(--user 标志)中注册 MCP 服务器,将协议注入 CLAUDE.md,并创建两个真实的子代理:

  • promptopt-scout → haiku — 只读查找和搜索,≤5 行答案

  • promptopt-worker → sonnet — 范围明确的编辑,diff 优先输出

重启你的 Claude Code 会话 → 完成。

注意: 项目范围的 MCP 服务器需要一次性信任批准——在该文件夹中启动 claude 并接受提示(或运行 /mcp)。卡在“等待批准”?就是这个原因。改用 --user 安装,则每个项目都无需提示即可信任。

Claude Desktop 没有用于本地服务器的 URL 方案,所以请选择以下之一:

选项 A — 一键捆绑包(推荐): 从 Releases 下载 promptopt-<version>.mcpb 并将其拖到 Claude Desktop 窗口上。所有依赖都已捆绑——另一端无需 Node 工具。

选项 B — 安装程序:

npx promptopt install claude-desktop     # writes claude_desktop_config.json for you

选项 C — 手动: 粘贴到 %APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

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

重启 Claude Desktop → 工具出现在你的聊天中。

npx promptopt install codex --user    # ~/.codex/config.toml + ~/.codex/AGENTS.md
npx promptopt install codex           # project AGENTS.md only
npx promptopt install opencode   # opencode.json + AGENTS.md
npx promptopt install gemini     # .gemini/settings.json + GEMINI.md
npx promptopt install generic    # any MCP client: AGENTS.md + printed snippet

验证与撤销

npx promptopt doctor       # health-check every registration
npx promptopt uninstall    # removes everything cleanly (marker-based, zero residue)

所有指令文件的编辑都位于 <!-- promptopt:start vX --> 和 <!-- promptopt:end --> 标记之间;JSON 配置在修改前会创建 .bak 备份。


🧠 它的思考方式

每个会话注入一次(约 200 token)——你买过的最便宜的保险:

1. 简洁思考。 行动前用 ≤3 个短句做计划。绝不重复任务。 2. 询问或假设。 如果请求有 ≥2 种解释:采用假设并在一行中说明 “假设 X”——除非错误的猜测会导致完全返工,那么提出 ≤3 个批量问题并停止。 3. 廉价路由。 琐碎的子任务交给 promptopt-scout。绝不在 grep 级别的工作上花费前沿 token。 4. 批量处理。 并行工具调用。每个文件只读一次。绝不重新读取未更改的文件。 5. 精简输出。 用 diff 代替完整文件。完成后停止——不要总结。 6. 大型任务。 在超过 5k 输出 token 的工作之前,运行 optimize_prompt 并遵循其计划。

❓ 自答的问题

每个提示都按意图分类(问题 / 构建 / 计划 / 修复 / 添加),模糊的构建请求会显示多项选择菜单而不是长篇提示:

questions (1) - ask these before acting:
  1. What should be built?
     choices: feature inside the existing app | standalone script | CLI tool |
              library / package | service / API endpoint | full new app
     default if unanswered: a feature integrated into the existing project

三种模式:hybrid (默认——置信度 ≥70% 时假设,其余询问) · auto (全部假设) · ask (绝不假设)。

🛠️ MCP 工具

工具

功能

optimize_prompt

意图 → 压缩 → 自动假设 → 基于选择的阻塞 → 路由 → 使用报告

route_prompt

每个提供商最便宜的可用模型,与始终旗舰模型对比成本

token_audit

任何文本的离线 BPE token 计数 + 压缩机会

get_protocol

为无法读取指令文件的代理提供协议文本

💸 模型路由

层级

Claude

OpenAI

Gemini

琐碎

claude-haiku-4-5 · $1/$5

gpt-5.4-nano · $0.20/$1.25

gemini-3.1-flash-lite · $0.25/$1.50

标准

claude-sonnet-5 · $2/$10

gpt-5.1 · $1.25/$10

gemini-2.5-flash · $0.30/$2.50

复杂

claude-opus-5 · $5/$25

o3 · $2/$8

gemini-3-pro-preview · $2/$12

价格于 2026-08-21 对照公共 LiteLLM 注册表验证。价格会变动——请固定你的当前价格:

promptopt models --refresh   # re-syncs into ~/.promptopt/models.json (trusted 7 days)

意图决定层级:question 降级(解释很少需要 Opus),plan 至少提升到标准(错误的计划是最昂贵的错误)。

📊 使用报告

每次优化运行都会写入 ./promptopt-report/ 并打印路径:

report: C:\dev\myproject\promptopt-report\index.html

一个深色渐变、零 JS、可离线工作的仪表盘,带有统计卡片和进度条:

  • 节省的 token——本次运行和累计

  • 与始终旗舰模型基线相比,估计节省的美元

  • 已用预算 / 剩余百分比(本地预算,默认 $10)

  • 反事实条:如果没有插件你会烧掉多少

  • 最近一次运行的前后对比、假设、提出的选择、路由表、最近 20 次运行

promptopt budget                       # usage + % left
promptopt budget --set-usd 25 --set-tokens 2000000
promptopt report --open                # print (and open) the static report
promptopt dashboard                    # LIVE dashboard on http://localhost:4739
promptopt "..." --no-report            # optimize without recording

实时仪表盘

promptopt dashboard 启动一个仅限本地的服务器(绑定 127.0.0.1,绝不暴露到你的网络),自动打开浏览器,并保持页面实时:一个小的轮询脚本检测新的优化运行并自动重新加载页面——在标签页中保持打开,边工作边看着节省累积。

promptopt dashboard              # http://localhost:4739
promptopt dashboard -p 8080      # custom port (auto-falls forward if taken)
promptopt dashboard --no-open    # serve without opening the browser

端点:/(仪表盘)、/api/data(使用快照 JSON)、/api/ping。提供的页面每次请求都会从账本重新渲染——无需手动刷新状态。

将 promptopt-report/ 添加到 .gitignore——本地遥测,仅限你可见。

⌨️ CLI 速查表

promptopt "<prompt>"                     # optimize (hybrid mode + report)
promptopt init                           # interactive checkbox installer
promptopt "<prompt>" --mode ask          # all questions, zero assumptions
promptopt route "<prompt>"               # tier + cheapest model per provider
promptopt audit "$(cat big-log.txt)"     # token count + compression report
promptopt models                         # catalog + source
promptopt dashboard                      # live localhost usage dashboard
promptopt doctor                         # installation health check

🔒 隐私与准确性

  • 运行时零网络调用。 唯一的网络事件是 npm 获取包本身。没有密钥、没有遥测、没有账户。

  • 压缩会原样保护代码块、URL 和文件路径;需求绝不会被丢弃。

  • Token 计数使用离线 cl100k_base BPE——Claude/Gemini 实际计数差异约 ±10%。成本是根据公共注册表价格估算的,不是发票。

Claude Desktop 接受远程连接器的 URL,但本地 stdio 服务器——比如完全在你机器上运行的 promptopt——没有深层链接方案。这正是 .mcpb 桌面扩展格式存在的原因:一个文件,双击安装,包含依赖。

🤝 贡献

欢迎 PR——新的压缩规则、模型目录更新、新的代理目标。参见 CONTRIBUTING.md。

git clone https://github.com/hawktuahcoin-hurhur/promptopt && cd promptopt
npm ci && npm run build && npm test && npm run test:smoke

CI

📄 许可证

MIT © promptopt 贡献者

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic prompt compression for LLM workflows, reducing token usage by 30-70% while preserving semantic meaning.
    12
    MIT