本文件给后续在 CainBot-Rust 仓库里工作的代理用。目标是让维护动作贴合当前这条 Rust 运行时分支,而不是继续按旧的 Node 主仓库或旧的兼容 worker 架构来判断实现状态。
- 正式运行入口:
rust-src/main.rs - 主运行时装配:
rust-src/app.rs - 当前聊天、群文件下载、主动工作流、回复图片渲染都已经走 Rust 运行时
- 旧的
.mjs文件如果仍然留在仓库里,默认视为历史兼容脚本或辅助工具,不要再把它们当成主运行链路
不要把这个仓库描述成“只剩基础层占位”,这已经不准确。
rust-src/:Rust 运行时代码prompts/:Prompt 与图片资源scripts/:辅助脚本,不再是聊天/下载主 worker 链路data/:运行时目录,不应提交运行产物config.example.json:配置模板RUST_PORT_PROGRESS.md:当前迁移状态说明
- 自动入群必须保留两条路径:
request_type=group直接处理- 后台轮询系统消息补捞邀请
- 群主动回复的过滤心跳不能影响显式
/chat、@Cain、/agent - 低信息回复仍要保留复审与回退逻辑
replyErrorsToChat默认保持false- 与 CainBot 远端 Linux 部署相关的路径默认仍按
/Cainbot与/Wind_Data约定 - Markdown 回复图片渲染要保留 Rust 本地图生成功能,不要再退回浏览器 worker 方案
文件:
rust-src/chat_session_manager.rsrust-src/reply_markdown_renderer.rs
现状:
- 聊天入口、主动回复、低信息复审、长期记忆捕获已经在 Rust 内
- Markdown 回复图也已经由 Rust 生成 PNG,不再依赖 Playwright/Node worker
结论:
- 修改聊天链路时,先看
chat_session_manager.rs - 修改回复图片时,直接改
reply_markdown_renderer.rs
文件:
rust-src/group_file_download_worker.rs
现状:
- 群文件下载消息入口、候选选择、镜像探测、下载状态推进都已接在 Rust 运行时
结论:
- 不要再按“Rust 控制层 + Node 下载 worker”理解这块
- 改下载逻辑时,直接以 Rust 实现为准
文件:
rust-src/workflow_agent_manager.rsrust-src/codex_bridge_server.rs
现状:
- 已支持显式
/agent - 已支持聊天链路中途 handoff 到主动工作流
- 已支持阶段性汇报、继续跟进、会话持久化
结论:
- 通用 Agent 相关需求优先落在
workflow_agent_manager.rs - 不要把它收缩回只会修 issue 的专用流程
文件:
rust-src/issue_repair_manager.rs
现状:
- 这是仍然保留的专用工作流,不等价于通用 Agent
结论:
- 如果用户要的是“主动触发工作流并自由汇报”,优先看通用 Agent,不要只改 issue repair
至少做这些:
cargo checkcargo test- 如果改了入口分流、聊天链路、工作流 Agent,再看一眼
RUST_PORT_PROGRESS.md是否需要同步更新 - 如果改了配置字段,同步检查
config.example.json
data/下运行期生成物- 下载产物
- 缓存、日志、群表情、临时文件
- 真实 token、私钥、密钥
- 改了哪些行为
- 是否影响通用 Agent、issue repair、群文件下载或聊天链路
- 是否改动配置结构
- 做了哪些本地验证
- 还有哪些路径没验证