把常用能力收进聊天输入栏上方的状态行,每一项独立开关。
在输入栏上从左到右显示:
额度 · 缓存命中率 · 速度 · 优化提示词
每一项都能在设置里单独关掉,互不影响。放不下的条目会收进输入栏上方的 … 溢出条,
所以常留哪几项由你决定。
- 开发者:放线菌
- QQ:11991234
显示所选供应商的账户额度。在设置里勾选要显示的,取消勾选就不再请求。
5H 89% / 周 71% · ¥36.21
- 同一家公司的多个额度之间用
/分隔,不同公司之间用·分隔 - 点一下立即刷新
- 取数失败时显示
✗,并在悬停提示里给出失败类别(无 Key / 401 / 限流 / 超时 / 网络) - 勾选哪几个额度、在设置里定;轮询间隔可选 1 / 5 / 10 / 15 / 30 / 60 分钟
- 只在勾选了额度项时才显示;一项都没勾会显示「额度 · 未选」
需要 app/provider.credentials.read 权限读取 API Key。凭证由宿主统一管理,本应用不存储。
支持的供应商:
| 供应商 | 可显示的额度 |
|---|---|
| MiniMax | 5 小时窗 · 周窗 |
| DeepSeek | 账户余额 |
| 智谱 GLM | 剩余配额 |
| 月之暗面 Kimi | 账户余额 |
| OpenRouter | 剩余额度 · 累计已用(美元) |
只在宿主里已配好 Key 的供应商之间匹配,没配的不会显示。金额按接口返回的币种显示, 不会一律印成人民币。
暂不支持:硅基流动(官方余额接口已于 2026-08-14 停用)、商汤(需账号密码登录)。 OpenAI / Anthropic / Google 没有公开的余额查询接口。
显示当前对话正在使用的那个模型的缓存 token 占比。
命中 99.90%
它算的是什么(token 口径,行业称 cached token fraction):
Σ 缓存读取 token ÷ (Σ 缓存读取 token + Σ 未命中缓存的输入 token)
Anthropic 的 cache_read_input_tokens、OpenAI 的 cached_tokens 都是这个口径。
不是请求命中率。 请求口径(命中请求数 ÷ 总请求数)在长对话里会必然饱和成一个长期显示 100% 的死数字——缓存本来只在上下文足够长时才生效,一旦生效就几乎每轮都命中。而 token 口径 会随对话推进持续变化,天然到不了 100%:长对话通常从 20% 一路升到 99% 以上,这个梯度才有 观察价值。
显示规则:
- 固定两位小数,末尾的 0 不丢(
80.00%,不是80%) - 采用向下截断而非四舍五入,且封顶 99.99%——真实值 ≥99.995% 时四舍五入会输出
100.00%, 把「很多轮都命中」渲染成「每次都命中」,那是显示误导 - 没有可用记录时显示
命中 —,而不是命中 0.00%——那是「没数据」不是「一次没中」 - 只统计当前会话最近 200 条用量记录
- 只统计「当前会话正在用的那个模型」的记录;取的是时间上最新的记录对应的模型, 不依赖记录在返回数组里的位置
需要 app/usage.read 权限。
显示当前这一轮的平均 token 输出速度。
112 tok/s
口径:这一轮的输出 token 总数 ÷ 这一轮的实际耗时。轮次边界与计时取自宿主的
turn_start / turn_end 事件,所以一轮结束就出数,不靠等。
需要知道两件事才能读懂这个数:
- 分母含工具执行时间。 一轮回复不是一次生成,中间可能夹着多次工具调用。 工具执行的时间算在耗时里。所以同一段输出,调用 5 次工具和调用 1 次会显示出不同的速度。 它的含义是「从你按下回车到这一轮出完,实际有多快」,不是模型的纯生成吞吐。
- 轮末才更新。 一轮进行中算不出完整数字(token 数还没全部入账), 此时沿用上一次的有效值,悬停会说明。
显示规则:
- 取整,不显示小数——速度抖动大,小数位是虚假精度
- 只显示 1~2000 tok/s 之间的值,区间外判为轮次切分异常、不显示
- 本轮算不出时沿用上一次的有效值,不闪破折号
- 取数暂时失败时同样沿用旧值并标为已过期,而不是清空
- 悬停会说明当前显示的是本轮、上一轮、还是更早的一轮
需要 app/usage.read 权限。
点一下,把输入框里的草稿交给小工具模型改写,再原地替换回去。
🪄 → ⋯ → ↶
- 点第一下:优化当前输入框文本,完成后按钮变成
↶ - 点第二下:撤销,还原成优化前的原文
- 生成过程中按钮置灰,避免重复触发
- 你在优化完成后又动手编辑了输入框,按钮会自动复位成
🪄(原文随之作废) - 模型返回被长度限制截断时会放弃写回并明确提示,不会拿半截内容覆盖原文
平台限制:仅 Windows。 它通过 Windows 的 UI 自动化读写其他窗口的输入框, 其他系统上这个功能不可用。其余三个功能跨平台可用。
需要 app/process.spawn 权限(调用 PowerShell 完成窗口操作)与 app/models.infer 权限
(调用模型改写)。
安全约束:写回前会校验前台窗口仍是本应用,输入框位置失效或窗口被最小化时直接取消; 模拟按键前会再次校验。所有按键只会作用于本应用的输入框,不会打进其他窗口。
首次安装或升级到需要新权限的版本时,宿主会弹出授权请求。
| 权限 | 用途 | 哪个功能需要 |
|---|---|---|
app/input.status |
在输入栏写状态行 | 全部 |
app/usage.read |
读取用量台账 | 缓存命中率、速度 |
app/sessions.read |
识别当前会话 | 全部 |
app/provider.credentials.read |
读取 API Key | 额度 |
app/network → www.minimaxi.com / api.deepseek.com |
查询额度 | 额度 |
app/process.spawn |
调用 PowerShell 操作窗口 | 优化提示词 |
app/models.infer |
调用模型改写文本 | 优化提示词 |
网络访问只允许额度查询所需的五个域名(MiniMax / DeepSeek / 智谱 / 月之暗面 / OpenRouter),不访问其他任何地址。
在宿主设置 → Apps → 输入栏工具箱。四项各有一个独立开关。
| 配置项 | 说明 |
|---|---|
| 四项功能开关 | 独立控制,缺省为开 |
| 额度勾选 | 选显示哪几个额度,顺序即显示顺序 |
| 额度轮询间隔 | 1 / 5 / 10 / 15 / 30 / 60 分钟 |
- HanaAgent ≥ 0.970.9
- 额度功能需要已在宿主里配置好 MiniMax 或 DeepSeek 的凭证;没有凭证会显示「无 Key」
把 input-toolkit 目录(或其 zip 包)交给目标机器,在宿主里选择从本地安装。
安装目录默认是 %USERPROFILE%\.hanako\apps\input-toolkit。