dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
侧边网页预览面板:本地静态托管、Markdown/代码/图片预览、非静态项目一键运行(Cargo/npm/Go/Python)实时日志、文件直接拖入对话(保存到工作区)、网页元素标记批注、404 时工作区文件搜索、链接点击接管到侧边预览。
DeepSeek Harness(DSH)侧边网页预览面板 —— 一个标准 Cordis 插件包(Host + Client 双半), 把工作区目录托管成 iframe 预览,并支持项目运行、元素标记批注与链接点击接管。
/__dsh-preview/<sessionId>/...)—— Markdown 渲染、代码带行号、图片直显、
HTML 原样localhost:PORT 并加载预览;
「日志→对话」一键把日志发给 AI 辅助诊断.dsh-drops/ 并以
路径引用加入草稿(对话框保持干净,AI 按需读取文件内容,上限 64 MB);
图片单独拖入仍走 DSH 原生图片附件轨,混合拖入时图片同样保存为文件引用docs/候选批准总文档.md)
→ 全部在侧边打开;Cmd/Ctrl+点击保留浏览器默认行为body[data-ds-dark-theme] + --dsw-alias-* token,
预览页经 html[data-theme] 同步,切换即时生效,默认回退夜间)要求 DSH(DeepSeek Harness)Web 版。在 profile 目录(如 ~/.dsh/profiles/web):
npm install dsh-web-preview-panel
然后在 cordis.patch.yml 中挂载:
- insert:
- name: dsh-web-preview-panel
重启 dsh web 即生效。
npm run build # 产出 lib/index.js(host)与 lib/client.js(ModuleLoader bundle)
src/host.js —— Host 半:webServer 路由(静态托管 + POST /api JSON RPC)、
subprocess 项目运行、fs 文件访问src/client.js —— Client 半:React 面板 UI、标记/批注、点击接管、会话隔离;
通过 fetch('/__dsh-preview/api') 与 Host 通信GET/HEAD /__dsh-preview/<sessionId>/<path> —— 静态文件 / Markdown / 代码 / 图片POST /__dsh-preview/upload —— 拖入文件落盘(原始字节,头字段 X-Dsh-Sid /
X-File-Name / X-File-Size / X-File-Type,保存到 <root>/.dsh-drops/,上限 64 MB)POST /__dsh-preview/api —— { method, args } JSON RPC:
set-root pages resolve-path detect-project run-project project-status
stop-project stateMIT