Skip to content

Releases: DDDMUC/dsh-preset-workbench

v1.1.1

Choose a tag to compare

@DDDMUC DDDMUC released this 29 Oct 15:12

相对 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 - 会话内切换预设 / 新建页就地编辑 / 四页结构

Choose a tag to compare

@DDDMUC DDDMUC released this 21 Oct 15:44

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)

Choose a tag to compare

@DDDMUC DDDMUC released this 20 Oct 12:55

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.2

Already installed: change the version to 1.0.2 in your profile, reinstall, restart dsh.

v1.0.1 - 第三个内置模板:空提示词

Choose a tag to compare

@DDDMUC DDDMUC released this 20 Oct 12:22

⚠️ 本版有已知缺陷,请直接安装 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 list sections.json starts 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.mjs clears the tool table in system-prompt/assemble—global tools registered by host-level plugins (networking, terminal, MCP, panel plugins) cannot get in either. The switch is noTools in agent.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.2

Already on 1.0.1: change the version in the profile to 1.0.2, reinstall, then restart dsh.

v1.0.0

Choose a tag to compare

@DDDMUC DDDMUC released this 15 Oct 13:03

ℹ️ 历史版本。已知问题:本版「新建 → 来源」下拉框一展开就会崩(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-liangshen 0.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-liangshen 0.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-workbench

Restart dsh web afterwards, then open Settings → Preset Workbench.