Skip to content

refactor(tui):TUI简化迭代方案 #266

@creatang

Description

@creatang

Phase 1: 布局重构(view.go)
目标: 移除 sidebar,全屏聊天

  • 删除 renderSidebar() 调用
  • 删除 renderBody() 中的 sidebar 逻辑
  • 删除 computeLayout() 中的 sidebar 计算
  • 主区域改为单栏,contentWidth = docWidth
  • 调整最小窗口尺寸为 60x20

Phase 2: Header 极简化(view.go)
目标: 只保留品牌名 + 状态

  • 删除 provider/workdir 等 meta 信息
  • 只保留 NeoCode 品牌名(左对齐)
  • 右侧保留简短状态(running/idle)
  • 高度降为 1 行

Phase 3: 输入框底部固定(view.go)
目标: 输入框固定在底部

  • 修改 renderWaterfall() 顺序:messages → input
  • 输入框宽度 = 全屏宽度
  • 输入框高度自适应(min 2行,max 8行)
  • 添加底部边距

Phase 4: 消息样式重构(view.go + styles.go)
目标: 无边框、左对齐、简洁
styles.go 修改:

  • messageBody: 移除边框,添加左margin
  • messageUserBody: 移除边框,添加右对齐
  • messageAgentTag: 改为小括号如 (Agent) 或完全移除
  • inlineNotice: 简化为普通文本
    view.go 修改:
  • renderMessageBlockWithCopy(): 简化标签显示
  • 代码块: 保持深色背景但简化边框

Phase 5: Thinking 状态(view.go + app.go)
目标: 更优雅的状态显示

  • 当 agent 正在 thinking 时,在最新消息区域显示 "Thinking..."
  • 使用省略号动画 ... 而非 spinner
  • 消息完成后自动消失

Phase 6: 命令菜单重构(command_menu.go)
目标: 底部弹出式,更简洁

  • 移除顶部边框
  • 简化为纯文本列表
  • 快捷键显示在右侧

Phase 7: 帮助信息最小化(keymap.go)
目标: 只显示最常用的快捷键

  • 移除完整帮助栏
  • 改为底部简短提示(如 Ctrl+C: 退出 Ctrl+K: 命令)
  • 或者完全依赖 ? 键触发

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions