2.3 右侧边栏与文件预览
本节目标
学会用右侧边栏浏览工作区文件、预览文本和富媒体文件、开一个顺手的人工终端、逛一逛沙箱浏览器、管理打开的标签页、查看 agent 产生的产物文件。
右侧边栏是什么
选中工作区后,界面右侧会出现右侧边栏。它相当于当前工作区的文件浏览器 + 轻量阅读器 + 产物面板,和左侧边栏的会话导航形成互补:
- 左侧管会话
- 右侧管文件与产物
0.1.5-alpha.2 起,右侧边栏从单一的「文件树 + 文本预览」升级为可挂载全局面板的容器:默认依然带文件树和文本预览两页,但任何遵循扩展点的插件都能在顶部加新标签。
标签页导航
右侧边栏顶部有一排标签页。0.1.5-alpha.2 起,标签栏本身也打磨过:实时同步标签标题(跟着当前文件变化)、文件类型图标和去歧义路径一目了然;只剩一个标签时可以折叠成方块展开钮,把顶部让给会话区。
| 标签 | 内容 |
|---|---|
| 文件 | 当前工作区的目录树 |
| 文本预览 | 已打开的文件阅读标签 |
| 终端 | 交互式人工终端(0.1.6-alpha.1 起,见下文) |
| 浏览器 | 沙箱化网页浏览(0.1.6-alpha.2 起,见下文) |
后续若安装了支持侧边栏的插件,也可能在这里注册新的标签页。
文件树
文件标签页里以懒加载的树形结构展示工作区目录。它的行为和你熟悉的文件管理器差不多:
- 点击文件夹前的三角箭头,展开或折叠该文件夹
- 点击文件,会在文本预览标签页里打开它
- 树会尽量保持和你工作区真实目录一致,文件增删后刷新页面即可同步
- 0.1.6-alpha.1 起,在文件树和预览标签之间来回切换时,文件树的滚动位置会保留,回来还在原地
工作目录(编辑器、终端、文件管理器等)共用的「在本地应用打开」入口在 SSH 远程会话里会自动隐藏,避免打开远端不存在的应用。
文本预览标签页
打开一个文件后,右侧边栏自动切到文本预览标签,并以分页标签的形式展示文件内容:
- 每个打开的文件是一个标签
- 点击标签切换文件
- 关闭标签后,阅读状态会被保留,下次打开同一文件会回到上次离开的位置
如果你需要临时专心看某个文件,可以点击右侧边栏顶部的展开按钮,把它撑到全屏模式。全屏模式下文件树和预览各占更大空间,看完再点一次即可收回。处于折叠状态、只剩一个标签时,展开钮会隐去,避免在角落占位。
单标签的关闭规则
文本预览里只剩一个标签时,关闭按钮会被收回,和最后一列一并收起;其他场景里单标签可以单独关掉,关掉最末一个标签会同时收掉整列,避免你以为还有文件标签可以点、点了又跳回空列。引导 tab(第一个)总是常驻。
预览里的文件交给系统应用打开
0.1.7-alpha.1 起,正在预览的文件可以直接在默认应用打开:预览头部多了一个打开按钮(菜单里还能选在文件管理器里显示);碰到 dsh 预览不了的格式,空状态页也会提供在默认应用打开的按钮,而不是让你自己去找文件。入口是否出现取决于部署是否支持本地应用打开(SSH 远程场景自动隐藏)。
能预览哪些文件
0.1.5-alpha.2 起,右侧边栏的预览已经统一成可扩展的文档预览框架,默认覆盖下表全部类型:
| 文件类型 | 默认预览能力 |
|---|---|
| 代码、配置文件、日志等纯文本 | 分页标签、行号、阅读位置记忆 |
| PNG、JPEG、WebP、GIF 等图片 | 在预览里直接渲染,可缩放 |
| 连续滚动阅读(按页细分状态保留) | |
| Markdown | 按渲染后样式展示,含 Mermaid、Graphviz、SVG、HTML 围栏 |
| Word、PowerPoint | 转 PDF 后预览,带统一的缩放控件 |
| Excel / CSV / TSV | 0.1.7-alpha.1 起浏览器直接打开表格(见下文) |
新类型由支持对应扩展点的插件挂载进来;以后扩展就装插件,不用等 dsh 主线。
Excel 表格直接在浏览器里看
0.1.7-alpha.1 起,.xlsx、.xls、.csv、.tsv 不再只能转 PDF 或丢给系统应用,右侧边栏里直接出表格视图:
- 工作表标签:多工作表的文件底部有标签页切换,单元格可选中、可复制
- 只读公式栏:选中单元格能看到它的公式和已保存的结果;预览显示已保存的计算结果但不重新计算,个别函数不支持也不会把好数据算坏,缺结果就留空,公式栏旁的紧凑提示会提醒你结果可能不全
- 样式尽量还原:字体、填充、边框、数字格式、富文本、合并单元格、行列尺寸、冻结标题这些 XLSX 常见元素都能显示;检测到表格里还藏着图表、图片、形状等预览画不了的东西时,会列出清单并建议用系统应用打开
- CSV/TSV 可切纯文本:默认按表格看,也可以切成纯文本对照源文件;值一律按字面字符串处理,前导零、日期这类不会被自作主张地转格式
- 预览是只读的,默认单文件上限 16 MiB
统一的缩放控件
0.1.7-alpha.1 起,PDF 和图片预览共用一套浮动缩放控件:适应宽度(默认,跟随面板尺寸)、25% 到 400% 按每 25% 一档逐级缩放,鼠标移到预览底部会滑出来,还支持触控板捏合缩放。Word、PowerPoint 转 PDF 预览后同样适用。
对话流里的图也能直接看
不只是「在右侧边栏打开的文件」,0.1.5-alpha.2 起消息流里出现的 Mermaid(```mermaid)、Graphviz(```dot / ```graphviz)、SVG(```svg)、HTML(```html)这些代码围栏,都会被就地渲染成预览,而不是只显示一坨源码。配色跟随当前应用主题,亮色主题看亮底图、暗色主题看暗底图,不用手动切换。
预览是和消息上下文连在一起的,能直接看到 agent 给的图,省下"复制代码 → 另开工具 → 渲染"那一步。
产物文件也走这里
0.1.3-alpha.2 起,agent 运行过程中生成的产物文件、工具调用里读到的文件,都会统一在右侧边栏打开,而不是在对话区里展开独立详情卡片。
0.1.5-alpha.2 起更进一步:不可变的产物会单独以下载卡片呈现,卡片带着原生文件动作:
- 卡片上点下载直接落盘
- 卡片上点在默认应用打开,系统用对应的应用程序(图片用看图、Markdown 用编辑器、PDF 用阅读器等)直接打开本机上的那个文件
- 卡片上点在文件管理器里显示,系统资源管理器跳到它所在的目录
路径以当前工作区为相对基准展示,再长的路径也不顶出视野;同时下载和打开这两种操作都会复用会话作用域的访问权限,不会因为切换到不同的视图就把权限搞丢。
这意味着对话区会更清爽,而文件相关的内容都集中到右侧,找起来更有条理。
侧栏终端:工作区旁开一个人工 shell
0.1.6-alpha.1 起,右侧边栏多了一个终端标签页:点开就是一个完整的交互式 shell,可以边看 agent 干活、边自己敲命令查东西。
它和 agent 用的持久终端工具是两回事:agent 的终端由提示符控制、等语义化结果;这里的终端是给你自己用的,支持完整的键盘输入、Tab 补全和正常的 shell 配置,就是你熟悉的那种终端。
主要行为:
- 选 shell:打开标签页会看到终端开始页,主按钮直接打开上次选择的 shell;旁边还有个菜单列出本机已安装的常见 shell(
zsh、bash、fish、pwsh、powershell、cmd,执行环境的默认 shell 排第一)。选一个就记录下来并立即打开,以后每次默认用它;选过的路径失效时自动回落到默认项 - 配色跟主题:终端颜色跟随应用的浅色/深色主题,切换主题终端也跟着换,文字对比度自动调优,光标在深浅背景上都看得清
- 进程不丢:折叠侧栏、切换标签页、切到别的会话、全屏、甚至浏览器断线,终端进程都继续活着;刷新页面后会恢复 Host 保留的终端标签(布局本身不持久化);Host 重启不恢复进程
- 标签可改名:双击标签页标题可以重命名,开多个终端时好区分
- 多端只读:同一个终端,最新打开的连接可以输入和改尺寸,其他连接自动变成只读观看,不会互相打架
- 数量上限:每个会话最多同时保留 8 个终端
shell 退出后标签页保留显示,不会自动重启;确认没用了手动关掉即可。终端进程使用与 agent 相同的会话沙箱策略,改沙箱模式前先关掉保留的终端。
什么时候用得上
agent 改完代码你想自己 git diff 看一眼、跑个测试、看下日志,不用离开 dsh:终端标签就在会话旁边,和右侧文件预览配合着用非常顺。
引用侧栏预览:选之前先看清
0.1.5-rc.2 起,输入框里 @ 引用的文件、或以 /技能 引用的技能/插件,候选会在右侧边栏里就地预览——文件内容或技能说明直接展开,加载中或待挂载的预览也支持。引用预览和原有的产物预览共用同一套侧栏样式:@ 出来的文件走文件预览规则,技能/插件走 Markdown 预览,产物卡片的下载与原生文件操作依旧可用。
回答里的文件链接也能点
0.1.6-alpha.2 起,agent 回答里提到的现有源码文件不再是纯文字:模型被引导把文件提及写成链接,你直接点就能在右侧边栏的预览里打开它。支持绝对路径和工作区相对路径,链接尾部还能带行号,比如 app.ts:24 或 app.ts:24–30,点开会跳到对应起始行。行内代码、命令和代码块里的内容不会被强行变成链接,外部网址也维持原来的处理。
侧栏浏览器:会话旁边开个网页
0.1.6-alpha.2 起,右侧边栏多了一个浏览器标签页,可以在不离开 dsh 的情况下浏览网页:
- 从哪打开:侧栏引导页点浏览器框,或直接点 assistant 回答里的 HTTP(S) 链接,都会新开一个浏览器标签;不带协议的地址(比如
example.com)自动按 HTTPS 处理 - 工具栏:后退、前进、刷新、前往一应俱全,最右侧还有在系统浏览器中打开,想用完整浏览器时一键交出去;标签标题显示网站主机名
- 沙箱隔离:网页在 iframe 沙箱里运行,拿不到 dsh 的内部能力;每个标签右上角有一个逐标签的沙箱开关,站点拒绝嵌入或功能异常时可以临时关掉沙箱换兼容性(关闭期间持续显示警告,且不会记住你的选择)
- 本地服务也能看:
http://127.0.0.1这类回环地址和公网地址走同一套规则,agent 起了个本地 dev server,你顺手就能在旁边打开看效果
要注意它的定位是轻量预览:很多站点会拒绝被 iframe 嵌入,或需要沙箱不提供的下载、弹窗能力,这时用沙箱开关或系统浏览器兜底;本地文件预览依然归文件预览管,浏览器标签会直接拒绝 file: 地址。
常见问题
问:右侧边栏可以关掉吗?
可以拖动它的左边界把宽度缩到很小,但完全关闭的入口取决于当前布局。通常保持打开更方便,因为文件预览和会话是并行的。
问:为什么文件树里没有我刚新建的文件?
文件树是懒加载的,agent 在工作区里新建文件后,可能需要刷新页面或等待下一次加载才能看到。不影响 agent 实际读写文件。
问:对话里 Mermaid 代码块显示成源码,不渲染?
预览渲染是 0.1.5-alpha.2 起的能力,老版本仍按源码显示。同时确认围栏语法标记写对:```mermaid 才会触发,其他写法只当普通 Markdown 处理。
小结
- 右侧边栏在选中工作区后出现,分标签页管理文件树、文本预览、终端与插件注册的新面板
- 标签带文件类型图标和实时标题,最后一个标签可折叠为方块展开钮
- 预览支持文本、图片、PDF、Markdown(含 Mermaid/Graphviz/SVG/HTML 围栏)、**Excel/CSV/TSV 表格(0.1.7 起)**及插件注册的更多类型
- PDF 与图片共用统一缩放控件:适应宽度默认,25%–400% 逐级,支持触控板捏合
- 正在预览的文件可一键在默认应用打开(0.1.7 起),预览不了的格式也从空状态页直接交出去
- 对话流里的 Mermaid / Graphviz / SVG / HTML 围栏就地预览,跟主题走
- 0.1.6-alpha.1 起侧栏带交互式人工终端:自选并记住 shell、配色跟主题、折叠切页不断线
- 0.1.6-alpha.2 起侧栏带沙箱浏览器:点消息里的链接就在旁边开网页,本地服务也能看,逐标签沙箱开关兜底兼容性
- 回答里的源码文件提及可点击,带行号直达,在侧栏预览打开
- 不可变产物走下载卡 + 原生文件操作(在默认应用打开、在文件管理器里显示),路径相对工作区显示