Skip to content

Releases: WaterTian/cc-bot

v0.1.11

08 May 06:44

Choose a tag to compare

[0.1.11] - 2026-05-08

  • feat: v0.1.11 候选 — check-image-size 防 dimension_limit + BUSY 池 14→30 + Defense ④ 撤回
  • feat: 砍 member-cache.json 单源化 admin 判定 + poll.js Defense ④ 父进程死亡自杀
  • chore: scripts/release.js 加 --release 标志一键建 GitHub Release
  • docs: gitignore FEEDBACK.md + 详化 v0.1.10 changelog 标注 Mac 实验性
  • docs: SKILL §异常路径 — lock-taken 自动 stop+start,去掉 AskUserQuestion 卡片

v0.1.10

29 Apr 03:04

Choose a tag to compare

v0.1.10 — @他人不搭理 + Mac/Linux 适配

feat: @他人不搭理

poll.js 加 mention filter,群里 @ 他人的消息默认不响应(多人协作群降噪)。

profile.im 新增 bot_open_id 选填字段:

  • 精准模式(配了):@bot 自己 → emit;@他人 → skip
  • 保守模式(未配,默认):任何 @ 一律 skip,包括 @ bot — 用自然语言无 @ 即可触发 bot

feat: Mac / Linux 系统适配(实验性)

  • commands/setup.md Monitor 通配权限按 process.platform 选 win32 / darwin / linux 模板
  • commands/stop.md 验证残留 poll.js 加 Unix 分支(`pgrep -f` + `kill`)
  • SKILL §关闭流程 / §Shell 安全规范 加 Unix 等价
  • CLAUDE.md / README.md Prerequisites 去 Windows-only 措辞

代码改动小(绝大部分本就是跨平台 JS + bash)。Mac 端尚未实测,待用户反馈再加固。


升级方式:
```
/plugin marketplace update WaterTian/cc-bot
/plugin update cc-bot@WaterTian-cc-bot
```
重开 CC 会话生效。

v0.1.9

24 Apr 08:43

Choose a tag to compare

Changes

  • feat: 主会话忙碌占位文案池 14 条随机(替代固定"主窗口处理中,稍后"),带 emoji 前缀,风格覆盖工具风 / 礼貌风度 / 自嘲幽默三档
  • docs: SKILL 整体梳理 -44 行(§回复格式加反面长病清单 + 不过度道歉;inline/subagent 判定改为工具链长度阈值;§回复格式下 4 个技术节独立为 §执行细节;压缩 §最高优先级规则 / HUD fallback / 主窗口 caveat;删冗余字段说明)
  • docs: README 参考 cc-hud 统一风格 — Windows Bun 崩溃 TIP + Unicode 图标替代 emoji + 卖点 tagline

Upgrade

在使用 cc-bot 的项目里跑:

```
/plugin marketplace update cc-bot
/plugin update cc-bot@cc-bot
/reload-plugins
/cc-bot:doctor
```

`/cc-bot:doctor` 首行应显示 `cc-bot v0.1.9`。

v0.1.8

24 Apr 05:10

Choose a tag to compare

Fixes

  • 升级路径自愈/cc-bot:setup step 8/9 现在识别 statusLine / main-busy hook 指向过期缓存版本(如 0.1.5 路径),自动覆盖为当前路径,不再因含 cc-bot 就跳过为"幂等"
  • doctor 路径验证/cc-bot:doctor §5/§5b 增加路径分档 — cache + 当前版本=✓、cache 但过期=⚠、非 cache(指向本地开发仓)=⚠ 带针对性建议
  • doctor tokenStatus 细化active=✓needs_refresh=ℹ(会自动续,不再建议 auth login)、revoked/expired/invalid=⚠

Docs

  • SKILL §主会话优先级 补 caveat:! 前缀 bash 命令 hook 生命周期极短,测主窗口优先级必须用真实 Claude prompt,! bash 会漏测

v0.1.7

24 Apr 03:19

Choose a tag to compare

Changes

  • docs: SKILL.md 精简 17 行(冗余段清理 + 主会话优先级 bullet 展开 + Shell 规范措辞修正)
  • 清除 8 处外发 memory 引用死链,SKILL 对所有插件用户语义一致

无功能代码变更。发版目的:让 plugin cache 更新以拿到 v0.1.6 主窗口优先级功能完整代码。

v0.1.6

23 Apr 05:09

Choose a tag to compare

主会话优先级(Main-Session Priority)

CC 主窗口对话期间,群消息自动让路。90% 场景是群里单用户对话,主窗口正在改代码时不希望被群消息打断的真实痛点。

机制

  • CC UserPromptSubmit hook → 写 .cc-bot/runtime/main-busy.lock
  • CC Stop hook → 删锁 + 清占位通知 flag
  • poll.js tick 头 checkMainBusy()
    • 锁存在 + 未过期 → 仍 fetch 不 emit;首次见新消息发群占位「主窗口处理中,稍后」(同锁周期内静默)
    • 锁过期(> 10min)→ 强制删锁 + events.logBOT_WARN|main-busy-lock-expired|ttl-600000ms 告警
    • 不变式:锁期间不 append poll.emitted,否则解锁后消息会被去重跳过

"主窗口对话"的精确定义

  • 概念:开发人员在 CC 主窗口主动键入的 prompt
  • 实现:以 CC UserPromptSubmit hook fire 为准(CC 当前无"prompt 来源"字段区分人工/自动)
  • 以下场景也会触发 lock(CC 限制下无法区分,一视同仁):
    • /loop / ScheduleWakeup / CronCreate / RemoteTrigger 自动触发
    • Task/subagent 完成时(CC bug #16952 假 fire)
    • claude -p "..." 一次性 CLI prompt
  • 这不是 bug,是合理权衡:主会话单线程,上述场景主会话本就被占用无法响应群消息。锁只是把"主会话忙没理你"变成群里显式占位「主窗口处理中,稍后」,体验更好不更差
  • Monitor 事件注入(群消息 push 路径)不走 UserPromptSubmit,不会自锁

为什么 hook 走 ~/.claude/settings.json 而不是 plugin hooks.json

CC bug #10225 — plugin 声明的 UserPromptSubmit hook 完全不 fire。用户全局 settings.json 注册走另一条代码路径,稳定。main-busy.js 自带"非 cc-bot 项目 silent skip"(检查 .cc-bot/ 是否存在),全局注册对其他项目无副作用。

新增文件

  • runtime/main-busy.js — lock / unlock hook 脚本

改动

  • runtime/poll.jscheckMainBusy() + sendMainBusyPlaceholder() + tick emit 分支
  • commands/setup.md — 新 step 9 幂等注册 hook 到 ~/.claude/settings.json
  • commands/doctor.md — 新 5b 检查 hook 注册状态 + 锁活跃态
  • skills/lark-bot/SKILL.md — §消息调度 末尾新增 §主会话优先级(含定义澄清)

⚠️ 升级必读

升级到 v0.1.6 后必须重跑 /cc-bot:setup 一次激活 hook。README §Updating 三条升级命令只拉新代码,不动用户全局 settings.json。

v0.1.5

23 Apr 03:52

Choose a tag to compare

What's Changed

多 agent 调度架构

  • slots_max=3 并发 + .cc-bot/runtime/agents.json registry
  • tag 冲突矩阵:read: / write: / mcp: / port: / net: / exclusive:
  • read:X vs read:X 并发读不冲突;read:X vs write:X 冲突;前缀嵌套算同值
  • 单用户强串行 + fan-out ≤3(单消息内多 subagent 共 1 slot)
  • queue 上限 10 条、任务超时 30min

poll.js EPIPE 容错

  • EPIPE_TOLERATE=3:瞬断不死真断才死(streak 计数 ~90s 才 exit)
  • 退出前写 events.log 诊断(破例写入)

规范固化

  • state.last_processed_time 毫秒时间戳格式
  • subagent reply JSON 模板(外层单引号 + \n 转义)

测试

一轮功能测试(8 场景)+ 一轮回归测试(P0/P1/P2 共 7 项,闭环 5 项)