Skip to content

feat(cli): TUI 视觉重设计 + 文档更新 + /clear 崩溃修复#47

Merged
afine907 merged 8 commits into
masterfrom
fix/duplicate-ids-clear-crash
May 24, 2026
Merged

feat(cli): TUI 视觉重设计 + 文档更新 + /clear 崩溃修复#47
afine907 merged 8 commits into
masterfrom
fix/duplicate-ids-clear-crash

Conversation

@afine907
Copy link
Copy Markdown
Owner

Summary

  • TUI 视觉重设计:学习 Claude Code 设计理念,美化消息样式、头部、输入框,新增底部提示栏
  • /clear 崩溃修复:修复清除后发消息 DuplicateIds 崩溃
  • 文档全面更新:CLAUDE.md 和 README.md 同步至当前项目状态,新增英文 README,重新定位为致敬 Claude Code 的学习项目

Changes

feat(cli): TUI 视觉重设计

  • UserMessage: 左边框 + 微妙背景色
  • AssistantMessage: ● 圆点前缀
  • SystemMessage: — 破折号包围
  • HeaderBar: Brand | Mode | Model 布局 + accent 背景
  • InputArea: 移除 Send 按钮,简化为纯输入框
  • Footer: 新建底部快捷键提示栏
  • 移除 StatusBar,清理过时 CSS 选择器
  • 新增 17 个重设计测试 + 更新现有 E2E 测试(66 passed)

fix(cli): 修复 /clear 后发消息 DuplicateIds 崩溃

  • 清除聊天历史后,组件 ID 重复导致崩溃
  • 修复消息 ID 生成逻辑

docs: 文档全面更新

  • 补充 16 个子模块说明(plugin/security/ops/mcp/session/skills/task 等)
  • 更新目录结构:cli/views/ → cli/widgets/
  • 更新 CLI 命令:添加 setup、plugin 子命令
  • README 重新定位为致敬 Claude Code 的学习项目,移除商业对比表
  • 新增 README_EN.md 英文文档

Test plan

  • uv run pytest tests/test_tui/ -v — 66 passed
  • 手动验证 TUI 界面视觉效果
  • 验证 /clear 后发消息不再崩溃

🤖 Generated with Claude Code

afine907 and others added 8 commits May 24, 2026 10:34
clear_messages() 调用 remove_children()(延迟删除)后立即 mount
Static(id="placeholder"),旧 placeholder 仍在 _nodes_by_id 中,
导致 DuplicateIds 异常。

修复:clear_messages() 改为 async,await remove_children() 确保
旧节点完全移除后再挂载新 placeholder。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- UserMessage: 左边框 + 微妙背景色
- AssistantMessage: ● 圆点前缀
- SystemMessage: — 破折号包围
- HeaderBar: Brand | Mode | Model 布局 + accent 背景
- InputArea: 移除 Send 按钮,简化为纯输入框
- Footer: 新建底部快捷键提示栏
- 移除 StatusBar,清理过时 CSS 选择器
- 新增 17 个重设计测试 + 更新现有 E2E 测试

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- 补充 16 个子模块说明(plugin/security/ops/mcp/session/skills/task 等)
- 更新目录结构:cli/views/ → cli/widgets/,补充所有新文件
- 更新 CLI 命令:添加 setup、plugin 子命令
- 更新工具列表:20+ → 40+,分类说明
- 补充 Sub-Agent、插件系统、AgentOps 等架构描述
- 移除不存在的 README_EN.md 引用

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- 移除商业产品对比表,定位为学习项目而非竞品
- 新增"这是什么"章节,明确项目目标和受众
- 用"核心模块"表格替代功能列表,强调学习价值
- 新增"适合谁"章节,面向 AI Agent 初学者
- Docker 标注为实验性,贡献章节增加"项目还很年轻"
- 添加致谢章节,明确 Claude Code 为设计灵感来源

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- README_EN.md: 基于中文版创建完整英文文档
- 中文 README: 添加中英文切换链接
- 统一致敬 Claude Code 的学习项目定位

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- 移除 chat.py 中未使用的 Markdown 导入
- test_tui_redesign.py: pytest.raises(Exception) → NoMatches

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@afine907 afine907 merged commit e71a40d into master May 24, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant