把多个正在运行的 DeepSeek Harness…
36.1/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add metal-huang/dsh-workspace-split该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-workspace-split-workspace(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 11:52:58
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 20 处,展示前 20 条)
- 执行外部命令来自配置/变量gate/build_plugin.mjs:16
const output = execFileSync(process.execPath, ['build.mjs'], { cwd: PLUGIN_DIR, encoding: 'utf8' }) - 读取本地文件gate/commit_msg.mjs:35
const lines = readFileSync(file, 'utf8') - 执行外部命令来自配置/变量gate/dup_check.mjs:29
output = execFileSync( - 读取本地文件gate/format_check.mjs:35
entries = readdirSync(join(ROOT, relativeDir), { withFileTypes: true }) - 读取本地文件gate/format_check.mjs:59
source = readFileSync(absolute, 'utf8') - 执行外部命令固定命令gate/lib.mjs:25
return execFileSync('git', args, { cwd: ROOT, encoding: 'utf8' }).trim() - 读取本地文件gate/lib.mjs:40
return JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件gate/lint_runner.mjs:19
mkdirSync(REPORTS_DIR, { recursive: true }) - 写入本地文件gate/lint_runner.mjs:20
writeFileSync( - 写入本地文件gate/post_commit.mjs:12
mkdirSync(markerDir, { recursive: true }) - 写入本地文件gate/post_commit.mjs:13
writeFileSync( - 读取本地文件gate/pre_commit.mjs:58
if (!existsSync(absolute)) continue - 读取本地文件gate/pre_commit.mjs:62
if (!(await prettier.check(readFileSync(absolute, 'utf8'), { ...options, filepath: absolute }))) { - 读取本地文件gate/ratchet_tighten.mjs:35
return JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件gate/ratchet_tighten.mjs:57
writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`) - 执行外部命令来自配置/变量gate/ratchet_tighten.mjs:88
dupOutput = execFileSync( - 读取本地文件gate/ratchet_tighten.mjs:149
entries = readdirSync(join(ROOT, relativeDir), { withFileTypes: true }) - 读取本地文件gate/ratchet_tighten.mjs:172
if (!existsSync(absolute)) continue - 读取本地文件gate/ratchet_tighten.mjs:176
if (!(await prettier.check(readFileSync(absolute, 'utf8'), { ...options, filepath: absolute }))) { - 写入本地文件gate/ratchet_tighten.mjs:191
writeFileSync(FORMAT_FILE, `${JSON.stringify({ files: kept.sort() }, null, 2)}\n`)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-workspace-split
English · 中文说明
把多个正在运行的 DeepSeek Harness 会话并排放在同一个窗口里,每个格子都能直接输入。为「同时盯多个项目」而做:一屏看完所有会话的进展,不用来回切标签。
它能做什么
- 活的会话网格。行列自己选,最多 5 行 × 6 列,每个格子是一个运行中的会话,带完整对话记录。
- 每个格子都能打字,也能放附件。每格有独立输入框,可以粘贴、拖入或选择 PNG / JPEG / WebP / GIF,也可以从 + 菜单附加任意文件;上传走 ctx.fileUpload,文件随文字一起发出;分屏布局不会自己变。
- 每格可选模型、推理等级和访问模式。输入框下方的座位读取与主会话相同的 Session 投影和 Remote 目录,写入走 session.selectModel 与 /permission <preset>;切到完全权限时同样要求风险确认。
- 斜杠命令与 @ 引用。/命令 走 session.command,不消耗一轮对话; @ 通过公开引用接口列出文件与会话,插入的文本与主会话一致。
- 审批与提问直接在格子里回答。该会话有等待中的审批或 ask_user_question 时,输入框会换成一张紧凑卡片;回答调用的是主会话面板同一个 pending 对象。
- 上下文占用。
展开完整文档(README 剩余 1 节)
dsh-workspace-split English · 中文说明 把多个正在运行的 DeepSeek Harness 会话并排放在同一个窗口里,每个格子都能直接输入。为「同时盯多个项目」而做:一屏看完所有会话的进展,不用来回切标签。 它能做什么 - 活的会话网格。行列自己选,最多 5 行 × 6 列,每个格子是一个运行中的会话,带完整对话记录。 - 每个格子都能打字,也能放附件。每格有独立输入框,可以粘贴、拖入或选择 PNG / JPEG / WebP / GIF,也可以从 + 菜单附加任意文件;上传走 ctx.fileUpload,文件随文字一起发出;分屏布局不会自己变。 - 每格可选模型、推理等级和访问模式。输入框下方的座位读取与主会话相同的 Session 投影和 Remote 目录,写入走 session.selectModel 与 /permission <preset>;切到完全权限时同样要求风险确认。 - 斜杠命令与 @ 引用。/命令 走 session.command,不消耗一轮对话; @ 通过公开引用接口列出文件与会话,插入的文本与主会话一致。 - 审批与提问直接在格子里回答。该会话有等待中的审批或 ask_user_question 时,输入框会换成一张紧凑卡片;回答调用的是主会话面板同一个 pending 对象。 - 上下文占用。底部显示与主会话一致的 projected / window token 读数;投影缺失时整块隐藏。 - 一格放会话,或放项目。可以钉住某个会话,也可以钉住一个项目,在格子里切换这个项目的不同会话;自由格的下拉里每行带彩色项目徽章(跟标题栏同一套),还能直接按标题或项目名搜索,↑↓ + Enter 选。 - 归档就让位。在侧栏归档一个会话后,Host 确认归档时绑着它的格子就放开(同一轮更新,分屏自己不做乐观更新):会话格子清空,项目格子只清会话、项目作用域还在;格子选择器和拖入解析都不再列出归档会话,取消归档后又能选回来。 - 实时状态。标题上的圆点表示该会话是否正在跑;标题前还有一个彩色项目徽标,开了很久也能一眼看出这个会话属于哪个项目。 - 点一下就算读过。会话跑完时侧栏亮起的「已完成」亮点,进分屏点一下那个格子就灭——不用切回主视图。 - 密度跟着格子走。格子变窄时文字自动缩小,小格子里也能看到有用的信息量;在某格上 Ctrl + 滚轮只调这一格。标题头跟随格子宽度的自动缩放,但不跟随手动缩放,所以标题既不会比正文显得过大,也能保持对齐。 - Markdown 与公式。表格、代码块、任务清单,TeX 用 KaTeX 渲染。 - 图片点开看大图。对话里的图片缩略图点一下就铺满窗口,点任意处或按 Esc 关闭;预览走独立浮层,不受格子缩放和裁切影响。 - 看到过程,不只看结果。思考与工具调用按轮折叠成一个「处理过程」组,并显示耗时;工具执行期间标「运行中」,底部状态行说明当前在做什么;本轮失败会显示提供方错误而不是静默结束;草稿为空时发送键变成停止键。 - 队列、插话、移除。运行中被排在后面的消息会列在输入框上方,可以「插话」或「移除」,与主会话的 QueueDock 一致。 - 工具调用可展开。参数和输出就地展开,失败有标记。 - 轮次导航轨。右侧刻度点击跳转,没加载过的轮次会先拉历史。 - 布局持久化。网格、格内会话、每格缩放都会恢复。 会话是怎么接进来的 会话数据走公开的 ctx.sessions 接口(list、retain、事件源),输入走 session.prompt。每个格子的对话记录、Markdown、工具卡和输入框都由本插件自己渲染,样式沿用 DSH 的主题变量与视觉规则,跟随应用主题。 除一处例外,所有 DSH 相关能力都走公开服务与 Remote 命名空间:ctx.fileUpload、 ctx.uiSession、ctx.remote.session、ctx.remote.permissionPresets、 ctx.remote.fileReferences、ctx.remote.sessionReferenceResolver。 那处例外是「点格子清未读亮点」:DSH 只在会话进入主视图时清 completionUnread,公开面没有写入口,所以这里读的是 ctx.uiSession 实例上未公开的确认集合(completionUnread 与 publishStatus())。这是有意的越界,代价与兜底写在 TECH 13.5;官方公开对应方法后就换过去。 test/dsh-contract.test.js 会对照本机安装的 DSH 断言这些方法与类型名(包括上面那处例外用到的两个内部成员);官方改名或删除时,门禁会带着缺失的符号失败,而不是让某个格子静默坏掉——内部成员缺失时,清未读降级为「亮点留着」,不会报错。用 DSH_CONTRACT_ROOT 可指定别的安装目录;没装 DSH 时该测试自动跳过。 环境要求 - DeepSeek Harness 0.2.1-rc.2 或更新版本(桌面版或 Web 版均可)。 - 同一份构建在桌面版和 dsh web 里都能用。 安装 dsh plugin add @metal-huang/dsh-workspace-split 装完重启应用(或在网页里刷新)。开关出现在侧边栏底部、账号旁边。 从本地检出安装 git clone https://github.com/metal-huang/dsh-workspace-split.git cd dsh-workspace-split npm install cd packages/dsh-workspace-split && npm install && npm run build dsh plugin add "$PWD/packages/dsh-workspace-split" 用法 | 动作 | 位置 | | 进 / 出分屏 | 左键点侧边栏底部的 ⊞ | | 选网格大小 | 右键点同一个 ⊞ | | 给格子指定会话 | 用格子标题里的选择器,或从侧边栏拖一个会话行进格子 | | 改会话名 | 标题旁的 ✎ | | 只调整某一格的文字大小 | 在该格上 Ctrl + 滚轮 | | 提高格子上限 | 设置 → 通用 → 分屏网格 | 全屏默认最多 10 格(单窗口硬上限 12 格,两项都可配)。6 格比较舒服,超过 6 格开新的会先确认一次。 开发 npm install # 仓库工具链 npm run check # 门禁:lint + 重复代码 + 格式 + 测试 npm run build # 重建客户端产物 npm run release # 发布桌面 profile 用的快照 packages/dsh-workspace-split/src/client.js 是源码;同目录的 client.js 是构建产物,不要手改,也不入库——在该包里 npm install 会走 prepare 构建一次,之后改源码用 npm run build 重建。 仓库规则见 AGENTS.md,产品与设计文档见 docs/。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
metal-huang/dsh-workspace-split
把多个正在运行的 DeepSeek Harness…
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目