跳到主要内容

CountBot v0.6.0 发布说明

版本概览

v0.6.0 的主题是“把外部执行层与远程访问边界真正工程化”。

这个版本一方面把外部编程代理接入做成正式能力,另一方面把远程访问、首次初始化和运维可用性补到了更适合真实部署的水平。它不是一次单点功能发布,而是一次面向长期运行和远程协作的结构性增强。

核心更新

1. 外部编程代理成为正式扩展层

v0.6.0 把外部编程 CLI 工具接入提升为正式能力,而不是临时脚本拼接:

  • 支持可配置的外部编程代理 profile
  • 支持 Codex CLI、Claude Code、OpenCode 一类工具的统一接入思路
  • 支持 aidirect 两类路由模式
  • 支持渠道账号绑定默认外部编程 profile

这意味着 CountBot 不再只是“自己会调用工具”,而是可以把外部编程代理纳入统一运行时,形成更清晰的编码执行层。

2. 远程首次初始化安全模型完成落地

针对“尚未设置密码时如何安全地远程初始化”这个问题,v0.6.0 引入了受控方案:

  • 启动时为未初始化实例生成随机远程入口
  • 入口形态为 /setup/<随机路径>
  • 远程初始化必须通过该入口携带合法 secret 才能完成
  • 初始化成功后入口立即失效
  • 本地初始化路径和本地使用方式保持不变

这一改动兼顾了三个目标:

  • 不破坏本地零摩擦体验
  • 不长期暴露固定初始化入口
  • 允许在真实局域网和远程运维场景下完成首次初始化

3. 随机初始化入口支持有效期治理

v0.6.0 为远程初始化入口加入了独立有效期控制:

  • 环境变量:REMOTE_SETUP_SECRET_TTL_MINUTES
  • 默认值:30
  • 最小值:10
  • 最大值:120

这让一次性初始化入口不再无限期存在,更适合受控部署和运维交付场景。

4. 远程认证边界进一步收紧

围绕远程访问,本版本对认证边界做了几处关键强化:

  • HTTP /api/* 的远程访问继续受保护
  • /ws/chat 的远程访问也明确纳入认证边界
  • 健康检查路径单独白名单化
  • 本地直连与代理请求的区分更明确
  • 远程初始化只接受合法 secret,不接受任意远程调用

这使得远程访问策略从“有认证”走向“边界更清楚、例外更明确”。

5. 运维日志与部署体验更加可用

v0.6.0 还针对实际部署过程做了多项体验优化:

  • 启动日志增加更友好的远程初始化提示
  • 同时输出中英文远程入口说明
  • 抑制明显扫描型 404 访问日志噪音
  • 抑制远程未登录产生的大量 401 访问日志噪音
  • 新增专门的远程访问文档,补齐初始化、有效期、排障和安全边界说明

这些改动虽然不一定属于“功能亮点”,但对上线可用性和现场排障价值很高。

适用场景

v0.6.0 特别适合以下场景:

  • 需要把 CountBot 暴露给局域网或公网入口
  • 需要在远程环境下完成首次认证初始化
  • 希望把外部编程 CLI 工具接入聊天和渠道流程
  • 需要降低公网扫描和未认证访问造成的日志噪音

升级提示

  • 如果需要远程访问,请显式设置 HOST=0.0.0.0
  • 如果实例尚未初始化,请注意启动日志中的 /setup/<随机路径> 提示
  • 如需缩短或延长入口有效期,可设置 REMOTE_SETUP_SECRET_TTL_MINUTES
  • 如果通过反向代理暴露服务,请按远程访问场景配置,不要假设代理回环会被视为本地访问

相关文档