@matamt-dbg/dsh-studio 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/client.js +2 -2
- package/index.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ Restart the web GUI, then open **DSH Studio** from the sidebar.
|
|
|
54
54
|
|
|
55
55
|

|
|
56
56
|
|
|
57
|
-
- **Presets** — a read-only *Studio Master* with every available tool, a built-in *Optimized* preset (22 everyday tools), and your own presets. Edit, copy, delete, apply to DSH, or unapply.
|
|
57
|
+
- **Presets** — a read-only *Studio Master* with every available tool, a locked built-in *Optimized* preset (22 everyday tools) to copy from, and your own presets. Edit, copy, delete, apply to DSH, or unapply.
|
|
58
58
|
- **Prompts & tools** — edit persona and additional instructions, pick tools (or whole built-in tool sets), and rewrite the descriptions the model sees for each tool and parameter.
|
|
59
59
|
- **Prompt preview** — see the exact system prompt and tool schemas a preset produces, without starting an agent.
|
|
60
60
|
- **Execution settings** — override plugin configuration for one preset only.
|
|
@@ -68,7 +68,7 @@ Restart the web GUI, then open **DSH Studio** from the sidebar.
|
|
|
68
68
|
|
|
69
69
|
## Quick start
|
|
70
70
|
|
|
71
|
-
1. Open **DSH Studio** and select **
|
|
71
|
+
1. Open **DSH Studio** and select **Create copy** on *Optimized* (the built-in itself is locked).
|
|
72
72
|
2. Adjust instructions, tools, execution settings and subagent roles, then **Save preset**.
|
|
73
73
|
3. In **Preset list**, select **Apply to DSH**.
|
|
74
74
|
4. Start a new session and choose your preset in DSH's preset picker.
|
package/client.js
CHANGED
|
@@ -1451,7 +1451,7 @@ function PresetList({ locale, api, revision, onEdit, onCopy }) {
|
|
|
1451
1451
|
item.template && !item.readOnly && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Badge, { tone: "info", children: t("\uAE30\uBCF8 \uC81C\uACF5", "Built-in", "\u5185\u7F6E") }),
|
|
1452
1452
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Badge, { tone: tone[item.status], children: status(item) })
|
|
1453
1453
|
] }),
|
|
1454
|
-
item.template ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "studio-card-text", children: t("Studio\uAC00 \uAD8C\uC7A5\uD558\uB294 \uAE30\uBCF8 \uAD6C\uC131\uC785\uB2C8\uB2E4. \
|
|
1454
|
+
item.template ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "studio-card-text", children: t("Studio\uAC00 \uAD8C\uC7A5\uD558\uB294 \uCF54\uB529 \uC5D0\uC774\uC804\uD2B8\uC6A9 \uAE30\uBCF8 \uAD6C\uC131\uC785\uB2C8\uB2E4. \uACE0\uCE58\uB824\uBA74 \uBCF5\uC0AC\uD574\uC11C \uC4F0\uC138\uC694.", "Studio optimized default for coding agents. Create a copy to customize it.", "Studio \u63A8\u8350\u7684\u7F16\u7801\u4EE3\u7406\u9ED8\u8BA4\u914D\u7F6E\u3002\u5982\u9700\u4FEE\u6539\uFF0C\u8BF7\u521B\u5EFA\u526F\u672C") }) : item.description && !item.readOnly && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "studio-card-text", children: item.description }),
|
|
1455
1455
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { className: "studio-card-meta", children: [
|
|
1456
1456
|
t("\uB3C4\uAD6C", "Tools", "\u5DE5\u5177"),
|
|
1457
1457
|
" ",
|
|
@@ -1462,7 +1462,7 @@ function PresetList({ locale, api, revision, onEdit, onCopy }) {
|
|
|
1462
1462
|
Array.isArray(item.agents) ? item.agents.length : 0
|
|
1463
1463
|
] }),
|
|
1464
1464
|
item.readOnly ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "studio-card-meta studio-card-note", children: t("DSH\uC5D0 \uC124\uCE58\uB41C \uBAA8\uB4E0 \uB3C4\uAD6C\uB97C \uB2F4\uC740 \uAE30\uC900 \uD504\uB9AC\uC14B\uC785\uB2C8\uB2E4. \uD3B8\uC9D1\uD558\uAC70\uB098 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", "Reference preset with every installed DSH tool. It cannot be edited or deleted.", "\u5305\u542B\u6240\u6709\u5DF2\u5B89\u88C5 DSH \u5DE5\u5177\u7684\u57FA\u51C6\u9884\u8BBE\uFF0C\u65E0\u6CD5\u7F16\u8F91\u6216\u5220\u9664") }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "studio-card-footer", children: [
|
|
1465
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Button, { small: true, disabled: busy || item.readOnly || !onEdit, onClick: () => onEdit?.(item), children: t("\uD3B8\uC9D1", "Edit", "\u7F16\u8F91") }),
|
|
1465
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Button, { small: true, disabled: busy || item.readOnly || item.template || !onEdit, title: item.template ? t("\uAE30\uBCF8 \uC81C\uACF5 \uD504\uB9AC\uC14B\uC740 \uD3B8\uC9D1\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBCF5\uC0AC\uD574\uC11C \uACE0\uCCD0 \uC4F0\uC138\uC694.", "Built-in presets cannot be edited. Create a copy to customize it.", "\u5185\u7F6E\u9884\u8BBE\u65E0\u6CD5\u7F16\u8F91\uFF0C\u8BF7\u521B\u5EFA\u526F\u672C\u540E\u4FEE\u6539") : void 0, onClick: () => onEdit?.(item), children: t("\uD3B8\uC9D1", "Edit", "\u7F16\u8F91") }),
|
|
1466
1466
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Button, { small: true, disabled: busy || !onCopy, onClick: () => onCopy?.(item), children: t("\uBCF5\uC0AC", "Create copy", "\u521B\u5EFA\u526F\u672C") }),
|
|
1467
1467
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Button, { small: true, disabled: busy || !api || item.readOnly || item.nonDeletable, title: item.nonDeletable ? t("\uAE30\uBCF8 \uC81C\uACF5 \uD504\uB9AC\uC14B\uC740 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", "Built-in presets cannot be deleted.", "\u5185\u7F6E\u9884\u8BBE\u65E0\u6CD5\u5220\u9664") : void 0, onClick: () => {
|
|
1468
1468
|
setDeleting(item);
|
package/index.js
CHANGED
|
@@ -937,6 +937,7 @@ var PresetStore = class {
|
|
|
937
937
|
return this.serial(async () => {
|
|
938
938
|
const value = JSON.parse(payload);
|
|
939
939
|
if (!value || typeof value.name !== "string" || !value.name.trim() || value.name.length > 120 || typeof value.description !== "string") throw new Error("Invalid preset name or description");
|
|
940
|
+
if (value.id === OPTIMIZED_PRESET_ID) throw new Error("Optimized is a locked built-in preset; create a copy to customize it");
|
|
940
941
|
const old = value.id ? this.find(value.id) : void 0;
|
|
941
942
|
const row = {
|
|
942
943
|
...old,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matamt-dbg/dsh-studio",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "DSH Studio: build, edit and apply DeepSeek Harness agent presets — tools, prompts, Configs and role-based subagents — from the web GUI.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|