Skip to content

v1.3.2

Choose a tag to compare

@cn0xroot cn0xroot released this 16 Sep 14:50
· 92 commits to master since this release

新增

  • Anthropic 账号信息新增姓名/邮箱/组织/套餐:不是新的网络请求,是 Claude Code
    自己维护的本地全局配置文件 ~/.claude.json(oauthAccount 字段)——反编译
    ccstatusline 的 "Claude Account
    Email" 挂件确认的路径和字段名。新增字段:姓名、邮箱、组织名称、组织角色、套餐类型
    (比如 claude_max)、组织额度档位、计费方式、账号创建时间、订阅开始时间。首页放在
    "检测到的 claude 进程"下面,状态信息页放在"账号额度"前面。
  • AI 审批台新增历史记录:pending_approvals 表本来就没有任何清空逻辑(首页"清空
    当前数据"按钮只清 events 表),所以历史记录天然就是长期保存的,这次只是把它显示
    出来——时间、Session、工具、命中规则、匹配内容、结果、处理方式。对于 notify 类
    记录(比如 AskUserQuestion),新增 resolved_value 字段,从对应 PostToolUse
    事件的 tool_response.answers 里把用户在终端里实际选的答案摘出来存下,历史记录里
    不止看得到当时问了什么,也看得到最后答了什么(旧记录没有这个数据,新产生的才有)。
  • 额度明细(limits)百分比换成圆角胶囊 + 发光描边的进度条样式,颜色跟着当前配色
    主题的 accent/yellow/red 变量联动(不是写死的固定色)。
  • 状态信息页会话状态新增 Σ Total: X.XM · Cached: X.XM 每会话 token 统计,跟
    ccstatusline 的 TokensTotal/
    TokensCached 挂件同一个计算口径(Total = input+output+cached,Cached =
    cache_read+cache_creation),之前只统计了 cache_read,漏了 cache_creation。
  • 事件明细表格(工具调用/MCP 调用/Skill 调用统计的下钻、审批历史记录)的 Session ID
    前面统一带上文件夹名(比如 "webui · 6ca9e412…"),比一串截断的 UUID 好认。

修复

  • CC-Monitor 自己的 disk_overwrite 规则正则表达式 \b(dd|mkfs|fdisk|parted)\b
    会把 dd-table 这种带连字符的 CSS 类名误判成 dd 磁盘命令拦截(正则的 \b 词
    边界把连字符当成了单词分隔符)——开发这次功能时被自己的规则拦了才发现,改成用
    (?<![\w-])...(?![\w-]) 精确匹配独立的命令名。
  • AI 审批台的桌面通知按钮、审批历史记录表格,切换中英文界面语言时不会重新翻译(imperative
    设置的 textContent,不在 data-i18n 的自动刷新范围内),已经把它们接进语言切换
    时的刷新流程。
  • Log 审计 / Claude Tap 工具栏的会话筛选下拉框之前用 margin-left: auto 想推到最
    右边,但它在 DOM 里排在自动滚动开关前面,实际效果是开关跑到了它右边——加上
    order 让它排到真正最后。
  • 首页账号信息的"账号创建时间"/"订阅开始时间"用 toLocaleString().slice(0, 10)
    截取日期部分,截出来的字符串带了个多余的逗号("3/28/2026,"),改用
    toLocaleDateString()。

变更

  • 之前给文件操作统计/软件安装统计/Anthropic 账号信息这几组统计卡片加过整卡片背景
    染色(先是跟随主题色,后来改成固定的霓虹配色,又发现忘了主题选择器本来就能改这个
    颜色),来回几轮后按最新反馈整体去掉了,卡片恢复成跟其它统计一样的纯色背景。

English

Added

  • Anthropic account info now shows name/email/organization/plan: not a new network
    call — it's read from Claude Code's own local global config file ~/.claude.json (the
    oauthAccount field), confirmed by decompiling ccstatusline's
    "Claude Account Email" widget for the exact path and field names. New fields: name,
    email, organization name, organization role, plan type (e.g. claude_max), organization
    rate-limit tier, billing type, account creation date, subscription start date. Placed
    below "Detected claude processes" on the Home page, and before "Account quota" on the
    Status page.
  • Approval history on the AI Approvals page: the pending_approvals table was never
    actually deleted from anywhere (the Home page's "clear current data" button only clears
    the events table), so history was already being kept long-term — this just surfaces it:
    time, session, tool, matched rule, matched value, outcome, resolved via. For notify-kind
    records (e.g. AskUserQuestion), a new resolved_value field captures the user's actual
    answer from the corresponding PostToolUse event's tool_response.answers — the history
    now shows not just what was asked but what was actually answered (existing records predate
    this and won't have it; new ones will).
  • The limits percentage now renders as a rounded, glowing pill-shaped progress bar,
    colored from the current theme's accent/yellow/red tokens (not a fixed palette).
  • Per-session token stats on the Status page: added Σ Total: X.XM · Cached: X.XM,
    matching ccstatusline's TokensTotal/
    TokensCached widgets exactly (Total = input+output+cached, Cached =
    cache_read+cache_creation) — the previous implementation only counted cache_read, missing
    cache_creation.
  • Session ID cells in event-detail tables (Tool/MCP/Skill call drilldowns, approval history)
    now show the folder name in front of the ID (e.g. "webui · 6ca9e412…") instead of a bare
    truncated UUID.

Fixed

  • CC-Monitor's own disk_overwrite rule regex, \b(dd|mkfs|fdisk|parted)\b, false-positived
    on hyphenated CSS class names like dd-table (\b treats a hyphen as a word boundary,
    same as whitespace) — discovered when this very feature got blocked by our own rule while
    grepping the stylesheet. Fixed with (?<![\w-])...(?![\w-]) so it only matches an isolated
    command name.
  • The desktop-notification button and approval-history table on the AI Approvals page didn't
    re-translate on a language switch (their text is set imperatively, outside the data-i18n
    auto-refresh path) — wired into the language-switch refresh now.
  • The session-filter dropdown on the Log Audit / Claude Tap toolbars used margin-left: auto
    to push itself right, but it sat before the autoscroll toggle in DOM order, so the toggle
    ended up to its right instead — added order so it renders truly last.
  • The Home page's "Account created" / "Subscription started" dates were sliced out of
    toLocaleString() output, leaving a stray trailing comma ("3/28/2026,") — switched to
    toLocaleDateString().

Changed

  • Colored card backgrounds for the file-ops/install-ops/Anthropic-account stat groups (added,
    then re-themed to a fixed neon palette, then it turned out the theme selector already
    covered this) were removed entirely after a few rounds of feedback — these cards are back
    to the same plain background as every other stat card.

完整更新日志见 CHANGELOG.md (English)。