PicoBot/docs/plans/2026-04-26-client-refactor-design.md
xiaoxixi 72c888a41f 重构: 整合客户端代码到 client 目录
- 将 cli/ 目录合并到 client/
- InputEvent::Message 改为简单 String 类型,移除对 ChatMessage 的依赖
- cli 模块从 lib.rs 移除
- client/mod.rs 添加 mod channel 和 mod input 声明
- 添加设计文档 docs/plans/2026-04-26-client-refactor-design.md
2026-04-26 17:18:13 +08:00

1.1 KiB

客户端代码整合设计

目标

将分散在 src/cli/src/client/ 的客户端代码整合到 src/client/ 目录。

变更

目录结构

src/
├── client/              # 整合后的客户端模块
│   ├── mod.rs           # 主程序入口 (run 函数)
│   ├── input.rs         # InputHandler + InputCommand (从 cli/input.rs 合并)
│   └── channel.rs       # CliChannel (从 cli/channel.rs 合并)
├── cli/                 # 删除
└── protocol.rs          # 保留

关键变更

变更 说明
InputEvent::Message(String) 简化为只携带文本内容,不再使用 ChatMessage
cli 模块删除 代码合并到 client
解耦 client 不再依赖 bus::ChatMessage

实施步骤

  1. 创建 src/client/input.rs - 从 cli/input.rs 合并,修改 InputEvent::MessageString
  2. 创建 src/client/channel.rs - 从 cli/channel.rs 直接复制
  3. 更新 src/client/mod.rs - 更新 import
  4. 更新 src/lib.rs - 删除 pub mod cli;
  5. 删除 src/cli/ 目录

验证

  • cargo build 通过
  • 功能保持不变