Releases: WaterTian/cc-bot
Releases · WaterTian/cc-bot
v0.1.11
[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
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.mdMonitor 通配权限按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
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
Fixes
- 升级路径自愈:
/cc-bot:setupstep 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
v0.1.6
主会话优先级(Main-Session Priority)
CC 主窗口对话期间,群消息自动让路。90% 场景是群里单用户对话,主窗口正在改代码时不希望被群消息打断的真实痛点。
机制
- CC
UserPromptSubmithook → 写.cc-bot/runtime/main-busy.lock - CC
Stophook → 删锁 + 清占位通知 flag poll.jstick 头checkMainBusy():- 锁存在 + 未过期 → 仍 fetch 不 emit;首次见新消息发群占位「主窗口处理中,稍后」(同锁周期内静默)
- 锁过期(> 10min)→ 强制删锁 +
events.log写BOT_WARN|main-busy-lock-expired|ttl-600000ms告警 - 不变式:锁期间不 append
poll.emitted,否则解锁后消息会被去重跳过
"主窗口对话"的精确定义
- 概念:开发人员在 CC 主窗口主动键入的 prompt
- 实现:以 CC
UserPromptSubmithook 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.js—checkMainBusy()+sendMainBusyPlaceholder()+ tick emit 分支commands/setup.md— 新 step 9 幂等注册 hook 到~/.claude/settings.jsoncommands/doctor.md— 新 5b 检查 hook 注册状态 + 锁活跃态skills/lark-bot/SKILL.md— §消息调度 末尾新增 §主会话优先级(含定义澄清)
⚠️ 升级必读
升级到 v0.1.6 后必须重跑 /cc-bot:setup 一次激活 hook。README §Updating 三条升级命令只拉新代码,不动用户全局 settings.json。
v0.1.5
What's Changed
多 agent 调度架构
slots_max=3并发 +.cc-bot/runtime/agents.jsonregistry- tag 冲突矩阵:
read:/write:/mcp:/port:/net:/exclusive: read:Xvsread:X并发读不冲突;read:Xvswrite: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 项)