🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

侧栏 IDE wang6077/dsh-ide-vscode

DeepSeek 客户端
wang607726 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在右栏直接浏览、编辑并保存工作区文件

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/wang6077/dsh-ide-vscode.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:40
    const parsed = JSON.parse(readFileSync(candidate, 'utf8'))
  • 读取本地文件
    lib/index.js:80
    info = statSync(WORKSPACE_STORE)
  • 读取本地文件
    lib/index.js:89
    const store = JSON.parse(readFileSync(WORKSPACE_STORE, 'utf8'))
  • 读取本地文件
    lib/index.js:137
    return statSync(target).isDirectory()
  • 执行外部命令固定命令
    lib/index.js:385
    child = spawn('tar', args, { cwd, stdio: ['ignore', outFd, errFd], windowsHide: true })
  • 执行外部命令固定命令
    lib/index.js:561
    child = spawn('powershell.exe', [
  • 读取本地文件
    lib/index.js:589
    return parseIconDump(readFileSync(outFile, 'utf8'))
  • 发起网络请求
    client/client.js:91
    fetch(`${API}/log`, {
  • 发起网络请求
    client/client.js:101
    const response = await fetch(url, { credentials: 'same-origin' })
  • 发起网络请求
    client/client.js:128
    const response = await fetch(path, {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 右栏浏览编辑文件
  • 文件树与编辑区
  • 新建重命名删除文件

DSH 右栏内置 IDE 插件:左文件树 + 右编辑区,右键新建文件/文件夹、重命名改后缀、删除,Ctrl+S 保存(中文界面)

README

由 DeepSeek 最新模型翻译生成
dsh-ide-vscode 给 DeepSeek Harness(DSH)右侧栏装一个能读能写的 IDE:左边是工作区文件树,右边是编辑器 / 图片预览 / 压缩包查看,文件可以直接改、Ctrl+S 直接存。 面板 它解决什么问题 DSH 自带的工作区文件面板只能看不能改(宿主的 workspaceFiles 服务是只读的)。想看代码、改一行配置、新建个脚本,都得切出去用别的编辑器。 这个插件把「文件树 + 编辑器」直接放进右侧栏的标签页:改完 Ctrl+S 就落盘,不用离开 DSH。 功能 文件树(左) - 展开 / 折叠目录,点文件就在右侧打开 - 目录上右键:新建文件… / 新建文件夹… / 打包成 zip… / 刷新 - 文件上右键:重命名 / 改后缀… / 删除 / 打包成 zip…
展开完整文档(README 剩余 1 节)
dsh-ide-vscode

给 DeepSeek Harness(DSH)右侧栏装一个能读能写的 IDE:左边是工作区文件树,右边是编辑器 / 图片预览 / 压缩包查看,文件可以直接改、Ctrl+S 直接存。

面板

它解决什么问题

DSH 自带的工作区文件面板只能看不能改(宿主的 workspaceFiles 服务是只读的)。想看代码、改一行配置、新建个脚本,都得切出去用别的编辑器。
这个插件把「文件树 + 编辑器」直接放进右侧栏的标签页:改完 Ctrl+S 就落盘,不用离开 DSH。

功能

文件树(左)

- 展开 / 折叠目录,点文件就在右侧打开
- 目录上右键:新建文件… / 新建文件夹… / 打包成 zip… / 刷新
- 文件上右键:重命名 / 改后缀… / 删除 / 打包成 zip…
- 树空白处右键 = 对当前选中的目录操作
- 新建文件时给一排后缀胶囊(.txt .md .json .js .py .ps1 .sh .bat .yaml .ini .log 无后缀),点一下自动补全名字,也可以手打任意后缀

新建文件

编辑器(右)

- 行号 + 语法高亮(用宿主自带的 shiki 高亮器,按扩展名识别)
- 直接打字编辑;Tab 插入两个空格;Ctrl+S 保存(也有「保存」按钮)
- 状态栏显示 行数 / 字符数 / 字节数 / 已保存·未保存;有未保存修改时文件名旁带一个圆点
- 切换文件时如果当前文件有未保存的修改,会问「保存并打开 / 放弃修改 / 取消」

图片(点开就预览)

.png .jpg .jpeg .gif .webp .bmp .ico .avif 点开直接当图片显示(不是丢给你一句「不是文本文件」):可切「原始大小 / 适应窗口」,状态栏显示文件大小与「只读预览」。图片走 GET /api/ide-vscode/raw,单张上限 64 MB。

图片预览

压缩包(看内容 / 解压 / 打包)

- .zip .tar .tar.gz .tgz .gz .7z .rar 点开列出包内成员(目录缩进显示,最多列 1000 项,超出会提示总数)
- 面板上「解压到旁边」:解到压缩包旁边的同名目录(已存在就自动用 名字-2,不会覆盖);解出来的顶层目录与压缩包里存的一致(和资源管理器 / 7-Zip 的默认行为相同)
- 文件或目录右键「打包成 zip…」:在它旁边生成 <名字>.zip;同名已存在会提示,不会默默覆盖
- 底层用系统自带的 tar(Windows 10+ 自带 bsdtar),所以不用装任何依赖;系统没有 tar 时会明确报错

压缩包

删除

- 默认移到回收站,不是真删;对话框里另有「彻底删除」按钮并二次确认
- 回收站位置会写在删除后的提示里(默认 <工作区根>/.dsh-ide-vscode/trash,可配置,见下)

在哪里打开

- 右侧栏点 + → 起始页上的「工作区 IDE」卡片(图标是文件树)
- 会话里点到 .js .ts .py .json .ps1 .yaml ... 这类代码 / 配置文件时,也会直接开在这个 IDE 里
- .md、.html 仍交给 DSH 自带的文档预览,不抢

安装

从插件市场装(推荐):设置 → 插件 → 插件市场 → 搜 dsh-ide-vscode → 安装。

或者命令行:

dsh plugin --profile desktop add dsh-ide-vscode

(desktop 换成你在用的 profile 名;用 dsh web 的话是 --profile web。)

装完要重启一次 DSH。 插件包列表只在启动时读,热加载不会带上新插件。

工作区根目录(跟随会话)

树显示的就是这个面板所在会话的工作区——切换工作区,树跟着换,不需要配置。每个请求都带上会话 id,宿主据此取该会话的 cwd。整条链按顺序取第一个真实存在的目录:

1. 环境变量 DSH_IDE_ROOT(想强行钉死一个目录时才用)
2. 该请求所属会话的工作目录(ctx.sessions → sessionPersistence)
3. 插件包目录下的 ide-root.json,例如 {"root": "D:\\my\\project"}(可选)
4. DSH 自己记录的默认工作区(~/.dsh/storages/workspace.json)
5. 宿主进程的当前目录(process.cwd(),最后兜底)

回收站同理:DSH_IDE_TRASH(绝对路径)> ide-root.json 里的 trash(相对根目录)> 默认 <工作区根>/.dsh-ide-vscode/trash(这个目录在树里被隐藏)。

ide-root.json 是本地文件,既不在 git 里也不在 npm 包里(想留一份自己的根目录就写它;删掉它,面板就纯粹跟着会话走)。

安全边界

- 所有路径都相对根目录解析,越出根目录一律 403(.. 跳出去、绝对路径都拦)
- 只接受回环地址(127.0.0.1 / ::1)的请求;写操作如果带 Origin,还要求它与 Host 同源,否则 403
- node_modules、.git、.pnpm-store 等目录拒绝写入 / 新建 / 删除
- 名称校验:空名、.、..、Windows 非法字符、保留名(CON / PRN / AUX / …)、超过 200 字符一律拒绝
- 读单文件上限 2 MB、单张图上限 64 MB,写上限 8 MB,单目录最多列 5000 项,压缩包最多列 1000 项
- 解压 / 打包调系统自带的 tar,命令带 5 分钟超时;解压出来的东西只落在工作区根目录内

兼容性

- DSH >= 0.1.5-rc.1(web / desktop,用到右侧栏标签页 API)
- Node >= 22
- 解压 / 打包需要系统有 tar(Windows 10 1803+ 自带 bsdtar,Linux / macOS 自带)
- 没有第三方运行时依赖,不联网

已知限制

- 不是完整的 VS Code:没有 Monaco、没有 LSP 补全、没有终端 / Git / 全局搜索,编辑体验就是「行号 + 高亮 + 存盘」
- 一次只开一个文件,没有多标签
- 图片只做预览,不能裁剪 / 缩放后另存;视频、PDF、Office 文档不处理
- 压缩包只支持系统 tar 认识的那些格式(.rar 一般解不了,Windows 自带的 bsdtar 不含 rar 解码器),加密包不支持
- 编辑二进制文件不行(不认识的二进制后缀仍然不打开)
- 读写走插件自建的本地 HTTP 路由(挂在宿主 web server 上,只服务这个面板),因为宿主提供的文件服务是只读的

开发

lib/index.js host 半边:14 条路由(root / list / read / stat / raw / archive / search / extract / compress / write / create / rename / delete / log) client/client.js 客户端半边:右栏标签页 + 文件树 + 编辑器 + 图片预览 + 压缩包面板(React,复用宿主的 ui primitives) cordis.patch.yml 把插件插进 bundle 列表 ide-root.json 可选的本机根目录配置(gitignore,不进包) test/host-smoke.mjs 69 项:全部路由、越界、改名、回收站、图片 / 压缩包、Origin 闸(离线,无需 DSH) test/client-smoke.mjs 34 项:bundle 契约与面板注册(离线,jsdom + react) test/dom-e2e.mjs 42 项:真 DOM 交互(点右键菜单、打字、Ctrl+S 落盘、图片预览、压缩包解压) test/gui-verify.mjs 真 GUI 端到端:无头 Edge + CDP 真鼠标真键盘,对隔离的 DSH 实例跑完整流程

npm test # host + client + dom,三套全部离线

test/gui-verify.mjs 需要一个带 token 的 DSH 网页地址(dsh web 启动时会打印),用法见文件头部注释。

License

MIT

dsh-ide-vscode 把一个小型 IDE 放进 DeepSeek Harness 右栏:左边是工作区文件树,右边是编辑器 / 图片预览 / 压缩包查看器。

- 从右键菜单新建文件和文件夹,带一键扩展名快捷选项;重命名(含扩展名)和删除(默认进回收站,按需硬删除)。
- 就地编辑,带行号和语法高亮,Tab 打两个空格,Ctrl+S 保存;未保存的改动会被跟踪,切换文件前会确认。
- 图片(.png .jpg .jpeg .gif .webp .bmp .ico .avif)打开就是图片预览,适应窗口或 1:1,绝不会报「不是文本文件」。
- 压缩包(.zip .tar .tar.gz .tgz .gz .7z .rar)列出成员,可以在旁边解压,任何文件或文件夹都能从右键菜单打包成 .zip —— 全部走系统 tar,所以没有运行时依赖。
- 从右栏 + 起始页打开(「工作区 IDE」卡片),并接管会话里打开的代码 / 配置文件(.js、.ts、.py、.json、.ps1 等);Markdown 和 HTML 仍归 DSH 自己的预览。
- 从插件市场安装,或执行 dsh plugin --profile desktop add dsh-ide-vscode,然后重启 DSH(新 bundle 只在启动时读取)。
- host 半边在 /api/ide-vscode 下加了 14 条本地路由,外面套一层回环 + 同源闸,因为 DSH 内置的 workspaceFiles 服务是只读的。
- 文件树跟随面板所属会话的工作区(每个请求都带自己的 session id);回退链是 DSH_IDE_ROOT → 会话 cwd → 包旁边 ide-root.json 里的 {"root": "..."} → DSH 自己的默认工作区(~/.dsh/storages/workspace.json)→ process.cwd(),取第一个存在的目录。
- 回收站默认在 <workspace>/.dsh-ide-vscode/trash(文件树里隐藏),可以用 DSH_IDE_TRASH 或 ide-root.json 里的 trash 改到别处。
- 无第三方运行时依赖,无需网络访问。MIT 许可协议。
预览分享卡片长什么样 ↓wang6077/dsh-ide-vscode
分享 · DeepSeek Harness Hub
wang6077/dsh-ide-vscode

在右栏直接浏览、编辑并保存工作区文件

这是你的仓库?认领条目

回到顶部