Skip to content

feat: 添加会话显示模式切换功能#97

Open
Jacky-li-li-li wants to merge 10 commits intoErlichLiu:mainfrom
Jacky-li-li-li:main
Open

feat: 添加会话显示模式切换功能#97
Jacky-li-li-li wants to merge 10 commits intoErlichLiu:mainfrom
Jacky-li-li-li:main

Conversation

@Jacky-li-li-li
Copy link
Copy Markdown

功能介绍

添加会话显示模式切换功能,支持两种消息布局模式:

1. 左对齐模式(默认)

  • 所有消息(用户和 AI)都左对齐显示

2. 左右分布模式

  • 用户消息右对齐(类似微信/QQ)
  • AI 消息左对齐
  • 用户消息气泡自适应内容宽度

主要改动

  • 类型定义: 添加 +ChatMessageLayout+ 类型(`'left-aligned' | 'left-right'+)
  • 状态管理: 新增 +chatMessageLayoutAtom+ 和 +useChatLayout+ Hook
  • Chat 模式: +ChatMessageItem+、+ChatMessages+ 支持布局切换
  • Agent 模式: +AgentMessages+ 支持布局切换
  • 设置界面: 卡片式布局选择器,带预览图
  • 持久化: 设置自动保存到 +~/.proma/settings.json+

截图

设置界面提供直观的卡片式选择器:

  • 预览图展示两种布局的区别
  • 圆形选择框 + 模式名称 + 描述文字
  • 点击卡片即可切换

测试

  • Chat 模式下切换布局实时生效
  • Agent 模式下切换布局实时生效
  • 设置持久化保存
  • 并排模式下强制左对齐
  • 用户消息自适应宽度

Closes #issue_number

Jacky-li-li-li and others added 10 commits March 10, 2026 02:06
- 支持左对齐和左右分布两种消息布局模式
- Chat 模式和 Agent 模式均支持该功能
- 在通用设置中添加卡片式布局选择器,带预览图
- 用户消息气泡自适应内容宽度
- 设置持久化保存到 ~/.proma/settings.json
- 新增 useChatLayout 和 useAgentLayout Hooks 统一管理布局样式
- 简化 ChatMessageItem 中的复杂条件判断
- 简化 AgentMessages 中的布局逻辑
- 移除 ChatMessages 中未使用的导入和变量
- 提高代码可读性和可维护性
- 在外观设置中添加消息气泡颜色配置
- 支持自定义用户消息和 AI 消息的气泡背景色
- 提供颜色选择器和预设颜色快速选择
- 支持恢复默认颜色
- 颜色设置持久化到 settings.json
- 使用 CSS 变量实现即时预览效果
- Agent 功能增强和 UI 改进
- SidePanel 侧边栏重构
- 文件浏览器功能完善(拖拽、提及、文件树)
- Shiki 代码高亮服务优化
- 代码块组件改进
- 富文本输入组件增强
- 标签栏优化
- 更新版本号:
  - @proma/shared: 0.1.14 -> 0.1.15
  - @proma/core: 0.2.2 -> 0.2.3
  - @proma/ui: 0.1.3 -> 0.1.4
- 新增 DELETE_WORKSPACE_FILES IPC 通道
- 新增 deleteWorkspaceFilesDirectory 函数清空上传文件目录
- SidePanel 工作区文件模块支持删除功能:
  - 展开"上传文件"目录后可删除单个文件
  - 悬停"上传文件"根目录显示删除按钮,可清空整个目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 添加 lastActiveChatTabIdAtom 和 lastActiveAgentTabIdAtom 追踪最近活跃的 Tab
- ModeSwitcher 切换模式时自动聚焦对应模式的最近 Tab
- LeftSidebar 打开/选择会话时更新 lastActive Tab

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 将 AgentOrchestrator 拆分为多个专用模块:
  - AgentSessionRunner: 单次会话运行器
  - AgentTeamManager: 团队动态模式管理
  - AgentEnvBuilder: 环境变量构建
  - AgentMcpBuilder: MCP 服务器构建
  - AgentRetryHandler: 重试逻辑处理
  - LocalEnvDetector: 本地环境检测

- 新增功能:
  - 待办事项列表 (TodoListPanel) 支持
  - 子代理元数据 (AgentMeta) 和工作区配置
  - SubAgentCard 组件展示子代理信息
  - 任务进度新增 summary 字段

- 架构改进:
  - 删除硬编码的 AgentTeamReader
  - Claude 作为 Lead 动态创建子代理
  - 成本统计支持 (costUsd)
  - 并行工具调用优化

- 类型扩展:
  - 新增 TodoItem, TodoGroup 类型
  - AgentEvent 扩展 todo_update 事件
  - Channel 新增 envVars 配置
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