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

侧栏工作区 invalidnaaaame/dsh-side-workspace

DeepSeek Harness
invalidnaaaame72 天前有提交已提供中文文档扫描:无法判定

开侧会话并行提问,右侧面板管理子代理与置顶笔记

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

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

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add invalidnaaaame/dsh-side-workspace
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-side(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 21:28:19

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · invalidnaaaame
  • · dsh-side-workspace
  • · tarball)
扫描于 2026/11/2(1 天前)

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-timer@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-commands@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧边对话并行提问
  • 右侧面板管理子代理
  • 置顶便签笔记

DSH 插件:Codex 风格侧边对话(/side、/btw)、集成右侧工作区(Side/Subagents/Goal)和 ChatGPT 风格便签板

README

由 DeepSeek 最新模型翻译生成
dsh-side-workspace DeepSeek Harness (DSH) 插件:对齐 ChatGPT / Codex 三件套的设计—— side conversations(侧会话)· integrated workspace(右侧集成工作区)· pinned notes(置顶摘要小黑板) - 仓库名:dsh-side-workspace - 插件 ID / npm 包名:@dsh-external/dsh-side(不变) dsh-side-workspace 实机界面 免责声明:本项目是独立开源项目,与 OpenAI、DeepSeek 无关联,未获其背书或赞助。 "ChatGPT"、"Codex" 均为各自权利人商标,此处仅用于描述功能对齐关系。
展开完整文档(README 剩余 1 节)
dsh-side-workspace

DeepSeek Harness (DSH) 插件:对齐 ChatGPT / Codex 三件套的设计—— side conversations(侧会话)· integrated workspace(右侧集成工作区)· pinned notes(置顶摘要小黑板)

- 仓库名:dsh-side-workspace
- 插件 ID / npm 包名:@dsh-external/dsh-side(不变)

dsh-side-workspace 实机界面

免责声明:本项目是独立开源项目,与 OpenAI、DeepSeek 无关联,未获其背书或赞助。
"ChatGPT"、"Codex" 均为各自权利人商标,此处仅用于描述功能对齐关系。

官方术语对照(起名依据):

| 本插件功能 | 官方叫法 | 出处 |
| /side 侧会话 | Codex side conversations | openai/codex#18190 |
| 右侧集成工作区 | ChatGPT Workspace(工作区) | OpenAI 工作区代理 |
| 置顶摘要小黑板 | ChatGPT Notes(消息笔记置顶) | Pin a Note to Any Message |

功能

1. 侧会话 /side — Codex side conversations

/side 把当前会话的完整历史以「边界上下文」方式 fork 到一条后台侧会话,主对话继续聚焦,两者互不阻塞;/btw 是一次性侧问(只读)。子会话是普通顶层会话(ctx.agents.create),继承父会话的 agent preset / model / cwd,并走部署自身的审批与沙箱策略——侧会话产出的内容永不回流到主对话日志。

- 默认 ephemeral:创建即归档,永不进入普通会话列表;空闲超过 TTL(默认 60 分钟)由主机侧定时清扫,运行中/等待审批的子会话永不过期;新的 /side 替换同父会话空闲的旧 /side。
- 清理是小型状态机(active → expiring → removed / cleanup-failed + 有界退避重试),失败的 dispose 不会丢失管理记录。
- 裸 /side 打开空侧会话:不注入任何问题,子会话以「等待输入」状态待命,直接在面板输入框提问;问完后状态恢复正常的运行/完成流转。
- 侧会话可选模型与思考强度:详情页顶部的「模型」行展开后按供应商分组列出模型,选中模型后出现该模型的思考强度(reasoning effort)选项;走宿主 session.selectModel,选择持久化在该子会话上、作用于其下一步。

2. 右侧集成工作区 — ChatGPT Workspace

会话头部开关打开壳的右列(details 列,主对话被挤压),内置分组列表 + 详情页:

- Side:该会话的侧会话列表(运行状态、活动行、失败/清理失败标记),点击进详情页(完整转录 + 可追问输入框;/btw 只读)。
- Subagents:会话的子代理目录(引用计数托管实时目录),运行徽标与面板同源。
- Goal:会话目标(暂停/继续/完成/清除,走 goal RPC)。
- 点击任意条目在同一右栏内打开详情页,左栏与主对话不动;Escape 逐级回退(详情 → 列表 → 关面板)。
- 新状态提醒:侧会话从运行中变为已完成/失败/清理失败时,主对话上方的面板小按钮会出现警示小圆点(未读数进 title 提示),打开面板即标记已读;打开会话时的既有历史是基线,不会重放成提醒。

3. 置顶摘要小黑板 — ChatGPT Notes

右侧工作区顶部的小黑板(自己的图钉按钮开关):收起是细条,展开编辑 标题 / 目标 / 一句话状态 / 下一步(可勾选)/ 决定 等分区。

- 用户编辑优先:本阶段 AI 不写黑板;每次编辑走与服务器同一个 CAS 领域函数(乐观本地应用 + 串行 PATCH 补丁)。
- 冲突处理:版本冲突自动回同步并暂存编辑,横幅 + 重试;补丁 ID 保证重试幂等;「响应丢失但已应用」按内容比对自动识别,不会重复写入。
- 持久化在 $DSH_HOME/dsh-side-boards.json(原子写、坏文件容忍降级),路由 /plugins/dsh-side/board(GET/PATCH/DELETE,同源、遵循部署既有访问规则)。
- 默认只是记录,绝不自动动 /goal:目标区的手动按钮才同步——无会话目标时 goals.create,已有时按投影 CAS 修订 goals.edit;下一步非空时以「下一步」清单附在目标文本后一起提交。

4. 边栏折叠热区(best-effort)

左侧边栏右缘内侧的拖拽条:向左拖过阈值 → 完全折叠到 56px 轨道,从轨道向右拖 → 展开。全部走主机自己的 toggleSidebar(),几何发现是结构性的(不遮蔽 sidebar 槽、不碰主机手柄与内部 store)。

安装(DSH web profile)

本插件是 bundle 型(声明了 dsh.bundle.patch):只能通过 profile 的 bundles 列表挂载——切勿再往 profile 的 cordis.patch.yml 里 insert 同一行(双挂载会响亮地失败)。改完需要你手动重启 dsh web(本插件不提供 HMR):

1. profile package.json 添加 link 依赖 "@dsh-external/dsh-side": "link:" ...并在同一 manifest 的 dsh.profile.bundles 列表注册 "@dsh-external/dsh-side"

2. 在 profile 目录 pnpm install
pnpm install --config.confirmModulesPurge=false

3. 重启 dsh web(浏览器刷新解决不了 stale 插件树)

配置

| 键 | 默认 | 说明 |
| retention | ephemeral | ephemeral(归档 + TTL 过期)/ persistent(普通持久顶层会话) |
| idleTtlMinutes | 60 | 侧会话空闲过期分钟(1–1440) |

用法

/side 启动可追问的侧会话(后台运行,完成后右侧面板揭示) /side 打开一条空侧会话,在面板里直接提问 /btw 一次性侧问(只读,不能追问) /side list 列出当前会话的侧会话

示意图

UI 布局(三列网格 + 右栏工作区 + 小黑板 + 提醒点)

workspace-layout

架构与数据流(浏览器/主机半部 + 壳服务 + 生命周期)

architecture

实机截图(README 首图)存于 assets/screenshot-workspace.png;如需换图,可在主对话开 1 个运行中的 /side、右栏展开小黑板时重新截一张全窗口图覆盖它。

架构

src/
index.ts node 半部:创建/归档/清理状态机 + TTL 清扫 + web 路由(/plugins/dsh-side/list、/last、/board)+ 命令接线 side.ts fork 截断(宿主 fork RPC 契约)、模型继承、消息形状 prompts.ts 边界提示 / 人设 / 模式行(自写 /side 等价物) registry.ts 父→子注册表 + 清理生命周期 + 纯 TTL/重试决策 board.ts 小黑板纯领域:分区、条目、CAS 补丁引擎、锁定保护、大小上限 board-persistence.ts BoardStore:DSH_HOME 下单个原子 JSON 文件、每板保存链、补丁幂等 client/ 浏览器半部:右栏工作区(Side/Subagents/Goal + 小黑板)、转录数据层(分页历史读取 + 流式合并 + FIFO 缓存)、目录引用计数、动作准入闸、会话围栏轮询、边栏折叠热区 tests/ 165 个单元测试(领域 / 持久化 / 客户端 store / 注册表 / 转录 …)

开发

pnpm install --config.confirmModulesPurge=false # 见下方 link 说明
pnpm check # typecheck(node + client)&& vitest && build

pnpm build 产出 lib/index.js(ESM node 半部)+ lib/index.d.ts + lib/client.js(CJS 浏览器半部,window.__ModuleLoader__.load 包装;react/cordis/dsh-client-* 外部化,lucide 按图标单文件引入,包体约 195kB / gzip 43kB)。

依赖说明:devDependencies 固定使用 npm 上公开发布的官方 @deepseek-ai/* 包(0.1.1-rc.2 线,与安装的 DSH 同源;cordis 走自己的 4.0.1 线、schemastery 3.18.1)。禁止用 npm 上无关的裸 cordis/schemastery 包冒充。pnpm-lock.yaml 不入库(每台机器重新生成)。

提示:部分网络下 registry 的 tgz 下载可能失败,重跑 pnpm install 即可(每次尝试都有进展)。

已知限制(诚实声明)

- 单 details 轨道:壳只有一条右列,小黑板与工作区纵向共用(无「双倍挤压」);真正的双挤压需要主机提供第二列。
- 无公开宽度 setter:壳的内部 layout store 已有 setSidebar/setDetails(钳制 264–420 / 300–520),但 ctx.layout 仍只暴露 toggleSidebar/openDetails/closeDetails——折叠热区维持 toggle 方案,等 setter 进入公开面。
- 侧会话注册表是进程内的:dsh web 重启后侧会话不再出现在面板(默认语义如此,见「保留契约」)。

Roadmap

- 侧会话图片输入(sessions.prompt 支持内联图片部分,composer UI 待做);
- 可选把黑板内容注入侧会话边界上下文(让侧会话照着目标/下一步工作);
- 黑板 AI 提案(owner: assistant-proposal 的数据模型与锁定保护已就绪,等提案入口);
- 边栏真自由拖拽(宿主内部 layout store 已有 setSidebar,等待暴露到 ctx.layout);
- 提醒扩展:子代理/目标阶段变化进同一未读队列;
- persistent 模式给子会话补 workspace 归属(fork spike 发现的缺口,见 docs/fork-spike.md)。

保留契约(改动前必读)

默认 ephemeral(对齐 ChatGPT 临时侧线程): 创建即归档(不进左侧会话列表)、注册表进程内(重启即忘)、空闲超 TTL 由主机清扫(运行中不扫)、清理失败可见重试。设 retention: persistent 恢复 0.2 之前的持久顶层会话行为。

许可

MIT,第三方声明见 licenses/THIRD-PARTY-NOTICES.md。
预览分享卡片长什么样 ↓invalidnaaaame/dsh-side-workspace
分享 · DeepSeek Harness Hub
invalidnaaaame/dsh-side-workspace

开侧会话并行提问,右侧面板管理子代理与置顶笔记

这是你的仓库?认领条目

回到顶部