DeepSeek Harness Web 的右侧文件工作区。
39.2/100
综合分
9
GitHub 星标
550
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-workbenchnpm 源 · dsh-workbench 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-workbench @ 0.16.1
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:03:21
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 34 处,展示前 34 条)
- 读取本地文件lib/host/index.js:59
const content = await readFile(new URL("../client-editor.js", import.meta.url)); - 读取本地文件lib/host/index.js:136
const info = await stat(resolved); - 读取本地文件lib/host/index.js:501
const info = await stat(located.absolute); - 读取本地文件lib/host/index.js:506
const content = await readFile(located.absolute); - 读取本地文件lib/host/workspace.js:7
async stat(absolute) { - 读取本地文件lib/host/workspace.js:8
const info = await stat(absolute); - 读取本地文件lib/host/workspace.js:11
readFile(absolute) { - 读取本地文件lib/host/workspace.js:12
return readFile(absolute, "utf8"); - 读取本地文件lib/host/workspace.js:15
const entries = await readdir(absolute, { withFileTypes: true }); - 写入本地文件lib/host/workspace.js:18
writeFile(absolute, content) { - 写入本地文件lib/host/workspace.js:19
return writeFile(absolute, content, "utf8"); - 读取本地文件lib/host/workspace-watch.js:9
return readdirSync(root, { withFileTypes: true }).map((entry) => ({ - 读取本地文件lib/host/git-diff.js:25
return await readFile(join(root, path), "utf8"); - 执行外部命令来自配置/变量lib/host/system-open.js:12
execFile(target.command, target.args, (error) => error ? reject(error) : resolve()); - 发起网络请求lib/client/store.js:22
const response = await fetch(`${FILE_API_PATH}?${query}`); - 发起网络请求lib/client/store.js:32
const response = await fetch(FILE_API_PATH, { - 发起网络请求lib/client/store.js:43
const response = await fetch(`${FILES_API_PATH}?q=${encodeURIComponent(query)}`); - 发起网络请求lib/client/store.js:50
const response = await fetch(FILES_API_PATH); - 发起网络请求lib/client/store.js:57
const response = await fetch(`${CONTENT_SEARCH_API_PATH}?q=${encodeURIComponent(query)}`); - 发起网络请求lib/client/workspace-identity.js:44
await fetch(WORKSPACE_API_PATH, { - 写入剪贴板lib/client/workbench/native-review-tab.js:236
if (!await writeClipboard(path)) - 写入剪贴板lib/client/explorer/file-tree.js:345
void writeClipboard(absolutePath?.(menuPath) ?? menuPath); - 写入剪贴板lib/client/workbench/header.js:262
void writeClipboard(absolutePath?.(state.path) ?? state.path).then((copied) => { - 发起网络请求lib/client/workbench/use-shell.js:151
const response = await fetch(WORKSPACE_API_PATH); - 发起网络请求lib/client/review/review-data.js:4
const response = await fetch(`${REVIEW_API_PATH}?${query}`, { signal }); - 发起网络请求lib/client/review/review-data.js:11
const response = await fetch(`${REVIEW_API_PATH}?${query}`, { signal }); - 发起网络请求lib/client/review/review-data.js:18
const response = await fetch(`${REVIEW_API_PATH}${query}`, { signal }); - 发起网络请求lib/client/review/review-data.js:27
const response = await fetch(`${REVIEW_API_PATH}?${query.toString()}`); - 发起网络请求lib/client/review/review-data.js:34
const response = await fetch(`${REVIEW_API_PATH}${query}`, { - 发起网络请求lib/client/review/review-data.js:44
const response = await fetch(`${REVIEW_API_PATH}${query}`, { - 发起网络请求lib/client/review/git-diff-data.js:3
const response = await fetch(`${GIT_DIFF_API_PATH}?scope=${scope}`); - 发起网络请求lib/client/review/git-diff-data.js:10
const response = await fetch(GIT_STATUS_API_PATH); - 发起网络请求lib/client/preview/system-open.js:3
const response = await fetch(SYSTEM_OPEN_API_PATH, { - 发起网络请求lib/client/review/activity-data.js:3
const response = await fetch(ACTIVITY_API_PATH);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-sidebar-right@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-input-trigger@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- Codex风格审查
最近更新
在 GitHub 查看全部 →v0.16.12026-09-30
· 0.16.1 - 2026-09-30
· 修复
· 恢复 Harness 原生审查差异视图中的语法高亮,支持多种源码语言。
v0.16.02026-09-30
· 0.16.0 - 2026-09-30
· 新功能
· 把 Codex 风格的审查集成到 DeepSeek Harness 原生右侧栏,使用 Harness 的轮次变更和原生 hunk 差异。
· 在 DSH 审查面板里把变更文件列表、差异导航和对话工作流放在一起。
· 修复
· 让差异文件头保持在行号栏上方,横向滚动时固定 hunk 头和折叠上下文控件。
· 在原生文件标签页之间保留会话级文件状态和工作区访问权限。
v0.15.22026-09-08
· 0.15.2 - 2026-09-08
· 新功能
· 评审、文件、新文件和草稿标签页支持拖拽排序,也能拖到标签栏末尾。
· 重新打开工作台面板时,按会话保留标签页顺序。
· 变更
· 调整 Codex 风格的标签页尺寸、间距、圆角、关闭按钮样式,以及更小的新建标签图标。
· 在 README 徽章行加上 DSH Insights 健康徽章。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH Workbench
DSH Insights health npm version
Awesome DSH Plugin
CI
License
English · 更新日志 · Issues · npm
DeepSeek Harness Web 内的 Codex 风格审查。直接审查 Harness 每轮记录的文件变更和原生 Diff。
能做什么
- 按 DSH Session 和 turn 浏览文件变更,并读取 Harness 原生 hunk Diff。
- 主区域显示 Harness Diff,旁边列出变更文件供切换查看。
- 从工具调用、工作区文件树或搜索打开文件;对话里的文件链接会展开对应 diff。
- 文件预览、工作区浏览和路径引用作为审查时的辅助能力保留。
DSH Workbench 在 DeepSeek Harness Web 中运行
read → 源码 write/edit → 捕获到的 DSH diff
细节
右侧面板可常驻、可调整宽度,支持预览和固定标签、Quick Open、文件树搜索、文件内查找/跳行、图片与 Markdown 预览,以及带外部变更保护的工作区编辑;界面跟随 DSH 语言设置。
展开完整文档(README 剩余 1 节)
DSH Workbench DSH Insights health npm version Awesome DSH Plugin CI License English · 更新日志 · Issues · npm DeepSeek Harness Web 内的 Codex 风格审查。直接审查 Harness 每轮记录的文件变更和原生 Diff。 能做什么 - 按 DSH Session 和 turn 浏览文件变更,并读取 Harness 原生 hunk Diff。 - 主区域显示 Harness Diff,旁边列出变更文件供切换查看。 - 从工具调用、工作区文件树或搜索打开文件;对话里的文件链接会展开对应 diff。 - 文件预览、工作区浏览和路径引用作为审查时的辅助能力保留。 DSH Workbench 在 DeepSeek Harness Web 中运行 read → 源码 write/edit → 捕获到的 DSH diff 细节 右侧面板可常驻、可调整宽度,支持预览和固定标签、Quick Open、文件树搜索、文件内查找/跳行、图片与 Markdown 预览,以及带外部变更保护的工作区编辑;界面跟随 DSH 语言设置。 安装 dsh plugin --profile web add dsh-workbench dsh web 本机没有 dsh 时: pnpm dlx @deepseek-ai/dsh plugin --profile web add dsh-workbench pnpm dlx @deepseek-ai/dsh web 本地检出: git clone https://github.com/lee259/dsh-workbench.git cd dsh-workbench pnpm install pnpm run build dsh plugin --profile web add "$(pwd)" dsh web 改完插件后重新 pnpm run build,再重启 dsh web。 本地启动 pnpm start -- /绝对路径/你的项目 构建插件、注册到目标项目,并启动 DSH Web。不传路径时使用当前目录。 预览 | DSH 操作 | 展示 | | read | 源码;图片和 Markdown 会渲染 | | write / edit | 捕获到的 DSH diff | | 文件提及 | 源码;图片和 Markdown 会渲染 | Host 监听 tool/call、tool/result、tool/code-dispatch。优先使用 dsh-tool-fs 的 meta.diffs。 开发 pnpm install pnpm test pnpm start -- /绝对路径/你的项目 可在隔离的 DSH Web 实例中挂载打包后的插件: pnpm test:mount DSH_VERSION=0.2.0-rc.2 pnpm test:mount 第一条命令使用当前可安装的 dsh@0.1.7-rc.2;设置 DSH_VERSION 可指定其他版本。 目前 dsh@0.2.0-rc.2 依赖 npm 尚未发布的 dsh-client-ui-settings-account@0.2.0-rc.2,因此全新安装 CLI 可能失败,需等该依赖发布。 - Host:src/index.ts 导出 name、inject、apply(ctx) - Client:dsh.client、exports["./client"]、window.__ModuleLoader__.load - 样式:src/client/styles.css - 第三方 React 组件:使用 DSH 注入的 React 运行时。若组件静态导入 react-dom、依赖尚未桥接的 React API,或注入全局 CSS,需要先加适配层;参见 src/client/react-bridge.ts 与 tsdown.config.ts。 - 文案:src/shared/i18n.ts Roadmap 在 DeepSeek Harness 内审查 agent 每轮改动。变更列表与 hunk Diff 使用 DSH 原生 workspaceChanges API。 已完成 - read 和文件提及的只读预览 - write / edit 的真实 DSH Diff - DSH 原生右侧工作区;原生 Sidebar 服务不可用时回退到插件抽屉 - 多文件标签、预览 / 固定、复制路径和桌面快捷键 - 文件内查找 / 跳行,以及对话里的 :line / #Lline 定位 - 跟随 DSH locale 的中英文界面 - Quick Open(⌘/Ctrl+P)和只定位不打开的树搜索 - 工作区文件树:面包屑、键盘导航,以及把路径插入输入框 - 语法高亮、代码折叠,以及磁盘变更后的实时刷新 - 图片预览和渲染后的 Markdown(支持相对图片) - 代码预览还支持 MATLAB(.m)、R、Julia、Lua、C#、Kotlin、Scala、Swift、Dart、XML 和 Python 类型存根(.pyi)。Vue / Svelte 使用基础 HTML 高亮;MATLAB 使用 Octave 语法高亮,.m 默认按 MATLAB 识别,不支持 .mat 和 .mlx。 - 变更审阅:会话编辑、未提交、未暂存和已暂存 Git 范围,共用 +/− 数据 - 每条捕获写入显示简单操作摘要 - 审查增量更新:保持当前 Tab,大型审查面板仍能流畅响应 - 工作区内容搜索(⌘/Ctrl+⇧+F),结果可直接跳到命中行 - 从文件树和预览选区向输入框引用文件、目录和代码范围 - 可编辑的工作区预览,以及外部变更保护 - 审查工具栏中的 Git 分支/状态与会话工具活动信息 近期计划 目标是在 DeepSeek Harness 内提供接近 Codex 的审查交互:以 Harness turn changes 为审查基准,把对话会话、改动文件和 Diff 放在同一个审查流程里。 1. 以 DSH 原生方式逐步补齐终端与后台任务面板。 2. 收紧审阅到对话的反馈,包括在 diff 中给出内联指导。 3. 持续优化按会话保存的工作区状态和审查性能。 现有的 DSH 事件捕获、meta.diffs、会话 Review、操作摘要和增量审查更新继续作为差异化基础。 近期实施顺序 - 终端和后台任务面板 - 内联审查评论,以及更丰富的审阅到对话反馈 探索方向 - 在编辑器中打开、在文件夹中显示 - 在 Diff 行上写批注并送回对话输入框 - 可插拔工作区面板(Files / Review,以及后续 DSH 工具) License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
lee259/dsh-workbench
DeepSeek Harness Web 的右侧文件工作区。
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目