@aiwayds/dsh-tui-pi 2.9.1 → 2.11.0
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 +5 -3
- package/README.zh-CN.md +5 -3
- package/lib/agent-runtime.d.ts +13 -0
- package/lib/agent-runtime.js +26 -0
- package/lib/agent-runtime.js.map +1 -1
- package/lib/agents.js +3 -2
- package/lib/agents.js.map +1 -1
- package/lib/dsh-events.d.ts +36 -0
- package/lib/dsh-events.js +10 -0
- package/lib/dsh-events.js.map +1 -1
- package/lib/index.js +140 -88
- package/lib/index.js.map +1 -1
- package/lib/keymap.d.ts +11 -4
- package/lib/keymap.js +20 -9
- package/lib/keymap.js.map +1 -1
- package/lib/live-widgets.js +4 -0
- package/lib/live-widgets.js.map +1 -1
- package/lib/preset.d.ts +11 -5
- package/lib/preset.js +16 -5
- package/lib/preset.js.map +1 -1
- package/lib/session.d.ts +65 -0
- package/lib/session.js +199 -2
- package/lib/session.js.map +1 -1
- package/lib/stop-dialog.d.ts +94 -0
- package/lib/stop-dialog.js +194 -0
- package/lib/stop-dialog.js.map +1 -0
- package/lib/subagent-policy.d.ts +59 -22
- package/lib/subagent-policy.js +231 -40
- package/lib/subagent-policy.js.map +1 -1
- package/lib/subagent-viewer.d.ts +39 -10
- package/lib/subagent-viewer.js +201 -32
- package/lib/subagent-viewer.js.map +1 -1
- package/lib/theme-settings.d.ts +26 -1
- package/lib/theme-settings.js +46 -0
- package/lib/theme-settings.js.map +1 -1
- package/lib/workspace-presets.d.ts +61 -0
- package/lib/workspace-presets.js +110 -0
- package/lib/workspace-presets.js.map +1 -0
- package/package.json +1 -1
- package/skills/dsh-tui-pi-config/SKILL.md +10 -3
package/lib/theme-settings.js
CHANGED
|
@@ -55,6 +55,7 @@ export function narrowCacheHitMode(value) {
|
|
|
55
55
|
export const DEFAULT_SUBAGENT_LIMITS = Object.freeze({
|
|
56
56
|
maxAgents: 4,
|
|
57
57
|
maxRounds: 75,
|
|
58
|
+
maxRoundsGrace: 7,
|
|
58
59
|
disableSubagent: true,
|
|
59
60
|
});
|
|
60
61
|
/** Schema of the `dsh-tui` settings section. */
|
|
@@ -80,6 +81,11 @@ const THEME_SETTINGS_SCHEMA = z.object({
|
|
|
80
81
|
.natural()
|
|
81
82
|
.default(DEFAULT_SUBAGENT_LIMITS.maxRounds)
|
|
82
83
|
.description('Max assistant messages per subagent before the TUI sends a summary request (0 = unlimited)'),
|
|
84
|
+
maxRoundsGrace: z
|
|
85
|
+
.natural()
|
|
86
|
+
.default(DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace)
|
|
87
|
+
.description('Rounds a subagent may keep running after the summary request before the '
|
|
88
|
+
+ 'TUI force-stops it (0 = warn only, never force-stop)'),
|
|
83
89
|
disableSubagent: z
|
|
84
90
|
.boolean()
|
|
85
91
|
.default(DEFAULT_SUBAGENT_LIMITS.disableSubagent)
|
|
@@ -111,6 +117,12 @@ const THEME_SETTINGS_SCHEMA = z.object({
|
|
|
111
117
|
+ "is detected at startup, plain otherwise; 'nerdfont' = powerline PUA "
|
|
112
118
|
+ 'glyphs (U+E0B0 separator, stop, heavy circle); plain = safe Unicode '
|
|
113
119
|
+ 'stand-ins (▸ ■ ●) — auto is the recommended default)'),
|
|
120
|
+
rememberPreset: z
|
|
121
|
+
.boolean()
|
|
122
|
+
.default(true)
|
|
123
|
+
.description('Remember the last /preset selection per workspace and start the next '
|
|
124
|
+
+ 'launch in the same directory on it (instead of the server default). '
|
|
125
|
+
+ 'false always starts on the server-side default preset'),
|
|
114
126
|
favoriteModels: z
|
|
115
127
|
.array(z.string())
|
|
116
128
|
.default([])
|
|
@@ -172,10 +184,12 @@ const THEME_SETTINGS_ENTRY = {
|
|
|
172
184
|
panelHeight: DEFAULT_PANEL_HEIGHT,
|
|
173
185
|
maxAgents: DEFAULT_SUBAGENT_LIMITS.maxAgents,
|
|
174
186
|
maxRounds: DEFAULT_SUBAGENT_LIMITS.maxRounds,
|
|
187
|
+
maxRoundsGrace: DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace,
|
|
175
188
|
disableSubagent: DEFAULT_SUBAGENT_LIMITS.disableSubagent,
|
|
176
189
|
footerHints: { ...DEFAULT_FOOTER_HINTS },
|
|
177
190
|
cacheHitMode: DEFAULT_CACHE_HIT_MODE,
|
|
178
191
|
iconSet: 'auto',
|
|
192
|
+
rememberPreset: true,
|
|
179
193
|
favoriteModels: [],
|
|
180
194
|
hiddenModels: [],
|
|
181
195
|
retention: {
|
|
@@ -271,6 +285,10 @@ function narrowFooterHints(value) {
|
|
|
271
285
|
function narrowIconSet(value) {
|
|
272
286
|
return value === 'nerdfont' || value === 'plain' ? value : 'auto';
|
|
273
287
|
}
|
|
288
|
+
/** Validate an unknown `rememberPreset` value (anything else narrows to true). */
|
|
289
|
+
function narrowRememberPreset(value) {
|
|
290
|
+
return typeof value === 'boolean' ? value : true;
|
|
291
|
+
}
|
|
274
292
|
/**
|
|
275
293
|
* The `dsh-tui` namespace descriptor, after waiting for the in-flight
|
|
276
294
|
* registration — the shared plumbing of every async reader below.
|
|
@@ -360,6 +378,33 @@ export async function readFooterHintsPreference(ctx) {
|
|
|
360
378
|
export async function readIconSetPreference(ctx) {
|
|
361
379
|
return narrowIconSet((await readResolvedSection(ctx))?.iconSet);
|
|
362
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* Read the persisted preset-memory toggle (the startup snapshot). Default
|
|
383
|
+
* TRUE: remembering is the out-of-the-box behavior; only an explicit
|
|
384
|
+
* `dsh-tui.rememberPreset: false` turns it off.
|
|
385
|
+
*
|
|
386
|
+
* @param ctx - plugin context.
|
|
387
|
+
* @returns the resolved boolean, or `true` when the settings service is
|
|
388
|
+
* absent or the namespace/value cannot be read.
|
|
389
|
+
*/
|
|
390
|
+
export async function readRememberPreset(ctx) {
|
|
391
|
+
return narrowRememberPreset((await readResolvedSection(ctx))?.rememberPreset);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Read the currently persisted preset-memory toggle, synchronously. Unlike
|
|
395
|
+
* `readRememberPreset` (the startup snapshot), this describes whatever the
|
|
396
|
+
* settings service exposes right now — the /preset switch path calls it at
|
|
397
|
+
* every commit, so a `/settings` toggle applies without a restart.
|
|
398
|
+
* @returns `true` when the service, namespace, or value is absent.
|
|
399
|
+
*/
|
|
400
|
+
export function currentRememberPreset(ctx) {
|
|
401
|
+
const settings = ctx.get('settings');
|
|
402
|
+
if (settings === undefined)
|
|
403
|
+
return true;
|
|
404
|
+
return narrowRememberPreset(settings
|
|
405
|
+
.describe()
|
|
406
|
+
.find((descriptor) => descriptor.ns === THEME_SETTINGS_NAMESPACE)?.value?.rememberPreset);
|
|
407
|
+
}
|
|
363
408
|
/**
|
|
364
409
|
* Read the explicit `dsh-tui.retention` / `dsh-tui.resume` sections from
|
|
365
410
|
* the settings document's user layer (see `SessionManagementExplicit`).
|
|
@@ -509,6 +554,7 @@ export function readSubagentLimits(ctx) {
|
|
|
509
554
|
return {
|
|
510
555
|
maxAgents: natural(section?.maxAgents, DEFAULT_SUBAGENT_LIMITS.maxAgents),
|
|
511
556
|
maxRounds: natural(section?.maxRounds, DEFAULT_SUBAGENT_LIMITS.maxRounds),
|
|
557
|
+
maxRoundsGrace: natural(section?.maxRoundsGrace, DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace),
|
|
512
558
|
disableSubagent: typeof section?.disableSubagent === 'boolean'
|
|
513
559
|
? section.disableSubagent
|
|
514
560
|
: DEFAULT_SUBAGENT_LIMITS.disableSubagent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAA;AAClC,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAoB,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACtG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AASjD,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAiB,aAAa,CAAA;AAEjE,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAA;AACjE,CAAC;AAqBD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmB,MAAM,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,IAAI;CACtB,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SAChC,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6CAA6C,CAAC;IAC7D,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,4EAA4E;UAC1E,mFAAmF;UACnF,yEAAyE;UACzE,iCAAiC,CACpC;IACH,uEAAuE;IACvE,0EAA0E;IAC1E,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,oDAAoD,CAAC;IACpE,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,4FAA4F,CAAC;IAC5G,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC;SAChD,WAAW,CACV,uEAAuE;UACrE,oEAAoE;UACpE,sBAAsB,CACzB;IACH,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC;QACxF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC;QACzF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC;QAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACtG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC;QACnG,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACnG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC;KAC5F,CAAC;SACD,OAAO,CAAC,EAAE,GAAG,oBAAoB,EAAE,CAAC;SACpC,WAAW,CAAC,2DAA2D,CAAC;IAC3E,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SACjC,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CACV,oFAAoF;UAClF,8FAA8F;UAC9F,oCAAoC,CACvC;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;SACpC,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,yEAAyE;UACvE,sEAAsE;UACtE,sEAAsE;UACtE,sDAAsD,CACzD;IACH,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,2EAA2E,CAAC;IAC3F,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,mFAAmF,CAAC;IACnG,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,yEAAyE;IACzE,yEAAyE;IACzE,qDAAqD;IACrD,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,mBAAmB,CAAC;aAC5B,WAAW,CACV,sFAAsF;cACpF,+DAA+D,CAClE;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,OAAO,CAAC,sBAAsB,CAAC;aAC/B,WAAW,CACV,mFAAmF;cACjF,kEAAkE,CACrE;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,OAAO,CAAC,wBAAwB,CAAC;aACjC,WAAW,CACV,qEAAqE;cACnE,oEAAoE,CACvE;KACJ,CAAC;SACD,OAAO,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,wBAAwB;KACvC,CAAC;SACD,WAAW,CAAC,iHAAiH,CAAC;IACjI,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,OAAO,CAAC,mBAAmB,CAAC;aAC5B,WAAW,CACV,qFAAqF;cACnF,sCAAsC,CACzC;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,gBAAgB,CAAC;aACzB,WAAW,CACV,+DAA+D;cAC7D,mCAAmC,CACtC;KACJ,CAAC;SACD,OAAO,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;SACxE,WAAW,CAAC,2FAA2F,CAAC;CAC5G,CAAC,CAAA;AAEF,yEAAyE;AACzE,MAAM,oBAAoB,GAatB;IACF,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,oBAAoB;IACjC,SAAS,EAAE,uBAAuB,CAAC,SAAS;IAC5C,SAAS,EAAE,uBAAuB,CAAC,SAAS;IAC5C,eAAe,EAAE,uBAAuB,CAAC,eAAe;IACxD,WAAW,EAAE,EAAE,GAAG,oBAAoB,EAAE;IACxC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE;QACT,QAAQ,EAAE,mBAAmB;QAC7B,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,wBAAwB;KACvC;IACD,MAAM,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACxE,CAAA;AAED;;;;;GAKG;AACH,IAAI,mBAA8C,CAAA;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAY,EACZ,kBAA0H;IAE1H,mBAAmB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAChD,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC;gBACH,uEAAuE;gBACvE,uEAAuE;gBACvE,mEAAmE;gBACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,CAAC;oBAC9F,OAAO,EAAE,CAAA;oBACT,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,EAAE,qBAAqB,EAAE;oBACpF,IAAI,EAAE,oBAAoB;oBAC1B,gEAAgE;oBAChE,kEAAkE;oBAClE,mEAAmE;oBACnE,8BAA8B;oBAC9B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAA;gBACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACrC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;wBACnB,2DAA2D;wBAC3D,kEAAkE;wBAClE,mBAAmB;wBACnB,MAAM,OAAO,GAAG,IAA4F,CAAA;wBAC5G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;wBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;wBACvC,kBAAkB,CAChB,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACtD,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,EAC/D,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/B,CAAA;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,+DAA+D;gBAC/D,6DAA6D;gBAC7D,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,qBAAqB;gBACrB,UAAU,CACR,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpG,CAAA;YACH,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACnF,MAAM,OAAO,GAAG,KAAoD,CAAA;IACpE,MAAM,KAAK,GAAgB,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAA0B,EAAE,CAAC;QAC7E,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;AACnE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,oBAAoB,CAAC,GAAY;IAC9C,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvD,IAAI,QAAmD,CAAA;IACvD,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,mBAAmB;QACnB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;KACvE,CAAC,CAAA;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAAC,GAAY;IAQ7C,yDAAyD;IACzD,8EAA8E;IAC9E,gEAAgE;IAChE,OAAO,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,KAS7B,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAY;IACpD,MAAM,IAAI,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAA;IACpD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAY;IAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAA;IAC5D,IAAI,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IACxC,OAAO,oBAAoB,CAAA;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAY;IAC1D,OAAO,iBAAiB,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY;IACtD,OAAO,aAAa,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAoBD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAY;IAEZ,MAAM,IAAI,GAAG,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAA;IACpD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,IAAiD,CAAA;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,OAAO;QACL,SAAS,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;YACvF,CAAC,CAAC,SAAmD;YACrD,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;YAC3E,CAAC,CAAC,MAA6C;YAC/C,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAC9D,MAAM,KAAK,GAAI,QAAQ;SACpB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,WAAW,CAAA;IAC3B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAA;IACzD,MAAM,IAAI,GAAI,QAAQ;SACnB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,YAAY,CAAA;IAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACzC,MAAM,IAAI,GAAI,QAAQ;SACnB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,KAAK,CAAA;IACrB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAY,EACZ,GACqC,EACrC,KAA2C;IAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,oCAAoC,CAAA;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,GAAG,GAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,wBAAwB,CAAC,CAAA;QACrF,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;YAC1E,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,qBAAqB;gBAAE,SAAQ;YACrE,OAAO,KAAK,YAAY,qBAAqB;gBAC3C,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAY,EAAE,IAAqB;IAC5E,OAAO,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,uBAAuB,EAAE,CAAA;IACjE,yDAAyD;IACzD,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,OAAO,GAAG,QAAQ;SACrB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAExD,CAAA;IACb,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,QAAgB,EAAU,EAAE,CAC3D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvF,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACzE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACzE,eAAe,EAAE,OAAO,OAAO,EAAE,eAAe,KAAK,SAAS;YAC5D,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,uBAAuB,CAAC,eAAe;KAC5C,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAY,EACZ,GAAkD,EAClD,KAAuB;IAEvB,OAAO,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAY;IAC/C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC9C,OAAO;QACL,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;QACzD,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;KACtD,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,GAAsC,EACtC,KAAwB;IAExB,OAAO,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-workspace preset memory — the last `/preset` selection of a directory,
|
|
3
|
+
* so the next TUI launch in the same workspace starts on it instead of the
|
|
4
|
+
* server-side default.
|
|
5
|
+
*
|
|
6
|
+
* dsh presets compose a session at CREATION time, and before the user ever
|
|
7
|
+
* switches the server default governs — which means a `/preset cordis`
|
|
8
|
+
* choice died with the session: every fresh launch silently fell back to
|
|
9
|
+
* `standard`. This store closes that gap: the switch path records the
|
|
10
|
+
* committed preset under the workspace's project key (the same
|
|
11
|
+
* `projectKeyFor(cwd)` grouping the session log backend uses), and startup
|
|
12
|
+
* reads it back into both the footer selection AND the session-creation
|
|
13
|
+
* preset (`bridge.setAgentPreset`), so the first prompt composes under the
|
|
14
|
+
* remembered preset exactly as the last session did.
|
|
15
|
+
*
|
|
16
|
+
* Storage is a plugin-owned JSON document at `$DSH_HOME/workspace-presets.json`
|
|
17
|
+
* — the model-profiles.json precedent (atomic tmp+rename, self-healing
|
|
18
|
+
* normalize, never fatal): the host settings document is deliberately NOT
|
|
19
|
+
* used, because it is global user config and this state is per-workspace
|
|
20
|
+
* runtime memory. The toggle lives in settings (`dsh-tui.rememberPreset`,
|
|
21
|
+
* default true): when off, startup ignores the store and the switch path
|
|
22
|
+
* stops recording — the file itself is left alone, so flipping the toggle
|
|
23
|
+
* back restores the last remembered choices.
|
|
24
|
+
*
|
|
25
|
+
* The module is pure except for the two fs functions; both take an explicit
|
|
26
|
+
* path so tests stay hermetic.
|
|
27
|
+
*/
|
|
28
|
+
/** Bump when the document shape changes (a mismatch resets to the seed). */
|
|
29
|
+
export declare const WORKSPACE_PRESETS_VERSION = 1;
|
|
30
|
+
/** The whole stored document: workspace project key → last committed preset id. */
|
|
31
|
+
export interface WorkspacePresetsDoc {
|
|
32
|
+
version: number;
|
|
33
|
+
presets: Record<string, string>;
|
|
34
|
+
}
|
|
35
|
+
/** `$DSH_HOME/workspace-presets.json` (or an explicit home override). */
|
|
36
|
+
export declare function workspacePresetsPath(home?: string): string;
|
|
37
|
+
/** A fresh empty document. */
|
|
38
|
+
export declare function seedWorkspacePresetsDoc(): WorkspacePresetsDoc;
|
|
39
|
+
/**
|
|
40
|
+
* Validate an unknown parsed document. A wrong version, a non-object, or
|
|
41
|
+
* garbage entries degrade to the seed (an empty map) — the store is
|
|
42
|
+
* self-healing, never fatal. Keys and values must be non-empty trimmed
|
|
43
|
+
* strings; duplicates collapse (later JSON keys win, per JSON.parse).
|
|
44
|
+
*/
|
|
45
|
+
export declare function normalizeWorkspacePresets(raw: unknown): WorkspacePresetsDoc;
|
|
46
|
+
/** Read + validate the store; any failure degrades to the empty document. */
|
|
47
|
+
export declare function loadWorkspacePresets(path: string): WorkspacePresetsDoc;
|
|
48
|
+
/**
|
|
49
|
+
* Atomically persist the document (tmp sibling + rename). Creates the
|
|
50
|
+
* directory when missing. Returns an error message on failure, or
|
|
51
|
+
* `undefined` on success — callers flash it, never throw.
|
|
52
|
+
*/
|
|
53
|
+
export declare function saveWorkspacePresets(path: string, doc: WorkspacePresetsDoc): string | undefined;
|
|
54
|
+
/** The remembered preset id for one workspace key, or `undefined`. */
|
|
55
|
+
export declare function rememberedPresetFor(doc: WorkspacePresetsDoc, workspaceKey: string): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Pure merge: the document with `presetId` recorded for `workspaceKey`.
|
|
58
|
+
* Returns a NEW document (the input is never mutated) so callers can retry
|
|
59
|
+
* a failed save from a clean base.
|
|
60
|
+
*/
|
|
61
|
+
export declare function withRememberedPreset(doc: WorkspacePresetsDoc, workspaceKey: string, presetId: string): WorkspacePresetsDoc;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-workspace preset memory — the last `/preset` selection of a directory,
|
|
3
|
+
* so the next TUI launch in the same workspace starts on it instead of the
|
|
4
|
+
* server-side default.
|
|
5
|
+
*
|
|
6
|
+
* dsh presets compose a session at CREATION time, and before the user ever
|
|
7
|
+
* switches the server default governs — which means a `/preset cordis`
|
|
8
|
+
* choice died with the session: every fresh launch silently fell back to
|
|
9
|
+
* `standard`. This store closes that gap: the switch path records the
|
|
10
|
+
* committed preset under the workspace's project key (the same
|
|
11
|
+
* `projectKeyFor(cwd)` grouping the session log backend uses), and startup
|
|
12
|
+
* reads it back into both the footer selection AND the session-creation
|
|
13
|
+
* preset (`bridge.setAgentPreset`), so the first prompt composes under the
|
|
14
|
+
* remembered preset exactly as the last session did.
|
|
15
|
+
*
|
|
16
|
+
* Storage is a plugin-owned JSON document at `$DSH_HOME/workspace-presets.json`
|
|
17
|
+
* — the model-profiles.json precedent (atomic tmp+rename, self-healing
|
|
18
|
+
* normalize, never fatal): the host settings document is deliberately NOT
|
|
19
|
+
* used, because it is global user config and this state is per-workspace
|
|
20
|
+
* runtime memory. The toggle lives in settings (`dsh-tui.rememberPreset`,
|
|
21
|
+
* default true): when off, startup ignores the store and the switch path
|
|
22
|
+
* stops recording — the file itself is left alone, so flipping the toggle
|
|
23
|
+
* back restores the last remembered choices.
|
|
24
|
+
*
|
|
25
|
+
* The module is pure except for the two fs functions; both take an explicit
|
|
26
|
+
* path so tests stay hermetic.
|
|
27
|
+
*/
|
|
28
|
+
import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
29
|
+
import { dirname, join } from 'node:path';
|
|
30
|
+
import { dshHome } from "./append-system.js";
|
|
31
|
+
/** Bump when the document shape changes (a mismatch resets to the seed). */
|
|
32
|
+
export const WORKSPACE_PRESETS_VERSION = 1;
|
|
33
|
+
/** `$DSH_HOME/workspace-presets.json` (or an explicit home override). */
|
|
34
|
+
export function workspacePresetsPath(home = dshHome()) {
|
|
35
|
+
return join(home, 'workspace-presets.json');
|
|
36
|
+
}
|
|
37
|
+
/** A fresh empty document. */
|
|
38
|
+
export function seedWorkspacePresetsDoc() {
|
|
39
|
+
return { version: WORKSPACE_PRESETS_VERSION, presets: {} };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate an unknown parsed document. A wrong version, a non-object, or
|
|
43
|
+
* garbage entries degrade to the seed (an empty map) — the store is
|
|
44
|
+
* self-healing, never fatal. Keys and values must be non-empty trimmed
|
|
45
|
+
* strings; duplicates collapse (later JSON keys win, per JSON.parse).
|
|
46
|
+
*/
|
|
47
|
+
export function normalizeWorkspacePresets(raw) {
|
|
48
|
+
const doc = seedWorkspacePresetsDoc();
|
|
49
|
+
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
50
|
+
return doc;
|
|
51
|
+
const { version, presets } = raw;
|
|
52
|
+
if (version !== WORKSPACE_PRESETS_VERSION)
|
|
53
|
+
return doc;
|
|
54
|
+
if (presets === null || typeof presets !== 'object' || Array.isArray(presets))
|
|
55
|
+
return doc;
|
|
56
|
+
for (const [key, value] of Object.entries(presets)) {
|
|
57
|
+
const trimmedKey = key.trim();
|
|
58
|
+
if (typeof value !== 'string' || trimmedKey === '' || value.trim() === '')
|
|
59
|
+
continue;
|
|
60
|
+
doc.presets[trimmedKey] = value.trim();
|
|
61
|
+
}
|
|
62
|
+
return doc;
|
|
63
|
+
}
|
|
64
|
+
/** Read + validate the store; any failure degrades to the empty document. */
|
|
65
|
+
export function loadWorkspacePresets(path) {
|
|
66
|
+
let text;
|
|
67
|
+
try {
|
|
68
|
+
text = readFileSync(path, 'utf8');
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return seedWorkspacePresetsDoc();
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
return normalizeWorkspacePresets(JSON.parse(text));
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return seedWorkspacePresetsDoc();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Atomically persist the document (tmp sibling + rename). Creates the
|
|
82
|
+
* directory when missing. Returns an error message on failure, or
|
|
83
|
+
* `undefined` on success — callers flash it, never throw.
|
|
84
|
+
*/
|
|
85
|
+
export function saveWorkspacePresets(path, doc) {
|
|
86
|
+
try {
|
|
87
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
88
|
+
const tmp = `${path}.tmp-${process.pid}`;
|
|
89
|
+
writeFileSync(tmp, `${JSON.stringify(doc, null, 2)}\n`);
|
|
90
|
+
renameSync(tmp, path);
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return error instanceof Error ? error.message : String(error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** The remembered preset id for one workspace key, or `undefined`. */
|
|
98
|
+
export function rememberedPresetFor(doc, workspaceKey) {
|
|
99
|
+
const id = doc.presets[workspaceKey];
|
|
100
|
+
return id !== undefined && id !== '' ? id : undefined;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Pure merge: the document with `presetId` recorded for `workspaceKey`.
|
|
104
|
+
* Returns a NEW document (the input is never mutated) so callers can retry
|
|
105
|
+
* a failed save from a clean base.
|
|
106
|
+
*/
|
|
107
|
+
export function withRememberedPreset(doc, workspaceKey, presetId) {
|
|
108
|
+
return { version: doc.version, presets: { ...doc.presets, [workspaceKey]: presetId } };
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=workspace-presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-presets.js","sourceRoot":"","sources":["../src/workspace-presets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiwayds/dsh-tui-pi",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "A fully-featured pi-style terminal UI for DeepSeek Harness (dsh) — history look-back & fork-at-turn, guided preset switching, live subagent steering, model profiles & themes",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dsh-tui-pi-config
|
|
3
|
-
description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南。凡涉及 TUI 主题/面板/footer、子代理并发与轮数限制、模型收藏与隐藏、会话保留清理与 /resume
|
|
3
|
+
description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南。凡涉及 TUI 主题/面板/footer、子代理并发与轮数限制、模型收藏与隐藏、会话保留清理与 /resume 过滤、preset 记忆,或要配置 dsh-tui 段时先读本指南:settings.yaml 顶层 `dsh-tui:` 段 14 键(theme/panelHeight/maxAgents/maxRounds/maxRoundsGrace/disableSubagent/footerHints/cacheHitMode/iconSet/rememberPreset/favoriteModels/hiddenModels/retention/resume)、DSH_TUI_* 环境变量、ask_user_question 快速上手向导、keybindings.json 与 /hotkeys。触发词:tui、主题、theme、面板、footer、收藏模型、隐藏模型、保留策略、panelHeight、resume、preset。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# dsh-tui-pi 使用指南(TUI 主题 / 子代理治理 / 会话管理)
|
|
@@ -20,10 +20,12 @@ description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南
|
|
|
20
20
|
| `panelHeight` | `'1'\|'5'\|'7'\|'10'\|'all'` | `'1'` | think/tool 固定面板高度;`all` = 完整内容(推理 200 行尾随、工具结果 2000 行封顶) |
|
|
21
21
|
| `maxAgents` | 非负整数 | `4` | 并发子代理上限,`0` = 不限 |
|
|
22
22
|
| `maxRounds` | 非负整数 | `75` | 每个子代理 assistant 消息数上限,到达后注入收尾请求;`0` = 不限 |
|
|
23
|
+
| `maxRoundsGrace` | 非负整数 | `7` | 收尾请求后的宽限轮数,超出即强制终止(one-shot cancel / continuable 保留会话可续聊);`0` = 仅警告不终止 |
|
|
23
24
|
| `disableSubagent` | 布尔 | `true` | 禁原生 `subagent` 工具,委派改走 `~/.dsh/agents/*.md` 注册代理(`use_agent`);`subagent_fork`/`workflow`/`ralph` 不受影响 |
|
|
24
25
|
| `footerHints` | 7 个布尔 | 全 `true` | footer 快捷键提示分段开关:`send`/`stop`/`quit`/`quitEmpty`/`subagents`/`search`/`history` |
|
|
25
26
|
| `cacheHitMode` | `'lastMessage'\|'session'` | `lastMessage` | footer CH 段口径:最新一条消息的命中率(pi-tui 语义)或全会话累计 |
|
|
26
27
|
| `iconSet` | `'auto'\|'nerdfont'\|'plain'` | `auto` | 风险字形集;`auto` 按启动时字体探测选 nerdfont/plain |
|
|
28
|
+
| `rememberPreset` | 布尔 | `true` | 记住每个工作区(目录)最后一次 `/preset` 的选择,下次在同目录启动直接用它(替代服务端默认);`false` 恢复始终用服务端默认。记忆存 `$DSH_HOME/workspace-presets.json` |
|
|
27
29
|
| `favoriteModels` | string[] | `[]` | 收藏模型(`provider/id` 键),钉在 `/model` 选择器顶部 |
|
|
28
30
|
| `hiddenModels` | string[] | `[]` | 隐藏模型(`provider/id` 键),移入 `/model` 的 Hidden 区 |
|
|
29
31
|
| `retention.maxCount` | 数字 | `100` | 启动清理器:最多保留这么多会话日志,`<= 0` 关闭清理器;下次启动生效 |
|
|
@@ -68,10 +70,10 @@ favoriteModels/hiddenModels、retention/resume。
|
|
|
68
70
|
| `/theme` | 选配色,写入 `dsh-tui.theme` 并即时生效 |
|
|
69
71
|
| `/hotkeys` | 按键重映射浏览器,写 `~/.dsh/keybindings.json`(部分 JSON 映射,实时应用) |
|
|
70
72
|
| `/model` | 模型/think 选择器;`f` 收藏、`h` 隐藏即写 `favoriteModels`/`hiddenModels`(收藏行拒绝 `h`,先取消收藏) |
|
|
71
|
-
| `/preset` | 切换 agent preset(确认对话框:fork 携带历史 / 全新开始 / 取消;`/preset next`
|
|
73
|
+
| `/preset` | 切换 agent preset(确认对话框:fork 携带历史 / 全新开始 / 取消;`/preset next` 循环);默认按工作区记忆上次选择(`rememberPreset`) |
|
|
72
74
|
| `/history` | 只读回看会话逐轮历史;`f` 在选中轮 fork 新会话,`/history <id>` 冷读任意存档 |
|
|
73
75
|
| `/resume` | 恢复持久会话(受 `resume.*` 显示窗口过滤;`--resume <id>` 启动参数同源) |
|
|
74
|
-
| `/agents` | 管理 `~/.dsh/agents/*.md`;`l` 进 limits 面板热调 `maxAgents`/`maxRounds`/`disableSubagent` |
|
|
76
|
+
| `/agents` | 管理 `~/.dsh/agents/*.md`;`l` 进 limits 面板热调 `maxAgents`/`maxRounds`/`maxRoundsGrace`/`disableSubagent` |
|
|
75
77
|
| `/profile-switch` / `/profile-cfg` | 模型配置档,存储于 `$DSH_HOME/model-profiles.json` |
|
|
76
78
|
| `~/.dsh/APPEND_SYSTEM.md` | 用户可编辑的主 agent system prompt 追加文件(不作用于子代理) |
|
|
77
79
|
|
|
@@ -84,3 +86,8 @@ favoriteModels/hiddenModels、retention/resume。
|
|
|
84
86
|
与 resume 的"只隐藏"是两回事。
|
|
85
87
|
4. **/model 选择器太长** → 把不用的挑进 `hiddenModels`;常用的钉顶 `favoriteModels`。
|
|
86
88
|
5. **footer 提示太多/太少** → `footerHints` 七段各自独立开关。
|
|
89
|
+
6. **双 Esc 后还在烧 token** → 双 Esc 现弹"停止一切"确认框(列明正在跑的主 turn 与子代理数),
|
|
90
|
+
Enter 才真停,Esc 维持运行;后台子代理会被逐个取消。单个子代理的停止入口在
|
|
91
|
+
Ctrl+G 查看器里按 `x ×2`。
|
|
92
|
+
7. **/preset 每次启动都回到默认** → 检查 `rememberPreset` 是否被设为 `false`;记忆按工作区
|
|
93
|
+
目录各自独立,存于 `$DSH_HOME/workspace-presets.json`,关掉再开不会丢。
|