DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Yume-Hatsuyuki /

Yume-Hatsuyuki/dsh-preset-studio

Verified

DeepSeek Harness 的 Agent 预设扩展(可视化手动配置预设)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ccd1d86c

预设编辑器(Preset Studio)

在 设置 → Agent 预设 → 自定义 里,点「🛠 预设编辑器」用表单维护自己的 Agent 预设。它是 @local/dsh-preset-studio 这个 bundle:Host 半边把预设注册进 agentPresets,Client 半边把编辑器挂进内置的 Agent 预设页。

预览图

安装

# 克隆项目到本地
git clone https://github.com/Yume-Hatsuyuki/dsh-preset-studio

# 添加到桌面客户端
dsh plugin --profile desktop add .\dsh-preset-studio\

# 添加到 WEBUI(可选)
dsh plugin --profile web add .\dsh-preset-studio\

用起来

  1. 打开 设置 → Agent 预设,在「自定义」分组里找到「🛠 预设编辑器」,它在「+ 让 Agent 帮我创建预设模式」上方,是两个创建/编辑入口中的第一项。
  2. 点开后是两栏编辑器:左侧「我的预设」列表,右侧空状态有醒目的「+ 新建预设」按钮;也可以点左侧的「新建」或「新建第一个预设」。
  3. 填写预设 ID、名称、描述、排序,然后在「插件组合」里点「+ 添加插件」;每个插件行是一张独立卡片,包含行 ID、包名、分组、停用、isolate、config。包名输入框会展开一个可滚动的候选浮层,不会被对话框边缘裁掉。
  4. 在「模式说明与使用」卡片里可以填写 Markdown;保存后,自定义预设卡片会像内置预设一样出现「模式说明 / 如何使用」按钮。
  5. 保存后,Host 立即重新注册,内置的预设卡片也会刷新;新建会话可以在 Agent 预设列表里选到它,已开的会话不受影响。
  6. 关闭对话框即可回到 Agent 预设页。原来的「设置 → 预设编辑器」独立菜单已经移除。

编辑器按当前主题使用 DSH 的设计 token:有边框的卡片、悬停态、选中项左侧强调线、输入聚焦环,以及带边框的主/次/危险操作按钮。没有预设时会显示居中的引导卡和主按钮,不再只靠一行小字提示。

字段对照(与预设声明一一对应)

界面 声明字段 说明
预设 ID id 小写字母、数字、连字符;会话与日志保存的就是它
显示名称 name 可选
描述 description 可选
排序 order 可选,预设列表位置
插件组合 plugins 子插件条目数组,顺序即加载顺序
行 ID / 包名 id / name name 必填;分组行填 cordis:group
分组 group: true 该行 config 是子条目数组
停用 disabled: true 保留在模板里但不加载
isolate isolate 服务隔离,例如 {"compaction": true}
config config 该插件的配置对象
模式说明 / 如何使用 guide.explanation / guide.usage 可选,Markdown;填写后自定义预设卡片会出现同款帮助按钮

数据放在哪

~/.dsh/agent-preset-studio.json($DSH_HOME 存在时用 $DSH_HOME/agent-preset-studio.json)。这个文件的唯一写入者是本插件的 Host 半边,写入后再注册,不做原地 YAML 编辑。

接口

  • GET /preset-studio/state → { ok, value: { presets, shipped, failed } }
  • POST /preset-studio/save(content-type: application/json)→ 同上

两条路由只接受同源请求(sec-fetch-site),写接口强制 JSON 内容类型。

集成方式

Client 半边不注册自己的 settings.section 菜单项。它在内置 Agent 预设页的 settings.section 条目注册后,给同一个条目包一层组件:原样渲染内置的 Agent 预设页,再把「🛠 预设编辑器」按钮投射进它的「自定义」分组、放在「+ 让 Agent 帮我创建预设模式」上方。按钮复用内置 Creator 按钮的类名,所以行高和边框样式与它完全一致;点开后用内置的 Modal 承载预设编辑器。对于填写了 guide 的自定义预设,包装层还会把「模式说明 / 如何使用」按钮注入对应卡片的底部,点开后用内置的 Modal、SegmentedTabs 和 Markdown 渲染器展示内容。宿主只负责预设注册和两条 HTTP 路由,不感知界面。

已知限制

  • 不支持 !!js 表达式:文档以 JSON 保存,disabled 只能是布尔值。需要按平台开关的写法,请改用 profile patch 里的 YAML 声明。
  • 保存成功 ≠ 插件可加载:注册表按需挂载,包名写错要到用这个预设开会话时才报错;设置页的「Agent 预设」会显示诊断。
  • 不能覆盖内置预设(standard / ptc / minimal / cordis)的 ID,请换新 ID;内置预设仍由官方 bundle 定义。
  • 修改预设只影响之后新建的 Agent。
  • 界面集成依赖内置 Agent 预设页的 settings.section 条目 id agent-presets、「自定义」分组标题和自定义卡片的底部结构;官方若改动这些,编辑器入口或帮助按钮会安静地不出现,但不会影响内置预设页本身。
—/ 5

No ratings yet

Verified DSH bundle

Commit ccd1d86ce399

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout