dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
Codex 式右侧工作区:文件树 + 预览页签(Markdown/源码)、嵌入式浏览器(直连/代理 iframe)、侧边聊天(直连 host LLM 流式对话),全部收敛为原生 details 右栏的页签,可开关多开。
dsh web 的右侧文件管理器:目录树 + 文件预览(Markdown 渲染 / 源码),接管原生 details 右栏。
⚠️ 安全提示: 这是本机个人工具。host 半边通过
/fsviewer-api路由直接用 Nodefs读取本机任意绝对路径,无任何鉴权(与 dsh 原生 browse 目录后端同级)。请勿在多用户或网络暴露的环境中使用。
web profile 的 dsh(DeepSeek Harness)git clone https://github.com/sunyuhuirong/fsviewer.git YOUR_PLUGIN_PATH
~/.dsh/profiles/web/package.json:
{
"dependencies": {
"fsviewer": "link:YOUR_PLUGIN_PATH"
},
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "fsviewer"]
}
}
}
cd ~/.dsh/profiles/web && pnpm install
安装后请确认
node_modules/fsviewer符号链接存在:ls node_modules/fsviewer
dsh web:
dsh web
插件自带的 cordis.patch.yml 会经 dsh.bundle.patch 自动并入 profile 加载层,无需手动改动;更完整的安装与 browse 后端说明见 INSTALL.md。
details 栏并滑入。details 列内(priority -10 影子注册),与布局/主题一致;插件停用后原生工具详情自动恢复。MarkdownText 渲染并支持源码切换;文本显示源码;二进制 / 超大文件给出提示并提供系统打开。workspaceId 独立存储;切换工作区(侧边栏换会话、工作区选择器、存储装载)整体切换面板,原地恢复各自状态。workspaces.openPath,会话内点击文件直接在本面板预览。插件由**浏览器端(client)**与 **host 端(Node)**两部分组成:
src/client.js,经 npm run build 生成 lib/client.js):由 dsh 浏览器模块图加载,注册顶部按钮与 details 面板;目录 / 文件数据通过同源 fetch 调用 host 路由。src/index.js,Cordis 插件入口):通过官方 ctx.webServer.register 注册前缀路由 /fsviewer-api:
GET /fsviewer-api/list?path=<绝对路径> —— 列目录(目录 + 文件,含 type / hidden 标记,单目录最多 1000 项)GET /fsviewer-api/file?path=<绝对路径> —— 读文本文件(1MB 上限,前 8KB 含 NUL 判为二进制,超大文件截断并返回 truncated)数据读取由 host 直接用 Node fs 完成,不依赖 dsh 的 browse 目录能力;仅「选择目录 / 系统打开」复用 dsh 的 workspaces 服务。