feat(web-studio): search modes, panel collapse, and structured JSONL rendering - #4470
Open
ZaynJarvis wants to merge 2 commits into
Open
feat(web-studio): search modes, panel collapse, and structured JSONL rendering#4470ZaynJarvis wants to merge 2 commits into
ZaynJarvis wants to merge 2 commits into
Conversation
…rendering Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C65Cb79Dvr5zLD6ib1T9Ew
…wsing `/` and `//` put the palette into directory browsing, which was still using the narrow layout, so the dialog resized whenever the query switched between searching and browsing. Only the empty idle prompt stays narrow now. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C65Cb79Dvr5zLD6ib1T9Ew
yufeng201
reviewed
Aug 30, 2026
| isDir: item.uri.endsWith('/'), | ||
| abstract: item.abstract, | ||
| // ponytail: reuse the `size` slot to surface the semantic score. | ||
| size: |
Collaborator
There was a problem hiding this comment.
这里把 semantic score 塞进 VikingFsEntry.size 后,结果列表会在原本展示文件大小的位置直接显示类似 0.84 的无标签数值,用户无法判断它代表相关性分数,后续复用 size 做格式化或排序时也容易产生歧义。建议为检索结果使用独立的 row view model / score 字段,并在 UI 中明确标注含义。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Studio 一轮体验优化
搜索
files/find/search/grep/glob,Tab 循环切换、query 不变。检索走已有的useRetrievalQuery,没有新写分发。目录浏览(/前缀)下 Tab 保持原来的「进目录」语义。/时自动补**/(对齐 gitignore / VS Code / fd 惯例),含/原样透传。/、//)统一宽版,空结果或切换命令时不再变宽变窄;只有还没输入的 idle 提示保持窄版。布局
max-w-40截断到读不出内容)挪到终端输入行做 shell prompt 前缀。bg-muted text-foreground,去掉bg-foreground text-background反色和实心 primary 那几处。JSONL 预览
原来的消息分类是字符串往返:先把结构化 part 拼成
[tool: xxx]\n{...},再用正则去 match 自己拼出来的前缀。后果是一条 assistant 消息只要同时含 text 和 tool_use 就被压成一坨,[tool:前缀漏进正文,且只有第一个 part 的类型能被识别。parts[].type判定 tool / text、按role判定 user / assistant,一条消息可以含多个 part 各自渲染。role:'user'+type:'tool'且只有tool_output没有tool_input,parser 却无条件先造一个input={}的 call part,导致整条被判成 tool call → 标签落回user、渲染出一个空{}框、套上 user 蓝底。改成无 input 且有 output 时不造 call part。↵/⏎/\r归一化成\n;markdown 单换行不再被折叠(新增remark-breaks,只作用于 JSONL 聊天体,普通 .md 保持 CommonMark)。bg-muted/30+max-h-96封顶(顺带治了巨型输出撑爆卡片),thinking / 未识别 part 灰下去,invalid 加border-destructive/30。明暗双主题都验过。Dialog mode/对话模式),且非 dialog 模式下 toolcall 开关也生效了 —— 之前if (!dialogMode || showTools)让它在 raw 模式下完全失效。顺带
routeTree.gen.ts每次 build 都产生 123 增 123 删的无意义 diff。根因是@tanstack/router-plugin在dependencies和devDependencies里重复声明、版本还打架(^1.132.0vslatest),谁跑一次npm i谁就换一个生成器版本。删掉重复声明、锁死版本、提交重新生成的文件。连续 build ×2 + test ×1 后文件 sha256 一致。依赖
isDir判断已写好,fix(fs): mark directory matches in glob results with a trailing slash #4466 合入后生效。remark-breaks一个依赖,只用于 JSONL 聊天体的单换行渲染。未改动
后端、检索 API、ACL;
lib/sessions/types/message.ts(那是服务端 SSE 的严格形状,JSONL 预览要吃任意历史版本的落盘行,宽松度要求相反)。搜索结果行第二行的 abstract 显示逻辑对目录浏览列表同样生效,本轮不做区分。