Commit Graph

47 Commits

Author SHA1 Message Date
xintaofei
e36ba36222 fix(ui): render Agent prompt as markdown and add max height to expanded card body 2026-04-16 21:57:58 +08:00
xintaofei
4c36da8ece fix(ui): prevent duplicate error display in Agent subagent card 2026-04-16 21:48:55 +08:00
xintaofei
9f82fdf350 feat(ui): add dedicated Agent subagent rendering with nested tool call display
Render Agent/Explore/Plan tool calls in a visually distinct collapsible
container with colored left border, replacing the generic tool card. Parse
subagent JSONL transcripts from {sessionId}/subagents/ to extract and
display the actual tool calls (Bash, Read, Grep, etc.) the subagent
executed, reusing the existing ToolCallPart for consistent appearance.

- Add AgentToolCallPart component with collapsible body, prompt section,
  execution stats, and nested tool call list via render prop injection
- Add AgentExecutionStats and AgentToolCall types (Rust + TypeScript)
- Parse toolUseResult.agentId to locate and read subagent JSONL files
- Validate agentId against path traversal before filesystem access
- Pass agentStats through adapter for both ID-matched and positional
  tool result pairing
- Strip agentStats in nested render to prevent recursive Agent expansion
- Add i18n keys for agent UI labels across all 10 languages
2026-04-16 21:32:25 +08:00
xintaofei
2cec462594 feat(chat): stream partial tool output during live agent response
Live tool calls that produce output while running (e.g. streaming bash
stdout from Codex) now render their partial output in real time instead
of appearing blank until the tool completes. The tool card keeps its
running visual state — spinner and 24KB tail truncation — while chunks
arrive, and transitions to the completed state once the final status
lands. A WeakMap keyed on the ACP reducer's chunks-array identity
memoizes the joined output so repeated renders don't re-run O(n) string
concatenation.
2026-04-15 19:16:50 +08:00
xintaofei
db6da4aecc fix(frontend): remove scrollbar-gutter and restore padding for scroll containers
Drop `scrollbar-gutter: stable both-edges` / `stable` from `.scrollbar-thin`
and `.scrollbar-thin-edge` so scrollbars overlay content without reserving
space, fixing layout inconsistencies between overlay and classic scrollbar
environments. Restore padding that was previously reduced to compensate for the
gutter: `px-1` to `px-3` in git-log-tab, `px-2` to `px-4` in
virtualized-message-thread, and add `px-2` to sidebar-conversation-list and
session-files-tab.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 19:20:45 +08:00
xintaofei
3901c40518 fix(chat): stop plan in-progress spinner when agent is not streaming
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 11:20:28 +08:00
xintaofei
150b927610 fix(ui): unify scrollbar styles across scrollable containers
Add .scrollbar-thin and .scrollbar-thin-edge utility classes in
globals.css and apply them to sidebar, file tree, git changes,
git log, session files, diff preview, and message thread panels.
Replace scattered inline webkit-scrollbar overrides with the
shared classes for consistent appearance and gutter behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:50:14 +08:00
xintaofei
1282dcee19 feat: add copy button on hover for user messages in conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 15:22:34 +08:00
xintaofei
f23ed12650 feat: add click-to-preview for image attachments in chat
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:23:48 +08:00
xintaofei
d75f94acf3 Merge branch 'main' into cline 2026-03-28 20:15:21 +08:00
xintaofei
be3f4986d7 支持Cline Agent 2026-03-28 20:14:48 +08:00
xintaofei
0ab9d46b63 支持实时响应时解析编辑工具的代码行号 2026-03-28 17:13:29 +08:00
xintaofei
c0b3e9aff9 优化编辑工具调用的行号解析 2026-03-28 15:46:52 +08:00
xintaofei
d5471d2ceb 优化消息里的读/写工具代码样式 2026-03-28 14:30:12 +08:00
xintaofei
8bd19738d0 优化消息里读/写内容显示样式 2026-03-28 14:04:19 +08:00
xintaofei
0fc829a618 同步会话实时响应时的样式 2026-03-25 00:27:44 +08:00
xintaofei
1da1fd1e38 使用Virtua替换@tanstack/react-virtual来实现虚拟列表 2026-03-24 22:35:52 +08:00
xintaofei
7d1db72b3e 修复消息turn有时展开异常 2026-03-24 21:36:00 +08:00
xintaofei
0d16d82eb9 优化claude code系统消息显示 2026-03-24 21:13:25 +08:00
xintaofei
af6d8dd9a8 修复并行命令的执行结果没有对应到命令块 2026-03-24 19:29:45 +08:00
xintaofei
284e45fbdf 重构会话页面的消息渲染,支持块级虚拟化,提升长会话性能,减少卡断 2026-03-24 18:52:25 +08:00
xintaofei
94ca32f421 会话页面添加滚动到底部的按钮 2026-03-21 19:25:16 +08:00
xintaofei
b6956b24c4 优化会话页面Agent响应时的时间显示 2026-03-18 11:00:06 +08:00
xintaofei
bd5456423f 继续重构会话消息处理逻辑 2026-03-12 18:34:34 +08:00
xintaofei
c8110aa03a 优化消息中plan显示效果 2026-03-12 01:04:39 +08:00
xintaofei
de02366763 plan消息md渲染 2026-03-12 00:57:23 +08:00
xintaofei
346fcd2217 优化消息的部分call tool显示 2026-03-11 17:14:53 +08:00
xintaofei
bdcafcac65 live turn显示agent图标 2026-03-11 15:07:21 +08:00
xintaofei
99cfc6c91e 修复会话消息中的思考状态显示不正确 2026-03-11 14:06:17 +08:00
xintaofei
f74fe371da 修复新会话可能出现响应不显示的情况 2026-03-11 13:06:05 +08:00
xintaofei
5960ccebb9 优化新会话页面显示布局 2026-03-10 23:49:28 +08:00
xintaofei
380f430d5a 重构部分会话消息处理逻辑,优化会话消息渲染 2026-03-10 23:24:27 +08:00
xintaofei
516aebd7e5 用户消息处理优化 2026-03-10 20:18:14 +08:00
xintaofei
11a5484b79 修复Agent消息在响应结束后显示两条 2026-03-10 20:02:59 +08:00
xintaofei
91636ada7f 重构会话消息处理和显示逻辑 2026-03-10 19:32:44 +08:00
xintaofei
aa1ff9a6df 修复会话实时状态显示 2026-03-10 14:10:04 +08:00
xintaofei
51310da549 修复会话结束后,最后一个思考可能还会显示思考中 2026-03-10 12:27:08 +08:00
xintaofei
6d86564911 优化agent执行命令时tool call的标题显示 2026-03-09 19:53:40 +08:00
xintaofei
160326b703 优化消息实时响应结束后的处理逻辑,不再立即重新加载本地数据 2026-03-09 19:11:09 +08:00
xintaofei
53186c4ab5 会话长消息时虚拟渲染 2026-03-08 23:18:41 +08:00
xintaofei
c7f2190674 优化用户消息的图片展示 2026-03-08 17:59:17 +08:00
xintaofei
7a4cbcb73e 支持在会话输入框直接进行文件/图片的拖拽和粘贴 2026-03-08 10:54:06 +08:00
xintaofei
6e5219cc10 继续多语言处理 2026-03-07 15:49:00 +08:00
xintaofei
931f69c421 继续会话去多语言处理 2026-03-07 14:52:09 +08:00
xintaofei
17a03ef95c 继续处理会话区多语言 2026-03-07 14:33:47 +08:00
xintaofei
89c91ac1eb 继续多语言补充 2026-03-07 14:22:18 +08:00
xggz
54d1097b41 Initial commit 2026-03-06 22:56:13 +08:00