@morlay/dsh-session-mode 0.0.11 → 0.0.13

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/dist/client.cjs CHANGED
@@ -1042,76 +1042,76 @@ window.__ModuleLoader__.load({
1042
1042
  //#endregion
1043
1043
  //#region ../../client/dsh-client-ui-primitives/src/client/schema-form/hints.ts
1044
1044
  var SchemaFormHints = class extends _deepseek_ai_cordis.Service {
1045
- #readers = /* @__PURE__ */ new Map();
1046
- #texts = /* @__PURE__ */ new Map();
1047
- #selects = /* @__PURE__ */ new Map();
1048
- #sources = /* @__PURE__ */ new Map();
1049
- #listeners = /* @__PURE__ */ new Set();
1045
+ readers = /* @__PURE__ */ new Map();
1046
+ texts = /* @__PURE__ */ new Map();
1047
+ selects = /* @__PURE__ */ new Map();
1048
+ sources = /* @__PURE__ */ new Map();
1049
+ listeners = /* @__PURE__ */ new Set();
1050
1050
  constructor(ctx) {
1051
1051
  super(ctx, "schemaFormHints");
1052
1052
  }
1053
1053
  keysFor(ns, path) {
1054
- return lookup(this.#readers, ns, path)?.() ?? [];
1054
+ return lookup(this.readers, ns, path)?.() ?? [];
1055
1055
  }
1056
1056
  textFor(ns, path) {
1057
- return lookup(this.#texts, ns, path)?.() ?? {};
1057
+ return lookup(this.texts, ns, path)?.() ?? {};
1058
1058
  }
1059
1059
  select(ns, path, spec) {
1060
1060
  const key = locationKey(ns, path);
1061
- this.#selects.set(key, spec);
1062
- this.#publish();
1061
+ this.selects.set(key, spec);
1062
+ this.publish();
1063
1063
  return () => {
1064
- if (this.#selects.get(key) !== spec) return;
1065
- this.#selects.delete(key);
1066
- this.#publish();
1064
+ if (this.selects.get(key) !== spec) return;
1065
+ this.selects.delete(key);
1066
+ this.publish();
1067
1067
  };
1068
1068
  }
1069
1069
  selectFor(ns, path) {
1070
- return lookup(this.#selects, ns, path);
1070
+ return lookup(this.selects, ns, path);
1071
1071
  }
1072
1072
  source(name, spec) {
1073
- this.#sources.set(name, spec);
1074
- this.#publish();
1073
+ this.sources.set(name, spec);
1074
+ this.publish();
1075
1075
  return () => {
1076
- if (this.#sources.get(name) !== spec) return;
1077
- this.#sources.delete(name);
1078
- this.#publish();
1076
+ if (this.sources.get(name) !== spec) return;
1077
+ this.sources.delete(name);
1078
+ this.publish();
1079
1079
  };
1080
1080
  }
1081
1081
  sourceFor(name) {
1082
- return this.#sources.get(name);
1082
+ return this.sources.get(name);
1083
1083
  }
1084
1084
  describe(ns, path, read) {
1085
1085
  const key = locationKey(ns, path);
1086
- this.#texts.set(key, read);
1087
- this.#publish();
1086
+ this.texts.set(key, read);
1087
+ this.publish();
1088
1088
  return () => {
1089
- if (this.#texts.get(key) !== read) return;
1090
- this.#texts.delete(key);
1091
- this.#publish();
1089
+ if (this.texts.get(key) !== read) return;
1090
+ this.texts.delete(key);
1091
+ this.publish();
1092
1092
  };
1093
1093
  }
1094
1094
  suggestKeys(ns, path, read) {
1095
1095
  const key = locationKey(ns, path);
1096
- this.#readers.set(key, read);
1097
- this.#publish();
1096
+ this.readers.set(key, read);
1097
+ this.publish();
1098
1098
  return () => {
1099
- if (this.#readers.get(key) !== read) return;
1100
- this.#readers.delete(key);
1101
- this.#publish();
1099
+ if (this.readers.get(key) !== read) return;
1100
+ this.readers.delete(key);
1101
+ this.publish();
1102
1102
  };
1103
1103
  }
1104
1104
  subscribe(listener) {
1105
- this.#listeners.add(listener);
1105
+ this.listeners.add(listener);
1106
1106
  return () => {
1107
- this.#listeners.delete(listener);
1107
+ this.listeners.delete(listener);
1108
1108
  };
1109
1109
  }
1110
1110
  refresh() {
1111
- this.#publish();
1111
+ this.publish();
1112
1112
  }
1113
- #publish() {
1114
- for (const listener of this.#listeners) listener();
1113
+ publish() {
1114
+ for (const listener of this.listeners) listener();
1115
1115
  }
1116
1116
  };
1117
1117
  function locationKey(ns, path) {
@@ -1502,25 +1502,25 @@ window.__ModuleLoader__.load({
1502
1502
  document.head.appendChild(tag);
1503
1503
  }
1504
1504
  var schema_form_module_css_default = {
1505
- "compactInput": "N3kx7G_compactInput",
1506
- "compactTextField": "N3kx7G_compactTextField",
1505
+ "lineNumber": "N3kx7G_lineNumber",
1507
1506
  "lineFold": "N3kx7G_lineFold",
1508
- "editorRoot": "N3kx7G_editorRoot",
1509
- "lineKey": "N3kx7G_lineKey",
1510
- "valueTrigger": "N3kx7G_valueTrigger",
1511
- "lineFoldSpacer": "N3kx7G_lineFoldSpacer",
1512
1507
  "valueSlot": "N3kx7G_valueSlot",
1508
+ "lineKey": "N3kx7G_lineKey",
1513
1509
  "hoverActions": "N3kx7G_hoverActions",
1510
+ "lineBody": "N3kx7G_lineBody",
1511
+ "valueTrigger": "N3kx7G_valueTrigger",
1512
+ "editorRoot": "N3kx7G_editorRoot",
1514
1513
  "addWrap": "N3kx7G_addWrap",
1515
1514
  "lineRow": "N3kx7G_lineRow",
1516
- "lineNumber": "N3kx7G_lineNumber",
1517
- "lineToken": "N3kx7G_lineToken",
1518
- "lineBody": "N3kx7G_lineBody",
1519
- "lineInvalid": "N3kx7G_lineInvalid",
1520
- "lineComment": "N3kx7G_lineComment",
1521
- "hint": "N3kx7G_hint",
1515
+ "lineFoldSpacer": "N3kx7G_lineFoldSpacer",
1516
+ "compactTextField": "N3kx7G_compactTextField",
1522
1517
  "lineActions": "N3kx7G_lineActions",
1523
- "lineValue": "N3kx7G_lineValue"
1518
+ "hint": "N3kx7G_hint",
1519
+ "lineComment": "N3kx7G_lineComment",
1520
+ "lineToken": "N3kx7G_lineToken",
1521
+ "lineValue": "N3kx7G_lineValue",
1522
+ "compactInput": "N3kx7G_compactInput",
1523
+ "lineInvalid": "N3kx7G_lineInvalid"
1524
1524
  };
1525
1525
  //#endregion
1526
1526
  //#region ../../client/dsh-client-ui-primitives/src/client/schema-form/TruncatedTooltip.tsx
@@ -2396,11 +2396,11 @@ window.__ModuleLoader__.load({
2396
2396
  });
2397
2397
  }
2398
2398
  function install(ctx) {
2399
+ const hints = new SchemaFormHints(ctx.root);
2399
2400
  ctx.effect(() => ctx.locale.register(NS$1, {
2400
2401
  zh: zh$1,
2401
2402
  en: en$1
2402
2403
  }), "ui-schema-form: dictionaries");
2403
- const hints = new SchemaFormHints(ctx);
2404
2404
  ctx.effect(() => ctx.slots.registerFactory({
2405
2405
  name: "settings.schema-form.form",
2406
2406
  scope: "root",
@@ -2513,55 +2513,55 @@ window.__ModuleLoader__.load({
2513
2513
  document.head.appendChild(tag);
2514
2514
  }
2515
2515
  var layout_module_css_default = {
2516
- "justifyCenter": "_7Ar2dq_justifyCenter",
2517
- "gap16": "_7Ar2dq_gap16",
2518
- "mono": "_7Ar2dq_mono",
2519
- "alignStart": "_7Ar2dq_alignStart",
2520
- "padBody": "_7Ar2dq_padBody",
2516
+ "toneTertiary": "_7Ar2dq_toneTertiary",
2517
+ "scroll": "_7Ar2dq_scroll",
2518
+ "truncate": "_7Ar2dq_truncate",
2519
+ "fill": "_7Ar2dq_fill",
2521
2520
  "wrap": "_7Ar2dq_wrap",
2522
- "padRow": "_7Ar2dq_padRow",
2521
+ "gap2": "_7Ar2dq_gap2",
2522
+ "gap16": "_7Ar2dq_gap16",
2523
+ "sizeLg": "_7Ar2dq_sizeLg",
2524
+ "gap0": "_7Ar2dq_gap0",
2525
+ "fixed": "_7Ar2dq_fixed",
2526
+ "toneDanger": "_7Ar2dq_toneDanger",
2523
2527
  "alignCenter": "_7Ar2dq_alignCenter",
2524
- "padBlocking": "_7Ar2dq_padBlocking",
2525
- "sizeSm": "_7Ar2dq_sizeSm",
2526
- "toneTertiary": "_7Ar2dq_toneTertiary",
2527
- "push": "_7Ar2dq_push",
2528
- "plain": "_7Ar2dq_plain",
2529
- "gap4": "_7Ar2dq_gap4",
2530
- "grow": "_7Ar2dq_grow",
2531
- "text": "_7Ar2dq_text",
2532
2528
  "gap14": "_7Ar2dq_gap14",
2533
- "padPage": "_7Ar2dq_padPage",
2534
- "boxed": "_7Ar2dq_boxed",
2535
- "gap8": "_7Ar2dq_gap8",
2536
- "tonePrimary": "_7Ar2dq_tonePrimary",
2537
2529
  "justifyEnd": "_7Ar2dq_justifyEnd",
2538
- "truncate": "_7Ar2dq_truncate",
2539
- "alignEnd": "_7Ar2dq_alignEnd",
2530
+ "padRow": "_7Ar2dq_padRow",
2531
+ "boxed": "_7Ar2dq_boxed",
2532
+ "padPage": "_7Ar2dq_padPage",
2533
+ "wSearch": "_7Ar2dq_wSearch",
2534
+ "gap12": "_7Ar2dq_gap12",
2540
2535
  "padCard": "_7Ar2dq_padCard",
2541
- "weightMedium": "_7Ar2dq_weightMedium",
2542
- "strong": "_7Ar2dq_strong",
2543
- "gap2": "_7Ar2dq_gap2",
2544
- "toneDanger": "_7Ar2dq_toneDanger",
2545
- "tabular": "_7Ar2dq_tabular",
2536
+ "plain": "_7Ar2dq_plain",
2537
+ "text": "_7Ar2dq_text",
2546
2538
  "gapWide": "_7Ar2dq_gapWide",
2539
+ "narrow": "_7Ar2dq_narrow",
2547
2540
  "gap10": "_7Ar2dq_gap10",
2548
- "sizeMd": "_7Ar2dq_sizeMd",
2549
- "scroll": "_7Ar2dq_scroll",
2541
+ "gap4": "_7Ar2dq_gap4",
2542
+ "alignEnd": "_7Ar2dq_alignEnd",
2550
2543
  "row": "_7Ar2dq_row",
2551
- "narrow": "_7Ar2dq_narrow",
2552
- "wSearch": "_7Ar2dq_wSearch",
2553
- "gap12": "_7Ar2dq_gap12",
2554
- "padNone": "_7Ar2dq_padNone",
2544
+ "push": "_7Ar2dq_push",
2555
2545
  "stack": "_7Ar2dq_stack",
2546
+ "sizeXs": "_7Ar2dq_sizeXs",
2547
+ "sizeSm": "_7Ar2dq_sizeSm",
2548
+ "sizeBase": "_7Ar2dq_sizeBase",
2549
+ "mono": "_7Ar2dq_mono",
2556
2550
  "gap6": "_7Ar2dq_gap6",
2551
+ "sizeMd": "_7Ar2dq_sizeMd",
2552
+ "padNone": "_7Ar2dq_padNone",
2553
+ "tabular": "_7Ar2dq_tabular",
2554
+ "padBody": "_7Ar2dq_padBody",
2555
+ "alignStart": "_7Ar2dq_alignStart",
2556
+ "weightMedium": "_7Ar2dq_weightMedium",
2557
+ "padBlocking": "_7Ar2dq_padBlocking",
2558
+ "gap8": "_7Ar2dq_gap8",
2557
2559
  "justifyBetween": "_7Ar2dq_justifyBetween",
2558
- "sizeXs": "_7Ar2dq_sizeXs",
2559
- "fill": "_7Ar2dq_fill",
2560
+ "justifyCenter": "_7Ar2dq_justifyCenter",
2561
+ "tonePrimary": "_7Ar2dq_tonePrimary",
2560
2562
  "toneSecondary": "_7Ar2dq_toneSecondary",
2561
- "fixed": "_7Ar2dq_fixed",
2562
- "gap0": "_7Ar2dq_gap0",
2563
- "sizeBase": "_7Ar2dq_sizeBase",
2564
- "sizeLg": "_7Ar2dq_sizeLg"
2563
+ "grow": "_7Ar2dq_grow",
2564
+ "strong": "_7Ar2dq_strong"
2565
2565
  };
2566
2566
  //#endregion
2567
2567
  //#region ../../client/dsh-client-ui-primitives/src/client/layout/scales.ts
@@ -2644,15 +2644,15 @@ window.__ModuleLoader__.load({
2644
2644
  document.head.appendChild(tag);
2645
2645
  }
2646
2646
  var SettingsFieldRow_module_css_default = {
2647
- "inline": "Il1Dtq_inline",
2648
- "row": "Il1Dtq_row",
2649
2647
  "text": "Il1Dtq_text",
2648
+ "body": "Il1Dtq_body",
2649
+ "row": "Il1Dtq_row",
2650
2650
  "badge": "Il1Dtq_badge",
2651
+ "invalid": "Il1Dtq_invalid",
2651
2652
  "hint": "Il1Dtq_hint",
2652
- "body": "Il1Dtq_body",
2653
2653
  "reset": "Il1Dtq_reset",
2654
- "invalid": "Il1Dtq_invalid",
2655
- "label": "Il1Dtq_label"
2654
+ "label": "Il1Dtq_label",
2655
+ "inline": "Il1Dtq_inline"
2656
2656
  };
2657
2657
  //#endregion
2658
2658
  //#region ../../client/dsh-client-ui-primitives/src/client/settings-form/SettingsFieldRow.tsx
@@ -2768,8 +2768,8 @@ window.__ModuleLoader__.load({
2768
2768
  document.head.appendChild(tag);
2769
2769
  }
2770
2770
  var DisclosureRow_module_css_default = {
2771
- "contentLayout": "_2HN-kW_contentLayout",
2772
- "content": "_2HN-kW_content"
2771
+ "content": "_2HN-kW_content",
2772
+ "contentLayout": "_2HN-kW_contentLayout"
2773
2773
  };
2774
2774
  //#endregion
2775
2775
  //#region ../../client/dsh-client-ui-primitives/src/client/controls/DisclosureRow.tsx
@@ -2792,8 +2792,8 @@ window.__ModuleLoader__.load({
2792
2792
  document.head.appendChild(tag);
2793
2793
  }
2794
2794
  var SeatButton_module_css_default = {
2795
- "icon": "JqQ4qG_icon",
2796
2795
  "label": "JqQ4qG_label",
2796
+ "icon": "JqQ4qG_icon",
2797
2797
  "chevron": "JqQ4qG_chevron",
2798
2798
  "seat": "JqQ4qG_seat",
2799
2799
  "expanded": "JqQ4qG_expanded"
@@ -2833,8 +2833,8 @@ window.__ModuleLoader__.load({
2833
2833
  document.head.appendChild(tag);
2834
2834
  }
2835
2835
  var Spinner_module_css_default = {
2836
- "spin": "_1uNobG_spin",
2837
- "spinner": "_1uNobG_spinner"
2836
+ "spinner": "_1uNobG_spinner",
2837
+ "spin": "_1uNobG_spin"
2838
2838
  };
2839
2839
  //#endregion
2840
2840
  //#region ../../client/dsh-client-ui-primitives/src/client/controls/Spinner.tsx
@@ -2899,8 +2899,8 @@ window.__ModuleLoader__.load({
2899
2899
  document.head.appendChild(tag);
2900
2900
  }
2901
2901
  var IconButton_module_css_default = {
2902
- "sm": "AibFna_sm",
2903
2902
  "iconButton": "AibFna_iconButton",
2903
+ "sm": "AibFna_sm",
2904
2904
  "circle": "AibFna_circle"
2905
2905
  };
2906
2906
  //#endregion
@@ -2927,16 +2927,16 @@ window.__ModuleLoader__.load({
2927
2927
  document.head.appendChild(tag);
2928
2928
  }
2929
2929
  var ModelRouteList_module_css_default = {
2930
- "error": "_1vK46q_error",
2931
- "picked": "_1vK46q_picked",
2930
+ "id": "_1vK46q_id",
2932
2931
  "list": "_1vK46q_list",
2933
- "name": "_1vK46q_name",
2934
- "item": "_1vK46q_item",
2935
- "provider": "_1vK46q_provider",
2936
2932
  "text": "_1vK46q_text",
2937
- "id": "_1vK46q_id",
2933
+ "item": "_1vK46q_item",
2934
+ "picked": "_1vK46q_picked",
2938
2935
  "group": "_1vK46q_group",
2939
- "notice": "_1vK46q_notice"
2936
+ "notice": "_1vK46q_notice",
2937
+ "name": "_1vK46q_name",
2938
+ "error": "_1vK46q_error",
2939
+ "provider": "_1vK46q_provider"
2940
2940
  };
2941
2941
  //#endregion
2942
2942
  //#region ../../client/dsh-client-ui-primitives/src/client/controls/ModelRouteList.tsx
@@ -3043,10 +3043,10 @@ window.__ModuleLoader__.load({
3043
3043
  document.head.appendChild(tag);
3044
3044
  }
3045
3045
  var SearchSelect_module_css_default = {
3046
- "empty": "kEYv4q_empty",
3046
+ "searchRow": "kEYv4q_searchRow",
3047
3047
  "trigger": "kEYv4q_trigger",
3048
3048
  "searchInput": "kEYv4q_searchInput",
3049
- "searchRow": "kEYv4q_searchRow"
3049
+ "empty": "kEYv4q_empty"
3050
3050
  };
3051
3051
  //#endregion
3052
3052
  //#region ../../client/dsh-client-ui-primitives/src/client/controls/SearchSelect.tsx
@@ -3159,13 +3159,13 @@ window.__ModuleLoader__.load({
3159
3159
  document.head.appendChild(tag);
3160
3160
  }
3161
3161
  var TagInput_module_css_default = {
3162
- "chip": "Qg7I9G_chip",
3163
3162
  "row": "Qg7I9G_row",
3164
- "anchor": "Qg7I9G_anchor",
3163
+ "chip": "Qg7I9G_chip",
3165
3164
  "chipRemove": "Qg7I9G_chipRemove",
3165
+ "input": "Qg7I9G_input",
3166
+ "anchor": "Qg7I9G_anchor",
3166
3167
  "empty": "Qg7I9G_empty",
3167
- "box": "Qg7I9G_box",
3168
- "input": "Qg7I9G_input"
3168
+ "box": "Qg7I9G_box"
3169
3169
  };
3170
3170
  //#endregion
3171
3171
  //#region ../../client/dsh-client-ui-primitives/src/client/controls/TagInput.tsx
package/dist/rows.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/mode-sources.ts
3
- const CODING_PERSONA = { prefix: ["你是一个经验丰富的编程专家,YAGNI 是你的编程哲学,PDCA 是你的行为规范。", "全程用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考不要陷入重复循环,一旦循环立即退出;思考聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。"].join("\n") };
3
+ const CODING_PERSONA = { prefix: ["你是一个经验丰富的编程专家,YAGNI 是你的编程哲学,PDCA 是你的行为规范。", "全程 MUST 用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考 NEVER 陷入重复循环,一旦循环立即退出;思考 SHOULD 聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。"].join("\n") };
4
4
  const CHAT_PERSONA = { prefix: "你是一个助手。全程用中文(专有名词除外),包括但不限于思考,回答,工具描述;思考不要陷入重复循环,一旦循环立即退出。" };
5
5
  const NOOP_MODE_ID = "noop";
6
6
  const DEFAULT_MODE = "coding";
package/dist/rows.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/mode-sources.ts
2
- const CODING_PERSONA = { prefix: ["你是一个经验丰富的编程专家,YAGNI 是你的编程哲学,PDCA 是你的行为规范。", "全程用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考不要陷入重复循环,一旦循环立即退出;思考聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。"].join("\n") };
2
+ const CODING_PERSONA = { prefix: ["你是一个经验丰富的编程专家,YAGNI 是你的编程哲学,PDCA 是你的行为规范。", "全程 MUST 用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考 NEVER 陷入重复循环,一旦循环立即退出;思考 SHOULD 聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。"].join("\n") };
3
3
  const CHAT_PERSONA = { prefix: "你是一个助手。全程用中文(专有名词除外),包括但不限于思考,回答,工具描述;思考不要陷入重复循环,一旦循环立即退出。" };
4
4
  const NOOP_MODE_ID = "noop";
5
5
  const DEFAULT_MODE = "coding";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morlay/dsh-session-mode",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Session modes for dsh: coding / chat as data — a mode is a persona plus its tool lists, its upstream policy lists, its instruction / skill-catalog / runtime-context switches and an optional default model. The host applies the current mode to each session, and the chip in the composer sits beside the official agent-preset entry, which stays.",
5
5
  "keywords": [
6
6
  "dsh",
@@ -43,7 +43,7 @@
43
43
  "./locale/*.json": "./locale/*.json"
44
44
  },
45
45
  "dependencies": {
46
- "@morlay/dsh-client-ui-primitives": "0.0.11",
46
+ "@morlay/dsh-client-ui-primitives": "0.0.13",
47
47
  "zod": "4.4.3"
48
48
  },
49
49
  "devDependencies": {
@@ -106,9 +106,12 @@
106
106
  "@deepseek-ai/dsh-tools": "^0.2.1-rc.1",
107
107
  "@deepseek-ai/dsh-typert-protocol": "^0.2.1-rc.1",
108
108
  "@deepseek-ai/schemastery": "^3.18.5",
109
- "@morlay/dsh-context-assembler": "0.0.8",
109
+ "@morlay/dsh-context-assembler": "0.0.10",
110
110
  "react": "^18.2.0"
111
111
  },
112
+ "engines": {
113
+ "dsh": ">= 0.2.1-rc.1 < 0.2.2"
114
+ },
112
115
  "dsh": {
113
116
  "client": {
114
117
  "platform": "web",
@@ -120,9 +123,6 @@
120
123
  ]
121
124
  }
122
125
  },
123
- "engines": {
124
- "dsh": ">= 0.2.1-rc.1 < 0.2.2"
125
- },
126
126
  "scripts": {
127
127
  "build": "pnpm exec tsdown"
128
128
  }
@@ -80,7 +80,7 @@ function unwrapHintService(scope: Context): HintsService {
80
80
 
81
81
  // 装上会话里的那一个面、本行配置页的字段文案,以及装本行的 bundle 那一页的表单。
82
82
  export function apply(ctx: Context): void {
83
- // 基础面随本包 inline(不再是装配行):装上它提供的字典、字段槽与按行配置页;多份副本只装一次。
83
+ // 基础面(内联库)由 `@morlay/dsh-client-modules` 的 client 行统一装配;这里只注册本行的字段文案。
84
84
  const t = ctx.locale.bind(NS);
85
85
  ctx.effect(() => ctx.locale.register(NS, { zh, en }), "session-mode: dictionaries");
86
86
 
@@ -52,7 +52,7 @@ export interface ModeModelSource {
52
52
  const CODING_PERSONA = {
53
53
  prefix: [
54
54
  "你是一个经验丰富的编程专家,YAGNI 是你的编程哲学,PDCA 是你的行为规范。",
55
- "全程用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考不要陷入重复循环,一旦循环立即退出;思考聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。",
55
+ "全程 MUST 用中文(专有名词除外),包括但不限于思考,回答,工具描述,subagent 提示词;思考 NEVER 陷入重复循环,一旦循环立即退出;思考 SHOULD 聚焦需求理解与方案设计,不预演具体代码实现,正确性由验证环节确认。",
56
56
  ].join("\n"),
57
57
  };
58
58