Repository navigation
Releases: DDDMUC/dsh-preset-workbench
Release list
v1.1.1
相对 1.1.0 的更新
查看页:拆成三个子页签
- 「段落 / 能力开关 / 工作区默认预设」三块内容各占一个子页签,不再挤在同一条长滚动里
- 顶部预设选择、名称与简介常驻,切换子页签不丢上下文
段落:按标题切换,一次只看一段
- 每个段落是一个标签,标签文字就是段落标题(核心人设、人格开关 …);标题为空时从
section.NN-xxx.md推出名字,不直接露文件名 - 段落行右侧只有一个
+和一个-+新增一段并自动跳到新段-删除当前选中的那一段,选中项自动夹回合法范围
- 卡片内不再各挂一个「删除段」按钮——删除只有
-一处入口 +/-是 SVG 线条图标(不是字形),几何中心对齐;修掉了「单类名规则被.pwt-subtab覆盖、padding 把图标裁成看不见的小点」的问题
保存 / 还原
- 【保存】并入预设操作排:
打开目录 → 校验挂载 → 删除预设 → 还原 → 保存,一行到底 - 新增【还原】:丢弃内存中未保存的修改,重新从磁盘读取(段落内容、标题、启用状态全回到已保存版本)
- 该排固定不换行:窗口窄时截断末尾的状态提示,而不是把【保存】挤到第二行
- 新建 → 另存为新预设不再产出无法挂载的预设:模板目录连同配套文件一起复制,编辑过段落也不会丢模板;写不出可用 composition 时直接报错,而不是留下一个坏预设
官方预设也能改名字与简介
- 声明式预设磁盘上没有目录,改名/写简介写到本机
~/.dsh/preset-workbench/display-overrides.json - 不改动原预设、不写 DSH 配置;清空输入即恢复原值
- 「(无简介)」占位同样可双击编辑
打开目录真的会弹出资源管理器
- 改用
node:child_process直接拉起explorer.exe(detached+stdio: 'ignore'+unref) - 原因:DSH 的 subprocess 服务固定加
windowsHide: true(CREATE_NO_WINDOW),explorer 是 GUI 进程,窗口会被藏起来——表现为「点了没反应」
其它
- 删除「鲸鱼娘-无限」「梁神」两个内置模板,只保留
bare(空提示词) - 去掉能力行的「✓ 已启用」徽章;「🔌 已接线(未启用)」保留
- 四个顶级页签与子页签补上
role="tab"/aria-selected,任一时刻恰好一个为选中态 - 自定义预设不再显示 👤 标记
安装
dsh plugin install dsh-preset-workbench
或把 dsh-preset-workbench 加入 profile 的 dsh.profile.bundles。
注意
宿主侧改动(打开目录、本地显示覆盖、还原)需要重启 dsh;客户端改动刷新页面即可。
v1.1.0 - 会话内切换预设 / 新建页就地编辑 / 四页结构
1.1.0
对比上一个发布版本 1.0.2(npm 与 git 上都没有 1.0.3)。
新增:在会话里直接换预设
输入框上方多了一个预设胶囊,聊天进行中也能换:
- 换过之后排队,在下一次自动压缩记忆时生效——不会中途把当前这一轮的人设和工具换掉。
- 胶囊显示
当前 › 目标,一眼看清"现在是谁、将要变成谁"。 - 菜单里 ✓ = 正在生效(官方 Menu 自己画的选中态),行尾小徽章 「下次压缩后」= 已选待生效。两个标记永不混用。
- 装了
dsh-session-relocate时并入它那一行,和官方 hero 一样是[工作区] [预设];没装就自己占一行。
新增:胶囊显示方式(设置页)
第四个标签页「对话中切换预设」里三档:
| 档位 | 行为 |
|---|---|
| 一直显示 | 始终在输入框上方 |
| 鼠标悬浮才出现 | 透明但保留占位(布局不跳动),悬停或键盘聚焦才显形 |
| 不显示 | 完全隐藏,改用本插件「查看」页操作 |
偏好存在本机浏览器(localStorage),不进预设文件。
改进:新建预设 = 就地改,不再"先复制再回头编辑"
- 选模板后,段落和工具开关直接在新页面展开,改完点「另存为新预设」。
- 模板本体一个字节都不会动。
- 没段落的模板(如「空提示词」)也能保存,只要带上组合文件。
- 能力开关改成可折叠(默认展开)。
改进:界面
- 页面从三页变四页:查看 / 新建 / 预设是什么? / 对话中切换预设。
- 下拉菜单只显示名字;四个内置预设显示本地化名(标准模式 / PTC 模式 / 极简模式 / 创造模式),不再露出
cordis这种裸 id。 - 修复:下拉面板用了带 alpha 的平台菜单色(Windows 上 58% 不透明),底下的表单会透上来 → 改用不透明层色。
- 修复:标签和它的输入框会被挤到两行 → 改成同一组换行。
- 修复:正文编辑框里中文回退宋体 → 字体栈补中文族。
- 修复:对话区入口拿不到设置页里的样式,胶囊变成浏览器默认按钮 → 样式改为全局注入
document.head。
改进:性能
- 新增轻量清单接口,切换器不再走会逐文件比对的全量
list(实测少读 57 个文件 / 306 KB),并且进会话就预热。 - registry 清单加 3 秒 memo,连续操作不重复构建。
- 效果:点开下拉从「卡一两秒」变成即时。
改进:command-compact 可以关掉了
- 它只注册
/compact命令,关掉不影响自动压缩,所以从"预设地基(不可关闭)"里放了出来。 - 新增宿主接口
setRow:开关时给该组合行写/删disabled: true,保留行结构、缩进对齐,随时能再打开。 - 人设装载器与
compaction-basic仍然锁定——前者关掉会退回全局人设,后者关掉长对话会撞上下文窗口。
兼容性
- 新增宿主侧接口:
templateDraft、save-as、capsCatalog、roster、sessionPreset、switchPreset、cancelSwitch、setRow。 - 客户端对这些接口都做了降级:老宿主上仍能打开与编辑,只是缺少对应能力。
升级
dsh plugin add dsh-preset-workbench@1.1.0已安装的:把 profile 里的版本改成 1.1.0 重装。这次动了宿主侧,装完需要重启 dsh(客户端刷新即可的部分不重启也能看)。
English
Same release: in-conversation preset switching (queued until the next automatic compaction, with current › target on the chip, ✓ for active and a "next compaction" badge for pending), a three-way chip visibility setting, in-place template editing on the New page (no copy-then-edit round trip), four tabs, name-only menu entries with localized built-in names, an unlocked command-compact row, plus fixes for translucent dropdowns, wrapping label/control pairs, CJK fallback fonts and unstyled conversation-area entries. Performance: a lightweight roster endpoint and registry memoization make the dropdown open instantly. Host-side endpoints were added, so restart dsh after upgrading.
v1.0.2 - 修复来源下拉框崩溃(t is not a function)
1.0.2
修复:来源下拉框一展开就崩(t is not a function)
「新建 → 来源」下拉框展开时,整个工作台会被错误边界接住,只剩一行:
◆ 预设工作台渲染出错(已捕获,不影响其他设置页): t is not a function
原因是选项的 map 回调把每一项命名为 t,遮蔽了同作用域里的翻译函数 t();模板只要带 name(三套内置模板都带),t('nameWrap', t.name) 就是在拿模板对象当函数调用。把选项改名为 it,翻译函数恢复可见。
- 只改
lib/client.js一个回调里的局部变量名,逻辑、文案、渲染结果都不变 - 影响范围:自 1.0.0 起就存在,仅「来源」下拉框;预设选择、段落编辑、保存、能力开关均不受影响(v1.0.0 与 v1.0.1 的
lib/client.js逐字节相同,所以它随下拉框一起出现,与新增模板无关) - 已做真实渲染回归:旧代码复现
TypeError: t is not a function,新代码正常列出三套模板(空提示词 / 鲸鱼娘 / 梁神模式)
升级
dsh plugin add dsh-preset-workbench@1.0.2已安装的:把 profile 里的版本改成 1.0.2 重装,重启 dsh 生效。
1.0.2
Fixed: the source dropdown crashed the moment it opened (t is not a function)
Opening 新建 → 来源 replaced the whole workbench with the error boundary's one line:
◆ 预设工作台渲染出错(已捕获,不影响其他设置页): t is not a function
The option map callback named each item t, shadowing the translate helper t() in the same scope. Any template with a name (all three built-ins have one) then evaluated t('nameWrap', t.name) against the item object itself. Renaming the item to it restores the helper.
- One local identifier in one callback of
lib/client.js; logic, wording and rendering are unchanged - Scope: present since 1.0.0, only the 来源 dropdown — preset selection, section editing, saving and the capability switches are unaffected (lib/client.js is byte-identical between v1.0.0 and v1.0.1, so the crash came with the dropdown itself, not with the new template)
- Verified with a real render regression: the old code reproduces
TypeError: t is not a function, the new code lists all three templates (空提示词 / 鲸鱼娘 / 梁神模式)
Upgrade
dsh plugin add dsh-preset-workbench@1.0.2Already installed: change the version to 1.0.2 in your profile, reinstall, restart dsh.
v1.0.1 - 第三个内置模板:空提示词
⚠️ 本版有已知缺陷,请直接安装 v1.0.2。 打开「新建 → 来源」下拉框会让整个工作台被错误边界接住:t is not a function。
⚠️ Known defect — install v1.0.2 instead. Opening "New → Source" crashes the whole workbench pane:t is not a function.
1.0.1
新增:第三个内置模板 bare(空提示词)
随插件打包的模板从两套变三套,预设工作台的「新建 → 来源」下拉框里多了一项 空提示词。
它是一块底板:没有任何系统提示词,也没有任何工具。
- 没有系统提示词:人设段用
complete: true独占;段落清单sections.json初始为空,所以渲染结果是空字符串,DSH 会记下一条内容块为 0 的 system 消息。身份、工具指引、Web 环境、结构化输出指引、运行时快照全部不进入。 - 没有工具:
persona-file.mjs在system-prompt/assemble里把工具表清空——宿主级插件注册的全局工具(联网、终端、MCP、面板插件)也进不来。开关是agent.cordis.yml里的noTools。 - 可编辑:工作台里「+添加段落」写一段,它就是它的全部系统提示词;清空段落,又回到什么都没有。
两样东西压不掉,都以 user 消息出现、不是系统提示词:Current working directory,以及启用 agent-team 时的团队身份行。
其它
- 打包内容新增
templates/bare/(preset.yml、agent.cordis.yml、persona-file.mjs、sections.json、README.md)。 - 中英文 README 的模板数量与列表同步更新。
升级
dsh plugin add dsh-preset-workbench@1.0.2已安装 1.0.1 的:把 profile 里的版本改成 1.0.2 重装,重启 dsh 生效。
New: Third built-in template bare (empty prompt)
The templates bundled with the plugin go from two to three, and the preset workbench's "New → Source" dropdown now has an additional option: Empty Prompt.
It is a bare base: no system prompt whatsoever, and no tools.
- No system prompt: The persona section is exclusively occupied via
complete: true; the section listsections.jsonstarts out empty, so the rendered result is an empty string, and DSH records a system message with 0 content blocks. Identity, tool guidance, Web environment, structured output guidance, and runtime snapshot all do not enter. - No tools:
persona-file.mjsclears the tool table insystem-prompt/assemble—global tools registered by host-level plugins (networking, terminal, MCP, panel plugins) cannot get in either. The switch isnoToolsinagent.cordis.yml. - Editable: In the workbench, write a section via "+ Add Section," and that becomes its entire system prompt; clear the section, and it goes back to having nothing.
Two things cannot be suppressed; both appear as user messages, not system prompts: Current working directory, and the team identity line when agent-team is enabled.
Other
- Packaged content adds
templates/bare/(preset.yml,agent.cordis.yml,persona-file.mjs,sections.json,README.md). - The template count and list in the Chinese and English READMEs are updated accordingly.
Upgrade
dsh plugin add dsh-preset-workbench@1.0.2Already on 1.0.1: change the version in the profile to 1.0.2, reinstall, then restart dsh.
v1.0.0
ℹ️ 历史版本。已知问题:本版「新建 → 来源」下拉框一展开就会崩(
t is not a function),已在 v1.0.2 修复;新装请用最新版。ℹ️ Historical release. Known issue: opening "New → Source" crashes (
t is not a function). Fixed in v1.0.2; install the latest version.
预设工作台 v1.0.0
在 DSH(DeepSeek Harness)设置页里创建与编辑 Agent 预设的可视化工作台 —— 不用写 YAML。
功能
- 分段提示词 —— 每段独立标题与内容,勾选框控制这段是否进入系统提示词(不勾 = 文字保留但不给 AI 看)
- 能力开关 —— 15 项可选工具能力,勾选即写入组合文件、取消即移除,每次切换自动做挂载校验
- 来源徽章 —— 每个预设标注 📦 内置模板 / 📦·✏️ 已改动 / 👤 自定义 / 官方预设
- 内置模板 —— 鲸鱼娘(
cetacea)、梁神模式(liangshen,@linxin666/dsh-liangshen0.4.6) - 安全边界 —— 系统预设只读;绝不覆盖本机已有预设;高权限能力带环境预检
- 中英双语界面、零运行时依赖(不 import 任何
@deepseek-ai/*)
安装
dsh plugin --profile web add dsh-preset-workbench装完重启 dsh web,打开 设置 → 预设工作台 即可使用。
Preset Workbench v1.0.0
A visual workbench on the DSH (DeepSeek Harness) Settings page for creating and editing agent presets — no YAML.
Features
- Sectioned prompts — each section has its own title/content; a checkbox decides whether it enters the system prompt
- Capability toggles — 15 optional tool capabilities, write-on-check / remove-on-uncheck, auto mount validation
- Provenance badge — every preset is labelled 📦 built-in template / 📦·✏️ modified / 👤 custom / official
- Built-in templates — Whale Girl (
cetacea) and Liangshen Mode (liangshen,@linxin666/dsh-liangshen0.4.6) - Safety boundaries — system presets are read-only; existing local presets are never overwritten; high-power capabilities carry environment pre-checks
- Bilingual UI (zh/en), zero runtime dependencies
Install
dsh plugin --profile web add dsh-preset-workbenchRestart dsh web afterwards, then open Settings → Preset Workbench.