@michengai/dsh-automation 0.1.34 → 0.1.35
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/CHANGELOG.md +5 -1
- package/CHANGELOG.zh-CN.md +5 -1
- package/README.md +48 -36
- package/README.zh-CN.md +48 -36
- package/lib/client.js +8 -11
- package/lib/client.js.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
The five most recent published versions are listed below. Git tags and GitHub Releases now mirror these entries; historical sections retain links to their original release commits.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 0.1.35 - 2026-09-09
|
|
8
|
+
|
|
9
|
+
- Adjust model menu sizing and hint containers, and simplify model rows.
|
|
10
|
+
|
|
11
|
+
- Unified settings headings, descriptions, and action layouts; maintenance controls no longer squeeze titles or versions. The layout adapts to native DSH settings without Codex UI.
|
|
8
12
|
|
|
9
13
|
## 0.1.34 - 2026-09-07
|
|
10
14
|
|
package/CHANGELOG.zh-CN.md
CHANGED
package/README.md
CHANGED
|
@@ -21,14 +21,13 @@
|
|
|
21
21
|
|
|
22
22
|
## Features
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- Keep
|
|
31
|
-
- Add a sidebar **Scheduled** tab. Folders are task names and child sessions are run times. On stock DSH it wraps the official workspace tree and does not depend on `dsh-codex-ui`.
|
|
24
|
+
Let DSH handle work on a schedule. Set up tasks in Settings or describe the timing and requirements in a conversation, then review each run.
|
|
25
|
+
|
|
26
|
+
- **Run once or repeat**: choose intervals, hourly, daily, weekly, monthly, or every N days.
|
|
27
|
+
- **Choose the working environment**: set the directory, model, skills, and permissions.
|
|
28
|
+
- **Adjust the schedule anytime**: create, pause, resume, run immediately, or delete tasks.
|
|
29
|
+
- **Review results**: browse task conversations by name and run time in the **Scheduled** tab, or filter run history in Settings.
|
|
30
|
+
- **Keep each run independent**: each run uses the saved task instructions and does not inherit the conversation that created it.
|
|
32
31
|
|
|
33
32
|
## Interface
|
|
34
33
|
|
|
@@ -40,7 +39,7 @@ Open **Settings → Scheduled Tasks** to search, create, pause, and inspect rule
|
|
|
40
39
|
|
|
41
40
|

|
|
42
41
|
|
|
43
|
-
Describe the job in chat.
|
|
42
|
+
Describe the job in chat. DSH handles approval according to the selected permission mode:
|
|
44
43
|
|
|
45
44
|

|
|
46
45
|
|
|
@@ -56,13 +55,18 @@ Run history stays in Settings and can be filtered by day, week, month, task, or
|
|
|
56
55
|
|
|
57
56
|
## DSH product ecosystem
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
For a ready-to-use workbench, download [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases). If you already use [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), install any of these eight plugins individually. The desktop app includes all eight.
|
|
60
59
|
|
|
61
|
-
|
|
|
60
|
+
| Plugin | What you can do |
|
|
62
61
|
| --- | --- |
|
|
63
|
-
| [
|
|
64
|
-
| [
|
|
65
|
-
|
|
|
62
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organize projects and conversations, search tasks, and navigate chat turns |
|
|
63
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Send tasks and receive replies through your usual messenger |
|
|
64
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Schedule tasks and review each run |
|
|
65
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Find, enable, create, and import local skills |
|
|
66
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Search, restore, or clean up archived conversations |
|
|
67
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Choose and summon specialists for your task |
|
|
68
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Ask side questions without interrupting the main task |
|
|
69
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Use /simplify to improve code within your Git changes |
|
|
66
70
|
|
|
67
71
|
## Prerequisites
|
|
68
72
|
|
|
@@ -72,37 +76,26 @@ This product can be installed independently or used through the desktop app or W
|
|
|
72
76
|
|
|
73
77
|
## Installation
|
|
74
78
|
|
|
75
|
-
|
|
79
|
+
The installation commands below use the official npm registry.
|
|
76
80
|
|
|
77
|
-
###
|
|
81
|
+
### Ask an agent to install it (recommended)
|
|
78
82
|
|
|
79
|
-
|
|
80
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
81
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
82
|
-
dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
|
|
83
|
-
dsh --profile web --dump-config
|
|
84
|
-
```
|
|
83
|
+
Send the prompt below to any agent that can run terminal commands on your computer. Replace `web` with your actual profile. Once installed, use the plugin in DSH.
|
|
85
84
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
```text
|
|
86
|
+
Install the DSH plugin @michengai/dsh-automation into my local web profile by running: dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm the configuration includes dsh-automation, and explain how to reload DSH and start using the plugin.
|
|
87
|
+
```
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
### Install from npm
|
|
91
90
|
|
|
92
91
|
```powershell
|
|
93
92
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
94
93
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
95
|
-
|
|
96
|
-
git clone https://github.com/MichengAI/dsh-automation.git
|
|
97
|
-
Set-Location .\dsh-automation
|
|
98
|
-
pnpm install
|
|
99
|
-
pnpm test
|
|
100
|
-
pnpm build
|
|
101
|
-
dsh plugin --profile web add .
|
|
94
|
+
dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
|
|
102
95
|
dsh --profile web --dump-config
|
|
103
96
|
```
|
|
104
97
|
|
|
105
|
-
Restart DSH Web and hard-refresh the browser.
|
|
98
|
+
Restart DSH Web and hard-refresh the browser. Pin a version with `@0.1.5` instead of `@latest` when needed.
|
|
106
99
|
|
|
107
100
|
## Updates
|
|
108
101
|
|
|
@@ -139,6 +132,25 @@ A schedule stores future intent. It is not a cached permission grant.
|
|
|
139
132
|
|
|
140
133
|
## Development
|
|
141
134
|
|
|
135
|
+
### Install from source
|
|
136
|
+
|
|
137
|
+
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
138
|
+
|
|
139
|
+
```powershell
|
|
140
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
141
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
142
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
143
|
+
git clone https://github.com/MichengAI/dsh-automation.git
|
|
144
|
+
Set-Location .\dsh-automation
|
|
145
|
+
pnpm install
|
|
146
|
+
pnpm test
|
|
147
|
+
pnpm build
|
|
148
|
+
dsh plugin --profile web add .
|
|
149
|
+
dsh --profile web --dump-config
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Restart DSH Web and hard-refresh the browser. Local installation reads and applies `cordis.patch.yml`; do not copy `lib` files manually.
|
|
153
|
+
|
|
142
154
|
Current sources live in `src` and build into `lib`:
|
|
143
155
|
|
|
144
156
|
- [src\index.ts](src/index.ts): Host plugin, tools, and RPC.
|
|
@@ -168,8 +180,8 @@ pnpm build
|
|
|
168
180
|
|
|
169
181
|
`pnpm check` runs typecheck, tests, and build together.
|
|
170
182
|
|
|
171
|
-
##
|
|
183
|
+
## License
|
|
172
184
|
|
|
173
|
-
|
|
185
|
+
Additional notices are in [NOTICE](NOTICE).
|
|
174
186
|
|
|
175
187
|
This project uses [Apache License 2.0](LICENSE).
|
package/README.zh-CN.md
CHANGED
|
@@ -21,14 +21,13 @@
|
|
|
21
21
|
|
|
22
22
|
## 功能概览
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- 侧栏提供「定时」页签:文件夹是任务名称,子会话是执行时间。原生下只包裹官方任务树,不依赖 `dsh-codex-ui`。
|
|
24
|
+
把需要按时重复的工作交给 DSH。你可以在设置页安排任务,也可以在对话中说明执行时间和要求,再回看每次运行的结果。
|
|
25
|
+
|
|
26
|
+
- **安排一次或重复执行**:支持间隔、每小时、每天、每周、每月和自定义间隔天数。
|
|
27
|
+
- **选择工作环境**:设置工作目录、模型、技能和权限。
|
|
28
|
+
- **随时调整安排**:创建、暂停、恢复、立即运行或删除任务。
|
|
29
|
+
- **查看执行结果**:在侧栏「定时」中按任务和执行时间回看会话,在设置页筛选运行记录。
|
|
30
|
+
- **每次独立运行**:使用已保存的任务说明,不继承创建任务时的整段对话。
|
|
32
31
|
|
|
33
32
|
## 界面预览
|
|
34
33
|
|
|
@@ -40,7 +39,7 @@
|
|
|
40
39
|
|
|
41
40
|

|
|
42
41
|
|
|
43
|
-
在对话里描述任务。
|
|
42
|
+
在对话里描述任务。DSH 会按所选权限模式处理授权:
|
|
44
43
|
|
|
45
44
|

|
|
46
45
|
|
|
@@ -56,13 +55,18 @@
|
|
|
56
55
|
|
|
57
56
|
## DSH 产品生态
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
想直接使用完整工作台,可下载 [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases);已有 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 环境,可按需独立安装以下 8 个自研插件。桌面端已随附这些插件。
|
|
60
59
|
|
|
61
|
-
|
|
|
60
|
+
| 插件 | 你可以用它做什么 |
|
|
62
61
|
| --- | --- |
|
|
63
|
-
| [
|
|
64
|
-
| [
|
|
65
|
-
|
|
|
62
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | 整理项目与会话、搜索任务、跳转对话轮次 |
|
|
63
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | 从微信、飞书、钉钉等消息平台下任务、收回复 |
|
|
64
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | 按计划执行任务,查看每次运行的结果 |
|
|
65
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | 统一查找、启停、创建和导入本机技能 |
|
|
66
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | 搜索、恢复或清理已归档会话 |
|
|
67
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | 按任务选择并召唤专业角色 |
|
|
68
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | 在当前上下文中临时旁问,不打断主任务 |
|
|
69
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | 用 /simplify 整理 Git 改动范围内的代码 |
|
|
66
70
|
|
|
67
71
|
## 前置条件
|
|
68
72
|
|
|
@@ -72,37 +76,26 @@
|
|
|
72
76
|
|
|
73
77
|
## 安装
|
|
74
78
|
|
|
75
|
-
|
|
79
|
+
以下安装命令使用官方 npm 源。
|
|
76
80
|
|
|
77
|
-
###
|
|
81
|
+
### 让 Agent 帮你安装(推荐)
|
|
78
82
|
|
|
79
|
-
|
|
80
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
81
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
82
|
-
dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
|
|
83
|
-
dsh --profile web --dump-config
|
|
84
|
-
```
|
|
83
|
+
把下面这段话发给任意能够执行本机终端命令的 Agent。将 `web` 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。
|
|
85
84
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
```text
|
|
86
|
+
请将 DSH 插件 @michengai/dsh-automation 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 dsh-automation,并告诉我如何重新加载 DSH 和开始使用。
|
|
87
|
+
```
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
### 从 npm 安装
|
|
91
90
|
|
|
92
91
|
```powershell
|
|
93
92
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
94
93
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
95
|
-
|
|
96
|
-
git clone https://github.com/MichengAI/dsh-automation.git
|
|
97
|
-
Set-Location .\dsh-automation
|
|
98
|
-
pnpm install
|
|
99
|
-
pnpm test
|
|
100
|
-
pnpm build
|
|
101
|
-
dsh plugin --profile web add .
|
|
94
|
+
dsh plugin --profile web add @michengai/dsh-automation@latest --registry=https://registry.npmjs.org/
|
|
102
95
|
dsh --profile web --dump-config
|
|
103
96
|
```
|
|
104
97
|
|
|
105
|
-
|
|
98
|
+
安装后重启 DSH Web,并在浏览器硬刷新。需要钉死某一版时,把 `@latest` 换成 `@0.1.5`。
|
|
106
99
|
|
|
107
100
|
## 在线更新
|
|
108
101
|
|
|
@@ -139,6 +132,25 @@ dsh --profile web --dump-config
|
|
|
139
132
|
|
|
140
133
|
## 二次开发
|
|
141
134
|
|
|
135
|
+
### 从源码安装
|
|
136
|
+
|
|
137
|
+
适用于调试或使用未发布改动。克隆后的目录会直接作为插件安装路径:
|
|
138
|
+
|
|
139
|
+
```powershell
|
|
140
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
141
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
142
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
143
|
+
git clone https://github.com/MichengAI/dsh-automation.git
|
|
144
|
+
Set-Location .\dsh-automation
|
|
145
|
+
pnpm install
|
|
146
|
+
pnpm test
|
|
147
|
+
pnpm build
|
|
148
|
+
dsh plugin --profile web add .
|
|
149
|
+
dsh --profile web --dump-config
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
完成后重启 DSH Web 并硬刷新浏览器。`dsh plugin ... add .` 会自动读取并应用 `cordis.patch.yml`;不要手工复制 `lib` 文件。
|
|
153
|
+
|
|
142
154
|
当前源码在 `src`,构建产物在 `lib`:
|
|
143
155
|
|
|
144
156
|
- [src\index.ts](src/index.ts):Host 插件、工具和 RPC。
|
|
@@ -168,8 +180,8 @@ pnpm build
|
|
|
168
180
|
|
|
169
181
|
`pnpm check` 会连续执行类型检查、测试和构建。
|
|
170
182
|
|
|
171
|
-
##
|
|
183
|
+
## 许可证
|
|
172
184
|
|
|
173
|
-
|
|
185
|
+
补充说明见 [NOTICE](NOTICE)。
|
|
174
186
|
|
|
175
187
|
本项目采用 [Apache License 2.0](LICENSE)。
|
package/lib/client.js
CHANGED
|
@@ -927,7 +927,7 @@ function MenuRow({
|
|
|
927
927
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: label })
|
|
928
928
|
] }),
|
|
929
929
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: "dsh-st-menu-row-side", children: [
|
|
930
|
-
hint,
|
|
930
|
+
hint !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: hint }),
|
|
931
931
|
active === true && chevron !== true && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("i", { className: "dsh-st-tick" }),
|
|
932
932
|
chevron === true && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("i", { className: "dsh-st-next" })
|
|
933
933
|
] })
|
|
@@ -1400,10 +1400,7 @@ function ModelPicker({
|
|
|
1400
1400
|
title: item.label,
|
|
1401
1401
|
onClick: () => selectModel(item),
|
|
1402
1402
|
children: [
|
|
1403
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.
|
|
1404
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "dsh-st-model-name", children: item.label }),
|
|
1405
|
-
item.description !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "dsh-st-model-description", children: item.description })
|
|
1406
|
-
] }),
|
|
1403
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "dsh-st-model-option-copy", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "dsh-st-model-name", children: item.label }) }),
|
|
1407
1404
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "dsh-st-model-check", children: value === modelKey && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives.IconCheckOutline16, {}) })
|
|
1408
1405
|
]
|
|
1409
1406
|
},
|
|
@@ -3918,12 +3915,12 @@ function NativeTaskRail({
|
|
|
3918
3915
|
// src/client/styles.ts
|
|
3919
3916
|
var STYLE_ID = "dsh-automation-styles";
|
|
3920
3917
|
var CSS_TEXT = `
|
|
3921
|
-
.dsh-st-shell{box-sizing:border-box;max-width:1080px;width:100%;margin:0 auto;padding:0 0 32px;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family,system-ui)}
|
|
3918
|
+
.dsh-st-shell{container-type:inline-size;min-width:0;box-sizing:border-box;max-width:1080px;width:100%;margin:0 auto;padding:0 0 32px;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family,system-ui)}
|
|
3922
3919
|
.dsh-st-top{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}
|
|
3923
|
-
.dsh-st-heading h1,.dsh-st-top h1{margin:0;font-size:
|
|
3924
|
-
.dsh-st-heading-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.dsh-st-heading-links{display:inline-flex;align-items:center;gap:4px;min-width:0}.dsh-st-heading-link{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 8px;color:var(--dsw-alias-label-secondary);background:transparent;border:1px solid var(--dsw-alias-border-l2);border-radius:7px;font-size:12px;font-weight:500;line-height:18px;text-decoration:none;white-space:nowrap}.dsh-st-heading-link:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.dsh-st-heading-link:focus-visible{outline:2px solid var(--dsw-alias-state-success-primary);outline-offset:2px}.dsh-st-heading-link svg{flex:none}
|
|
3925
|
-
.dsh-st-heading p,.dsh-st-top p{margin:
|
|
3926
|
-
.dsh-st-toolbar{display:flex;flex-wrap:
|
|
3920
|
+
.dsh-st-heading h1,.dsh-st-top h1{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}
|
|
3921
|
+
.dsh-st-heading-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.dsh-st-heading-links{display:inline-flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}.dsh-st-heading-link{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 8px;color:var(--dsw-alias-label-secondary);background:transparent;border:1px solid var(--dsw-alias-border-l2);border-radius:7px;font-size:12px;font-weight:500;line-height:18px;text-decoration:none;white-space:nowrap}.dsh-st-heading-link:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.dsh-st-heading-link:focus-visible{outline:2px solid var(--dsw-alias-state-success-primary);outline-offset:2px}.dsh-st-heading-link svg{flex:none}
|
|
3922
|
+
.dsh-st-heading p,.dsh-st-top p{margin:12px 0 0;max-width:none;color:var(--dsw-alias-label-tertiary);font-size:14px;line-height:22px}
|
|
3923
|
+
.dsh-st-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}
|
|
3927
3924
|
.dsh-st-search{flex:1;min-width:0;max-width:280px;height:32px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-1));color:inherit;font:inherit;font-size:13px}
|
|
3928
3925
|
.dsh-st-btn,.dsh-st-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
|
|
3929
3926
|
.dsh-st-icon{width:32px;padding:0;flex:none}
|
|
@@ -4052,7 +4049,7 @@ var CSS_TEXT = `
|
|
|
4052
4049
|
.dsh-st-chip-btn:hover{background:rgba(255,255,255,.06);color:var(--dsw-alias-label-primary)}
|
|
4053
4050
|
.dsh-st-chip-btn.is-static{cursor:default;opacity:.78}
|
|
4054
4051
|
.dsh-st-chip-btn em,.dsh-st-select.is-pill .dsh-st-select-btn em{width:6px;height:6px;margin-left:2px;opacity:.55}
|
|
4055
|
-
.dsh-st-model-select{position:relative;z-index:1;min-width:0;flex:none}.dsh-st-model-select.is-open{z-index:30}.dsh-st-model-select-trigger{display:flex;align-items:center;gap:4px;min-width:0;max-width:260px;height:28px;padding:0 4px 0 8px;border:0;border-radius:24px;background:transparent;color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:500;line-height:20px;cursor:pointer}.dsh-st-model-select-trigger:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.dsh-st-model-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-trigger-effort{flex:none;color:var(--dsw-alias-label-tertiary);white-space:nowrap}.dsh-st-model-trigger-chevron{flex:none;transition:transform .16s ease}.dsh-st-model-trigger-chevron.is-open{transform:rotate(180deg)}.dsh-st-model-select-menu{z-index:30;width:min(240px,calc(100vw - 32px));max-height:min(360px,calc(100vh - 96px));overflow-y:auto;padding:4px;border:1px solid var(--dsw-alias-border-inverted,var(--dsw-alias-border-l2));border-radius:12px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-base));box-shadow:var(--dsw-shadow-lv3)}.dsh-st-model-select-menu.is-float{position:absolute;z-index:1200;box-sizing:border-box}.dsh-st-model-select-menu .dsh-st-menu-row{min-height:40px;padding:0 10px;border-radius:10px;font-size:14px}.dsh-st-model-select-menu .dsh-st-menu-row.is-kv .dsh-st-menu-row-side{font-size:13px;color:var(--dsw-alias-label-tertiary)}.dsh-st-model-group+.dsh-st-model-group{margin-top:4px}.dsh-st-model-group-title{position:sticky;top:0;z-index:1;padding:5px 8px 3px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-base));color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:500;line-height:18px}.dsh-st-model-option{display:flex;width:100%;min-height:38px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer}.dsh-st-model-option:hover,.dsh-st-model-option:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}.dsh-st-model-option-copy{display:flex;min-width:0;flex:1;flex-direction:column}.dsh-st-model-name{overflow:hidden;font-size:14px;font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-description{overflow:hidden;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-check{display:grid;flex:0 0 18px;place-items:center;color:var(--dsw-alias-label-primary)}.dsh-st-model-warning{margin:4px;padding:8px;border-radius:8px;background:var(--dsw-alias-interactive-bg-hover-danger,rgba(248,81,73,.1));color:var(--dsw-alias-state-error-primary,#f85149);font-size:12px;line-height:18px}.dsh-st-model-empty{padding:14px 12px;color:var(--dsw-alias-label-tertiary);font-size:12px;text-align:center}
|
|
4052
|
+
.dsh-st-model-select{position:relative;z-index:1;min-width:0;flex:none}.dsh-st-model-select.is-open{z-index:30}.dsh-st-model-select-trigger{display:flex;align-items:center;gap:4px;min-width:0;max-width:260px;height:28px;padding:0 4px 0 8px;border:0;border-radius:24px;background:transparent;color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:500;line-height:20px;cursor:pointer}.dsh-st-model-select-trigger:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.dsh-st-model-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-trigger-effort{flex:none;color:var(--dsw-alias-label-tertiary);white-space:nowrap}.dsh-st-model-trigger-chevron{flex:none;transition:transform .16s ease}.dsh-st-model-trigger-chevron.is-open{transform:rotate(180deg)}.dsh-st-model-select-menu{z-index:30;width:max-content;min-width:min(240px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(360px,calc(100vh - 96px));overflow-y:auto;padding:4px;border:1px solid var(--dsw-alias-border-inverted,var(--dsw-alias-border-l2));border-radius:12px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-base));box-shadow:var(--dsw-shadow-lv3)}.dsh-st-model-select-menu.is-float{position:absolute;z-index:1200;box-sizing:border-box}.dsh-st-model-select-menu .dsh-st-menu-row{min-height:40px;padding:0 10px;border-radius:10px;font-size:14px}.dsh-st-model-select-menu .dsh-st-menu-row-side>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-select-menu .dsh-st-menu-row.is-kv .dsh-st-menu-row-side{font-size:13px;color:var(--dsw-alias-label-tertiary)}.dsh-st-model-group+.dsh-st-model-group{margin-top:4px}.dsh-st-model-group-title{position:sticky;top:0;z-index:1;padding:5px 8px 3px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-base));color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:500;line-height:18px}.dsh-st-model-option{display:flex;width:100%;min-height:38px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer}.dsh-st-model-option:hover,.dsh-st-model-option:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}.dsh-st-model-option-copy{display:flex;min-width:0;flex:1;flex-direction:column}.dsh-st-model-name{overflow:hidden;font-size:14px;font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-description{overflow:hidden;color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.dsh-st-model-check{display:grid;flex:0 0 18px;place-items:center;color:var(--dsw-alias-label-primary)}.dsh-st-model-warning{margin:4px;padding:8px;border-radius:8px;background:var(--dsw-alias-interactive-bg-hover-danger,rgba(248,81,73,.1));color:var(--dsw-alias-state-error-primary,#f85149);font-size:12px;line-height:18px}.dsh-st-model-empty{padding:14px 12px;color:var(--dsw-alias-label-tertiary);font-size:12px;text-align:center}
|
|
4056
4053
|
.dsh-st-suffix{color:var(--dsw-alias-label-secondary);font-size:13px}
|
|
4057
4054
|
.dsh-st-inline input.is-narrow{width:72px;flex:none}
|
|
4058
4055
|
.dsh-st-time{display:inline-flex;align-items:center;gap:2px;min-height:36px;padding:0 8px;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:rgba(255,255,255,.04)}
|