@deepseek-ai/dsh-client-ui-settings-general 0.0.1-rc.2 → 0.0.1-rc.3

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.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/client/ui-settings-general/README.md
5
- README.md: 0cdffdfaad20784535a7ed010ad4b71d63a0a2c1
6
- README.zh.md: 0b72b3db96b335f0c288758b3f7a8b56441ee88c
5
+ README.md: d02230d281482d03545a7dd9bb06fd5f1085d017
6
+ README.zh.md: 9e2011902227c8d656f57813d4ecec92147d0f6f
package/README.md CHANGED
@@ -8,7 +8,7 @@ The shell ships no copy of its own — all text arrives from registrants. Nav la
8
8
 
9
9
  A loopback browser loads the provider's `hasDocument` capability through `settings.describe` and renders **Open configuration file** only when the Host confirms that a provider-owned local document can be prepared. The action sends the pathless, loopback-only `settings.openDocument` request; the Host resolves the provider path again, materializes an absent document, and hands it to a native text editor (`open -t` on macOS, bypassing a browser file association; the desktop file association on Linux and Windows; Windows association after `wslpath -w` translation on WSL). Open failures keep the action available and render a localized error. Reopening the dialog or reconnecting refreshes availability after a transient read failure or Host topology change. Remote browsers never register the action and never issue the privileged settings read.
10
10
 
11
- `src/onboarding-copy.ts` is the single editable owner of the complete notice plus `WELCOME_NOTICE_VERSION`; both supported GUI locales intentionally render the same Chinese copy. The Host half registers `ui-onboarding` in the user-settings seam. A loopback browser compares `welcomeNoticeVersion` for exact equality and writes the current value only after Continue succeeds. The path mutation is idempotent across tabs and preserves sibling settings, while the forwarded `settings/document-updated` event makes an externally acknowledged notice advance without a reload. A non-loopback browser cannot access the privileged settings API: it still presents the notice, but Continue advances only the current browser process and a reload presents the notice again. A different version deliberately presents the notice again. The welcome page preserves every authored paragraph, gives the requested clause in the final paragraph the sole emphasis, initially focuses the title, and has no close, Escape, mask-click, or secondary path. None of its copy or acknowledgement enters a Session log or model request. The notice identifies `DSH_TELEMETRY_DISABLED=1` as the telemetry opt-out.
11
+ `src/onboarding-copy.ts` is the single editable owner of the complete notice plus `WELCOME_NOTICE_VERSION`; both supported GUI locales intentionally render the same Chinese copy. The Host half registers `ui-onboarding` in the user-settings seam. A loopback browser compares `welcomeNoticeVersion` for exact equality and writes the current value only after Continue succeeds. The path mutation is idempotent across tabs and preserves sibling settings, while `host/settings-changed` makes an externally acknowledged notice advance without a reload. A non-loopback browser cannot access the privileged settings API: it still presents the notice, but Continue advances only the current browser process and a reload presents the notice again. A different version deliberately presents the notice again. The welcome page preserves every authored paragraph, gives the requested clause in the final paragraph the sole emphasis, initially focuses the title, and has no close, Escape, mask-click, or secondary path. None of its copy or acknowledgement enters a Session log or model request. The notice states that session telemetry is disabled by default, names the `FEEDBACK_ONLY` and `FULL` opt-in modes, and discloses that `FULL` also enables dsh-sdk command telemetry.
12
12
 
13
13
  ## Model Experience
14
14
 
package/README.zh.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  回环浏览器通过 `settings.describe` 加载提供方的 `hasDocument` 能力,且只有在 Host 确认可准备好一份由提供方持有的本地文档时才渲染**打开配置文件**。该操作发送无路径参数且仅限回环访问的 `settings.openDocument` 请求;Host 会再次解析提供方路径、在文档缺失时将其创建出来,并交给原生文本编辑器(macOS 上使用 `open -t`,绕过浏览器文件关联;Linux 和 Windows 上使用桌面文件关联;WSL 上经 `wslpath -w` 转换后使用 Windows 文件关联)。打开失败时该操作仍可使用,并渲染本地化错误。临时读取失败或 Host 拓扑变化后,重新打开对话框或重新连接会刷新可用性。远程浏览器从不注册该操作,也从不发起这项特权设置读取。
10
10
 
11
- `src/onboarding-copy.ts` 是完整通知文案和 `WELCOME_NOTICE_VERSION` 的唯一可编辑来源;GUI 支持的两种 locale 都有意渲染同一份中文文案。宿主端在用户设置 seam 中注册 `ui-onboarding`。回环浏览器会比较 `welcomeNoticeVersion` 是否精确相等,仅在「继续」操作成功后写入当前值。该路径变更在不同标签页间幂等,并会保留同级设置;转发的 `settings/document-updated` 事件则让页面在通知被外部确认后,无需重新加载即可推进。非回环浏览器不能访问受保护的设置 API:它仍会显示通知,但「继续」只推进当前浏览器进程,重新加载后会再次显示通知。版本不同时,系统也会有意重新显示通知。欢迎页保留原文的每个段落,仅强调最后一段中指定的句段,初始焦点落在标题上,并且没有关闭操作、Escape、点击遮罩或次要操作路径。其文案和确认状态均不会进入会话日志或模型请求。通知明确以 `DSH_TELEMETRY_DISABLED=1` 作为遥测关闭方式。
11
+ `src/onboarding-copy.ts` 是完整通知文案和 `WELCOME_NOTICE_VERSION` 的唯一可编辑来源;GUI 支持的两种 locale 都有意渲染同一份中文文案。宿主端在用户设置 seam 中注册 `ui-onboarding`。回环浏览器会比较 `welcomeNoticeVersion` 是否精确相等,仅在「继续」操作成功后写入当前值。该路径变更在不同标签页间幂等,并会保留同级设置;`host/settings-changed` 则让页面在通知被外部确认后,无需重新加载即可推进。非回环浏览器不能访问受保护的设置 API:它仍会显示通知,但「继续」只推进当前浏览器进程,重新加载后会再次显示通知。版本不同时,系统也会有意重新显示通知。欢迎页保留原文的每个段落,仅强调最后一段中指定的句段,初始焦点落在标题上,并且没有关闭操作、Escape、点击遮罩或次要操作路径。其文案和确认状态均不会进入会话日志或模型请求。通知说明会话遥测默认禁用,列出 `FEEDBACK_ONLY` 和 `FULL` 两种显式启用模式,并披露 `FULL` 同时会启用 dsh-sdk 命令遥测。
12
12
 
13
13
  ## 模型体验
14
14
 
package/lib/client.js CHANGED
@@ -26,7 +26,7 @@ window.__ModuleLoader__.load({
26
26
  }
27
27
  //#endregion
28
28
  //#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-settings-general/src/client/SettingsRoot.module.css.mjs
29
- const css$4 = ".VOzbGW_trigger{cursor:pointer;width:100%;height:49px;color:var(--dsw-alias-label-primary);background:0 0;border:none;border-radius:12px;flex:none;align-items:center;gap:8px;margin:8px 0 0;padding:0 2px 0 6px;font-family:inherit;font-size:14px;display:flex;overflow:hidden}.VOzbGW_trigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.VOzbGW_trigger.VOzbGW_rail{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;margin:18px 0 10px;padding:0}.VOzbGW_triggerLabel{white-space:nowrap;overflow:hidden}.VOzbGW_overlay{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.VOzbGW_mask{background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);position:absolute;inset:0}.VOzbGW_panel{z-index:1;background:var(--dsw-alias-bg-layer-2);width:800px;max-width:calc(100vw - 48px);height:min(800px,100vh - 48px);box-shadow:var(--dsw-shadow-lv3);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:24px;display:flex;position:relative;overflow:hidden}.VOzbGW_nav{box-sizing:border-box;flex-direction:column;flex:none;gap:18px;width:188px;padding:22px 12px 0;display:flex}.VOzbGW_navTitle{color:var(--dsw-alias-label-primary);padding:0 12px;font-size:16px;font-weight:500;line-height:24px}.VOzbGW_navList{flex-direction:column;gap:4px;display:flex}.VOzbGW_navCell{box-sizing:border-box;cursor:pointer;height:40px;color:var(--dsw-alias-label-primary);text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:9px 16px 9px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:22px;display:flex}.VOzbGW_navCell:hover{background:var(--dsw-specific-sidebar-nav-item-hover)}.VOzbGW_navCell.VOzbGW_active{background:var(--dsw-specific-sidebar-nav-item-active)}.VOzbGW_navIcon{flex:none}.VOzbGW_navLabel{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.VOzbGW_content{flex-direction:column;flex:1;min-width:0;display:flex}.VOzbGW_header{box-sizing:border-box;flex:none;justify-content:space-between;align-items:flex-start;gap:8px;height:54px;padding:20px 14px 8px 10px;display:flex}.VOzbGW_actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.VOzbGW_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-primary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.VOzbGW_close:hover{background:var(--dsw-alias-interactive-bg-hover)}.VOzbGW_options{flex:1;min-height:0;padding:0 24px 24px;overflow-y:auto}.VOzbGW_hiddenLabel{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
29
+ const css$4 = ".VOzbGW_trigger{box-sizing:border-box;cursor:pointer;width:calc(100% + 8px);height:34px;color:var(--dsw-alias-label-primary);background:0 0;border:none;border-radius:12px;flex:none;align-items:center;gap:8px;margin:4px -4px;padding:6px 2px 6px 10px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}.VOzbGW_trigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.VOzbGW_trigger.VOzbGW_rail{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;margin:8px 0 10px;padding:0}.VOzbGW_triggerLabel{white-space:nowrap;overflow:hidden}.VOzbGW_overlay{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.VOzbGW_mask{background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);position:absolute;inset:0}.VOzbGW_panel{z-index:1;background:var(--dsw-alias-bg-layer-2);width:800px;max-width:calc(100vw - 48px);height:min(800px,100vh - 48px);box-shadow:var(--dsw-shadow-lv3);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:24px;display:flex;position:relative;overflow:hidden}.VOzbGW_nav{box-sizing:border-box;flex-direction:column;flex:none;gap:18px;width:188px;padding:22px 12px 0;display:flex}.VOzbGW_navTitle{color:var(--dsw-alias-label-primary);padding:0 12px;font-size:16px;font-weight:500;line-height:24px}.VOzbGW_navList{flex-direction:column;gap:4px;display:flex}.VOzbGW_navCell{box-sizing:border-box;cursor:pointer;height:40px;color:var(--dsw-alias-label-primary);text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:9px 16px 9px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:22px;display:flex}.VOzbGW_navCell:hover{background:var(--dsw-specific-sidebar-nav-item-hover)}.VOzbGW_navCell.VOzbGW_active{background:var(--dsw-specific-sidebar-nav-item-active)}.VOzbGW_navIcon{flex:none}.VOzbGW_navLabel{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.VOzbGW_content{flex-direction:column;flex:1;min-width:0;display:flex}.VOzbGW_header{box-sizing:border-box;flex:none;justify-content:space-between;align-items:flex-start;gap:8px;height:54px;padding:20px 14px 8px 10px;display:flex}.VOzbGW_actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.VOzbGW_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-primary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.VOzbGW_close:hover{background:var(--dsw-alias-interactive-bg-hover)}.VOzbGW_options{flex:1;min-height:0;padding:0 24px 24px;overflow-y:auto}.VOzbGW_hiddenLabel{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
30
30
  const tagId$4 = "@deepseek-ai/dsh-client-ui-settings-general/SettingsRoot.module.css";
31
31
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
32
32
  const tag = document.createElement("style");
@@ -36,25 +36,25 @@ window.__ModuleLoader__.load({
36
36
  document.head.appendChild(tag);
37
37
  }
38
38
  var SettingsRoot_module_css_default = {
39
- "triggerLabel": "VOzbGW_triggerLabel",
40
39
  "panel": "VOzbGW_panel",
41
- "trigger": "VOzbGW_trigger",
42
- "overlay": "VOzbGW_overlay",
43
40
  "navTitle": "VOzbGW_navTitle",
44
- "close": "VOzbGW_close",
45
- "hiddenLabel": "VOzbGW_hiddenLabel",
46
- "nav": "VOzbGW_nav",
41
+ "navLabel": "VOzbGW_navLabel",
42
+ "trigger": "VOzbGW_trigger",
43
+ "options": "VOzbGW_options",
47
44
  "rail": "VOzbGW_rail",
48
- "mask": "VOzbGW_mask",
45
+ "navList": "VOzbGW_navList",
46
+ "content": "VOzbGW_content",
49
47
  "actions": "VOzbGW_actions",
50
48
  "active": "VOzbGW_active",
51
- "navList": "VOzbGW_navList",
52
- "options": "VOzbGW_options",
49
+ "triggerLabel": "VOzbGW_triggerLabel",
50
+ "hiddenLabel": "VOzbGW_hiddenLabel",
53
51
  "navIcon": "VOzbGW_navIcon",
54
- "header": "VOzbGW_header",
55
- "content": "VOzbGW_content",
52
+ "nav": "VOzbGW_nav",
56
53
  "navCell": "VOzbGW_navCell",
57
- "navLabel": "VOzbGW_navLabel"
54
+ "close": "VOzbGW_close",
55
+ "mask": "VOzbGW_mask",
56
+ "overlay": "VOzbGW_overlay",
57
+ "header": "VOzbGW_header"
58
58
  };
59
59
  //#endregion
60
60
  //#region lib/types/client/SettingsRoot.js
@@ -277,7 +277,7 @@ window.__ModuleLoader__.load({
277
277
  }
278
278
  //#endregion
279
279
  //#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-settings-general/src/client/GeneralSection.module.css.mjs
280
- const css$2 = "._WvWnq_section{flex-direction:column;width:100%;display:flex}._WvWnq_section>:last-child{border-bottom:none}";
280
+ const css$2 = "._WvWnq_section{flex-direction:column;width:100%;display:flex}._WvWnq_section>[data-slot=\"settings.general.item\"]>:last-child{border-bottom:none}";
281
281
  const tagId$2 = "@deepseek-ai/dsh-client-ui-settings-general/GeneralSection.module.css";
282
282
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
283
283
  const tag = document.createElement("style");
@@ -445,16 +445,16 @@ window.__ModuleLoader__.load({
445
445
  document.head.appendChild(tag);
446
446
  }
447
447
  var WelcomeNotice_module_css_default = {
448
+ "primary": "k2cPoG_primary",
449
+ "footer": "k2cPoG_footer",
450
+ "opening": "k2cPoG_opening",
451
+ "page": "k2cPoG_page",
452
+ "brand": "k2cPoG_brand",
448
453
  "error": "k2cPoG_error",
449
- "title": "k2cPoG_title",
450
454
  "feedback": "k2cPoG_feedback",
455
+ "title": "k2cPoG_title",
451
456
  "reflection": "k2cPoG_reflection",
452
- "page": "k2cPoG_page",
453
- "footer": "k2cPoG_footer",
454
- "primary": "k2cPoG_primary",
455
- "welcome-enter": "k2cPoG_welcome-enter",
456
- "opening": "k2cPoG_opening",
457
- "brand": "k2cPoG_brand"
457
+ "welcome-enter": "k2cPoG_welcome-enter"
458
458
  };
459
459
  //#endregion
460
460
  //#region lib/types/client/WelcomeNotice.js
@@ -552,7 +552,7 @@ window.__ModuleLoader__.load({
552
552
  * Bump only when the notice changes materially and every user should see it
553
553
  * again. The acknowledgement is compared for exact equality.
554
554
  */
555
- const WELCOME_NOTICE_VERSION = "2026-07-30.7";
555
+ const WELCOME_NOTICE_VERSION = "2026-08-11.1";
556
556
  /** The complete editable welcome notice in both supported GUI locales. */
557
557
  const WELCOME_NOTICE_COPY = {
558
558
  zh: {
@@ -560,7 +560,7 @@ window.__ModuleLoader__.load({
560
560
  paragraphs: [
561
561
  "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。",
562
562
  "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。",
563
- "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
563
+ "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
564
564
  ],
565
565
  feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们",
566
566
  continueLabel: "继续"
@@ -570,7 +570,7 @@ window.__ModuleLoader__.load({
570
570
  paragraphs: [
571
571
  "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。",
572
572
  "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。",
573
- "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
573
+ "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
574
574
  ],
575
575
  feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们",
576
576
  continueLabel: "继续"
package/lib/index.js CHANGED
@@ -9,7 +9,7 @@ const WELCOME_NOTICE_ACK_FIELD = "welcomeNoticeVersion";
9
9
  * Bump only when the notice changes materially and every user should see it
10
10
  * again. The acknowledgement is compared for exact equality.
11
11
  */
12
- const WELCOME_NOTICE_VERSION = "2026-07-30.7";
12
+ const WELCOME_NOTICE_VERSION = "2026-08-11.1";
13
13
  /** The complete editable welcome notice in both supported GUI locales. */
14
14
  const WELCOME_NOTICE_COPY = {
15
15
  zh: {
@@ -17,7 +17,7 @@ const WELCOME_NOTICE_COPY = {
17
17
  paragraphs: [
18
18
  "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。",
19
19
  "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。",
20
- "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
20
+ "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
21
21
  ],
22
22
  feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们",
23
23
  continueLabel: "继续"
@@ -27,7 +27,7 @@ const WELCOME_NOTICE_COPY = {
27
27
  paragraphs: [
28
28
  "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。",
29
29
  "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。",
30
- "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
30
+ "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"
31
31
  ],
32
32
  feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们",
33
33
  continueLabel: "继续"
@@ -9,7 +9,7 @@ export declare const zh: {
9
9
  'welcome.title': "内测声明";
10
10
  'welcome.paragraph.0': "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。";
11
11
  'welcome.paragraph.1': "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。";
12
- 'welcome.paragraph.2': "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。";
12
+ 'welcome.paragraph.2': "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。";
13
13
  'welcome.feedbackEmphasis': "如果您有任何反馈与建议,请在企业微信群中留言告诉我们";
14
14
  'welcome.continue': "继续";
15
15
  'welcome.error': string;
@@ -27,7 +27,7 @@ export declare const en: {
27
27
  'welcome.title': "内测声明";
28
28
  'welcome.paragraph.0': "感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。";
29
29
  'welcome.paragraph.1': "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。";
30
- 'welcome.paragraph.2': "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。";
30
+ 'welcome.paragraph.2': "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。";
31
31
  'welcome.feedbackEmphasis': "如果您有任何反馈与建议,请在企业微信群中留言告诉我们";
32
32
  'welcome.continue': "继续";
33
33
  'welcome.error': string;
@@ -1,5 +1,5 @@
1
1
  /** State owner for the optional local settings-document action. */
2
- import type { IApiClient } from '@deepseek-ai/dsh-client-connection/client';
2
+ import type { IApiClient } from '@deepseek-ai/dsh-api-remotes/client';
3
3
  import { type SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
4
4
  /** Browser state of the Host-owned settings document. */
5
5
  export interface SettingsDocumentState {
@@ -1,5 +1,5 @@
1
1
  /** Welcome-notice state, durable when the browser may use Host settings. */
2
- import type { IApiClient } from '@deepseek-ai/dsh-client-connection/client';
2
+ import type { IApiClient } from '@deepseek-ai/dsh-api-remotes/client';
3
3
  import type { SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
4
4
  /** State rendered by the welcome step. */
5
5
  export interface WelcomeNoticeState {
@@ -6,18 +6,18 @@ export declare const WELCOME_NOTICE_ACK_FIELD = "welcomeNoticeVersion";
6
6
  * Bump only when the notice changes materially and every user should see it
7
7
  * again. The acknowledgement is compared for exact equality.
8
8
  */
9
- export declare const WELCOME_NOTICE_VERSION = "2026-07-30.7";
9
+ export declare const WELCOME_NOTICE_VERSION = "2026-08-11.1";
10
10
  /** The complete editable welcome notice in both supported GUI locales. */
11
11
  export declare const WELCOME_NOTICE_COPY: {
12
12
  readonly zh: {
13
13
  readonly title: "内测声明";
14
- readonly paragraphs: readonly ["感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。", "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。", "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"];
14
+ readonly paragraphs: readonly ["感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。", "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。", "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"];
15
15
  readonly feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们";
16
16
  readonly continueLabel: "继续";
17
17
  };
18
18
  readonly en: {
19
19
  readonly title: "内测声明";
20
- readonly paragraphs: readonly ["感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。", "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。", "为了帮助我们更准确地还原您真实使用中的问题,内测版本默认会上传所有 Session Log;如需关闭,可以设置环境变量 DSH_TELEMETRY_DISABLED=1。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"];
20
+ readonly paragraphs: readonly ["感谢您愿意拨冗试用 DeepSeek Harness。当前版本仍处于内部测试阶段,功能仍待完善,体验难免有些粗糙。", "“如切如磋,如琢如磨。” 产品的成长,离不开一次次真实的碰撞与坦诚的反馈。您在真实使用中发现的问题,也可能促使我们重新审视,甚至推翻已有的设计。", "内测版本默认不会上传 Session Log。如需在提交反馈时共享会话日志,可以设置环境变量 DSH_TELEMETRY_MODE=FEEDBACK_ONLY;如需持续上传,可以设置 DSH_TELEMETRY_MODE=FULL,但该模式同时会启用 dsh-sdk 命令遥测,上报匿名 ID、命令结果以及脱敏后的项目配置。另外,如果您有任何反馈与建议,请在企业微信群中留言告诉我们。每一条反馈,都会帮助我们把它打磨得更好。"];
21
21
  readonly feedbackEmphasis: "如果您有任何反馈与建议,请在企业微信群中留言告诉我们";
22
22
  readonly continueLabel: "继续";
23
23
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-client-ui-settings-general",
3
3
  "description": "Settings ownerless-copy and product onboarding plugin: the General section, shell trigger/header chrome content, settings dictionaries, and the versioned welcome notice",
4
- "version": "0.0.1-rc.2",
4
+ "version": "0.0.1-rc.3",
5
5
  "publishConfig": {
6
6
  "access": "restricted"
7
7
  },
@@ -45,37 +45,37 @@
45
45
  "license": "BSD-3-Clause",
46
46
  "dependencies": {
47
47
  "clsx": "^2.0.0",
48
- "@deepseek-ai/dsh-settings": "^0.0.1-rc.2",
48
+ "@deepseek-ai/dsh-settings": "^0.0.1-rc.3",
49
49
  "@deepseek-ai/schemastery": "^3.18.1-rc.1"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": "^18.2.0",
53
- "@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.2",
54
- "@deepseek-ai/dsh-client-connection": "^0.0.1-rc.2",
55
- "@deepseek-ai/dsh-client-locale": "^0.0.1-rc.2",
56
- "@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.2",
57
- "@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.2",
58
- "@deepseek-ai/dsh-client-ui-settings": "^0.0.1-rc.2",
59
- "@deepseek-ai/dsh-client-ui-sidebar": "^0.0.1-rc.2",
60
- "@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.2",
61
- "@deepseek-ai/dsh-client-web-react": "^0.0.1-rc.2",
62
- "@deepseek-ai/dsh-invariants": "^0.0.1-rc.2",
53
+ "@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.3",
54
+ "@deepseek-ai/dsh-client-connection": "^0.0.1-rc.3",
55
+ "@deepseek-ai/dsh-client-locale": "^0.0.1-rc.3",
56
+ "@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.3",
57
+ "@deepseek-ai/dsh-client-ui-settings": "^0.0.1-rc.3",
58
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.3",
59
+ "@deepseek-ai/dsh-client-ui-sidebar": "^0.0.1-rc.3",
60
+ "@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.3",
61
+ "@deepseek-ai/dsh-client-web-react": "^0.0.1-rc.3",
62
+ "@deepseek-ai/dsh-invariants": "^0.0.1-rc.3",
63
63
  "@deepseek-ai/cordis": "^4.0.1-rc.1"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@types/react": "~18.3.1",
67
67
  "react": "^18.2.0",
68
- "@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.2",
69
- "@deepseek-ai/dsh-client-connection": "^0.0.1-rc.2",
70
- "@deepseek-ai/dsh-client-locale": "^0.0.1-rc.2",
71
- "@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.2",
72
- "@deepseek-ai/dsh-client-test-runtime": "^0.0.1-rc.2",
73
- "@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.2",
74
- "@deepseek-ai/dsh-client-ui-settings": "^0.0.1-rc.2",
75
- "@deepseek-ai/dsh-client-ui-sidebar": "^0.0.1-rc.2",
76
- "@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.2",
77
- "@deepseek-ai/dsh-client-web-react": "^0.0.1-rc.2",
78
- "@deepseek-ai/dsh-invariants": "^0.0.1-rc.2",
68
+ "@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.3",
69
+ "@deepseek-ai/dsh-client-connection": "^0.0.1-rc.3",
70
+ "@deepseek-ai/dsh-client-locale": "^0.0.1-rc.3",
71
+ "@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.3",
72
+ "@deepseek-ai/dsh-client-test-runtime": "^0.0.1-rc.3",
73
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.3",
74
+ "@deepseek-ai/dsh-client-ui-settings": "^0.0.1-rc.3",
75
+ "@deepseek-ai/dsh-client-ui-sidebar": "^0.0.1-rc.3",
76
+ "@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.3",
77
+ "@deepseek-ai/dsh-client-web-react": "^0.0.1-rc.3",
78
+ "@deepseek-ai/dsh-invariants": "^0.0.1-rc.3",
79
79
  "@deepseek-ai/cordis": "^4.0.1-rc.1"
80
80
  },
81
81
  "files": [