@michengai/dsh-skills-manager 0.1.43 → 0.1.44
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 +3 -1
- package/CHANGELOG.zh-CN.md +3 -1
- package/README.md +41 -61
- package/README.zh-CN.md +42 -62
- package/lib/client.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
The five most recent published versions are listed below.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 0.1.44 - 2026-09-09
|
|
8
|
+
|
|
9
|
+
- 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
10
|
|
|
9
11
|
## 0.1.43 - 2026-09-08
|
|
10
12
|
|
package/CHANGELOG.zh-CN.md
CHANGED
package/README.md
CHANGED
|
@@ -22,13 +22,14 @@
|
|
|
22
22
|
|
|
23
23
|
## Features
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
25
|
+
Bring skills from your computer and projects into one DSH management page. Find skills, read their contents, control availability, and create or import your own.
|
|
26
|
+
|
|
27
|
+
- **Reuse existing skills**: discover user skills from `.agents`, CC Switch, Codex, Claude, Gemini, OpenCode, and Cursor.
|
|
28
|
+
- **Organize by project**: browse DSH and `.agents` skills from active projects, with source filters and search.
|
|
29
|
+
- **Toggle availability**: enabling or disabling a skill changes its availability in DSH without editing source files.
|
|
30
|
+
- **Read before using**: inspect the body, source information, format diagnostics, and duplicate-name notices.
|
|
31
|
+
- **Add your own skills**: create user or project skills in Settings, or import ZIP archives, skill folders, and `SKILL.md` files.
|
|
32
|
+
- **Recover deleted skills**: DSH skills go to Trash first and can be restored to their original location.
|
|
32
33
|
|
|
33
34
|
## Screenshots
|
|
34
35
|
|
|
@@ -46,13 +47,18 @@ Moving a DSH-local skill to Trash requires confirmation and remains recoverable
|
|
|
46
47
|
|
|
47
48
|
## DSH product ecosystem
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
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.
|
|
50
51
|
|
|
51
|
-
|
|
|
52
|
+
| Plugin | What you can do |
|
|
52
53
|
| --- | --- |
|
|
53
|
-
| [
|
|
54
|
-
| [
|
|
55
|
-
|
|
|
54
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organize projects and conversations, search tasks, and navigate chat turns |
|
|
55
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Send tasks and receive replies through your usual messenger |
|
|
56
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Schedule tasks and review each run |
|
|
57
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Find, enable, create, and import local skills |
|
|
58
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Search, restore, or clean up archived conversations |
|
|
59
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Choose and summon specialists for your task |
|
|
60
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Ask side questions without interrupting the main task |
|
|
61
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Use /simplify to improve code within your Git changes |
|
|
56
62
|
|
|
57
63
|
## Prerequisites
|
|
58
64
|
|
|
@@ -62,40 +68,16 @@ This product can be installed independently or used through the desktop app or W
|
|
|
62
68
|
|
|
63
69
|
## Installation
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Ask another agent to install it
|
|
71
|
+
The installation commands below use the official npm registry.
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
### Ask an agent to install it (recommended)
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
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.
|
|
72
76
|
|
|
73
77
|
```text
|
|
74
|
-
Install the
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
From source:
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
Install the DSH plugin from source at https://github.com/MichengAI/dsh-skills-manager: clone it, run npm install and npm test, then run dsh plugin --profile web add . from that directory. Do not copy lib by itself. Then run dsh --profile web --dump-config, confirm skills-manager is mounted, and remind me to restart DSH Web and hard-refresh the browser.
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
| Product | How to use it |
|
|
84
|
-
| --- | --- |
|
|
85
|
-
| DSH | Send one of the sentences above to the current session. |
|
|
86
|
-
| Codex | Send one of the sentences above to Codex and let it install locally. |
|
|
87
|
-
| WorkBuddy | Send one of the sentences above to WorkBuddy; for a source install you can also paste `https://github.com/MichengAI/dsh-skills-manager`. |
|
|
88
|
-
|
|
89
|
-
Codex and WorkBuddy only install the plugin. After that, open DSH Web and use **Settings → Skills**.
|
|
90
|
-
|
|
91
|
-
You can also run the same npm command yourself:
|
|
92
|
-
|
|
93
|
-
```powershell
|
|
94
|
-
dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=https://registry.npmjs.org/
|
|
78
|
+
Install the DSH plugin @michengai/dsh-skills-manager into my local web profile by running: dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm the configuration includes skills-manager, and explain how to reload DSH and start using the plugin.
|
|
95
79
|
```
|
|
96
80
|
|
|
97
|
-
If `dsh` is not on PATH, replace the leading `dsh` with `npx --yes @deepseek-ai/dsh`.
|
|
98
|
-
|
|
99
81
|
### Install the latest package from the official npm registry
|
|
100
82
|
|
|
101
83
|
Run this from any PowerShell directory:
|
|
@@ -111,24 +93,6 @@ To pin a release, replace `@latest` with a version such as `@0.1.25`.
|
|
|
111
93
|
|
|
112
94
|
The configuration output should contain `skills-manager`. Restart DSH Web and hard-refresh the browser. Do not copy client files manually: `dsh plugin add` also applies `cordis.patch.yml`.
|
|
113
95
|
|
|
114
|
-
### Install from source
|
|
115
|
-
|
|
116
|
-
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
117
|
-
|
|
118
|
-
```powershell
|
|
119
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
120
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
121
|
-
Set-Location D:\Repository\deepseek-harness-plugin
|
|
122
|
-
git clone https://github.com/MichengAI/dsh-skills-manager.git
|
|
123
|
-
Set-Location .\dsh-skills-manager
|
|
124
|
-
npm install
|
|
125
|
-
npm test
|
|
126
|
-
dsh plugin --profile web add .
|
|
127
|
-
dsh --profile web --dump-config
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Restart DSH Web and hard-refresh the browser. `dsh plugin ... add .` reads the package metadata and `cordis.patch.yml`; do not install by copying `lib` directly.
|
|
131
|
-
|
|
132
96
|
## Updates
|
|
133
97
|
|
|
134
98
|
The settings title shows the installed version and a **Check for updates** button. When a newer release is available, **Update automatically** runs only when the DSH CLI or Desktop update service is available; otherwise, the dialog provides a profile-specific manual command to copy and run.
|
|
@@ -178,6 +142,24 @@ Escape closes only the frontmost upload or confirmation dialog and leaves Settin
|
|
|
178
142
|
|
|
179
143
|
## Secondary development
|
|
180
144
|
|
|
145
|
+
### Install from source
|
|
146
|
+
|
|
147
|
+
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
148
|
+
|
|
149
|
+
```powershell
|
|
150
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
151
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
152
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
153
|
+
git clone https://github.com/MichengAI/dsh-skills-manager.git
|
|
154
|
+
Set-Location .\dsh-skills-manager
|
|
155
|
+
npm install
|
|
156
|
+
npm test
|
|
157
|
+
dsh plugin --profile web add .
|
|
158
|
+
dsh --profile web --dump-config
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Restart DSH Web and hard-refresh the browser. `dsh plugin ... add .` reads the package metadata and `cordis.patch.yml`; do not install by copying `lib` directly.
|
|
162
|
+
|
|
181
163
|
Runtime source is maintained under `src`; `lib` is generated by `npm run build` and published with the npm package. Change `src`, never `lib` directly.
|
|
182
164
|
|
|
183
165
|
- [src\core.js](src/core.js): file-operation, permission, and import boundary core.
|
|
@@ -210,8 +192,6 @@ npm run verify
|
|
|
210
192
|
|
|
211
193
|
`prepublishOnly` runs the complete `verify` gate before publishing: build, tests, package inspection, and generated-artifact synchronization.
|
|
212
194
|
|
|
213
|
-
##
|
|
214
|
-
|
|
215
|
-
Project status, usage boundaries, architecture, and iteration records begin at the [documentation entry point](docs/00-交接入口/00-阅读导航.md). The detailed operational guide is `docs\02-产品与业务\01-使用说明.md`.
|
|
195
|
+
## License
|
|
216
196
|
|
|
217
197
|
Licensed under [Apache License 2.0](LICENSE).
|
package/README.zh-CN.md
CHANGED
|
@@ -22,17 +22,18 @@
|
|
|
22
22
|
|
|
23
23
|
## 功能概览
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
25
|
+
把散落在本机和项目中的 Agent 技能集中到 DSH 管理。在同一个页面里查找技能、查看内容、控制启停,也能创建或导入自己的技能。
|
|
26
|
+
|
|
27
|
+
- **复用已有技能**:发现 `.agents`、CC Switch、Codex、Claude、Gemini、OpenCode 和 Cursor 的用户级技能。
|
|
28
|
+
- **按项目整理**:展示活动项目中的 DSH 与 `.agents` 技能,按来源搜索和筛选。
|
|
29
|
+
- **切换启停**:只改变 DSH 中的调用策略,不改动来源技能文件。
|
|
30
|
+
- **查看技能内容**:阅读正文、来源信息、格式诊断和重名提示。
|
|
31
|
+
- **添加自己的技能**:在设置页创建用户级或项目级技能,或导入 ZIP、技能文件夹及 `SKILL.md`。
|
|
32
|
+
- **找回误删的技能**:DSH 技能删除后先进入回收站,可恢复到原位置。
|
|
32
33
|
|
|
33
34
|
## 界面预览
|
|
34
35
|
|
|
35
|
-
在「设置 → 技能」中按来源管理 DSH 与其他本机 Agent
|
|
36
|
+
在「设置 → 技能」中按来源管理 DSH 与其他本机 Agent 的技能,启停不会改动来源技能文件:
|
|
36
37
|
|
|
37
38
|

|
|
38
39
|
|
|
@@ -46,13 +47,18 @@ DSH 本地技能移入回收站前需要确认;永久删除前仍可恢复:
|
|
|
46
47
|
|
|
47
48
|
## DSH 产品生态
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
想直接使用完整工作台,可下载 [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases);已有 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 环境,可按需独立安装以下 8 个自研插件。桌面端已随附这些插件。
|
|
50
51
|
|
|
51
|
-
|
|
|
52
|
+
| 插件 | 你可以用它做什么 |
|
|
52
53
|
| --- | --- |
|
|
53
|
-
| [
|
|
54
|
-
| [
|
|
55
|
-
|
|
|
54
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | 整理项目与会话、搜索任务、跳转对话轮次 |
|
|
55
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | 从微信、飞书、钉钉等消息平台下任务、收回复 |
|
|
56
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | 按计划执行任务,查看每次运行的结果 |
|
|
57
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | 统一查找、启停、创建和导入本机技能 |
|
|
58
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | 搜索、恢复或清理已归档会话 |
|
|
59
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | 按任务选择并召唤专业角色 |
|
|
60
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | 在当前上下文中临时旁问,不打断主任务 |
|
|
61
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | 用 /simplify 整理 Git 改动范围内的代码 |
|
|
56
62
|
|
|
57
63
|
## 前置条件
|
|
58
64
|
|
|
@@ -62,40 +68,16 @@ DSH 本地技能移入回收站前需要确认;永久删除前仍可恢复:
|
|
|
62
68
|
|
|
63
69
|
## 安装
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### 交给其他 Agent 一句话安装
|
|
71
|
+
以下安装命令使用官方 npm 源。
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
### 让 Agent 帮你安装(推荐)
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
把下面这段话发给任意能够执行本机终端命令的 Agent。将 `web` 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。
|
|
72
76
|
|
|
73
77
|
```text
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
从源码安装:
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
请从 https://github.com/MichengAI/dsh-skills-manager 安装 DSH 插件:克隆仓库,执行 npm install 和 npm test,再在该目录执行 dsh plugin --profile web add .。不要只复制 lib。然后执行 dsh --profile web --dump-config,确认已挂载 skills-manager,并提醒我重启 DSH Web 后硬刷新浏览器。
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
| 产品 | 怎么用 |
|
|
84
|
-
| --- | --- |
|
|
85
|
-
| DSH | 把上面其中一句发给当前会话。 |
|
|
86
|
-
| Codex | 把上面其中一句发给 Codex,让它在本机执行安装。 |
|
|
87
|
-
| WorkBuddy | 把上面其中一句发给 WorkBuddy;源码安装也可同时粘贴仓库地址 `https://github.com/MichengAI/dsh-skills-manager`。 |
|
|
88
|
-
|
|
89
|
-
Codex 和 WorkBuddy 只负责代装;装好后仍要打开 DSH Web 使用「设置 → 技能」。
|
|
90
|
-
|
|
91
|
-
也可以自己执行同一条 npm 命令:
|
|
92
|
-
|
|
93
|
-
```powershell
|
|
94
|
-
dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=https://registry.npmjs.org/
|
|
78
|
+
请将 DSH 插件 @michengai/dsh-skills-manager 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 skills-manager,并告诉我如何重新加载 DSH 和开始使用。
|
|
95
79
|
```
|
|
96
80
|
|
|
97
|
-
未把 `dsh` 装进 PATH 时,把开头的 `dsh` 换成 `npx --yes @deepseek-ai/dsh`。
|
|
98
|
-
|
|
99
81
|
### 从官方 npm 安装最新版
|
|
100
82
|
|
|
101
83
|
在任意 PowerShell 目录执行:
|
|
@@ -111,24 +93,6 @@ dsh --profile web --dump-config
|
|
|
111
93
|
|
|
112
94
|
配置输出中应包含 `skills-manager`。安装后重启 DSH Web 并在浏览器硬刷新。不要手工复制客户端文件,`dsh plugin add` 会同时应用 `cordis.patch.yml`。
|
|
113
95
|
|
|
114
|
-
### 从源码安装
|
|
115
|
-
|
|
116
|
-
适用于调试或使用未发布改动。克隆后的本地路径就是插件安装路径:
|
|
117
|
-
|
|
118
|
-
```powershell
|
|
119
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
120
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
121
|
-
Set-Location D:\Repository\deepseek-harness-plugin
|
|
122
|
-
git clone https://github.com/MichengAI/dsh-skills-manager.git
|
|
123
|
-
Set-Location .\dsh-skills-manager
|
|
124
|
-
npm install
|
|
125
|
-
npm test
|
|
126
|
-
dsh plugin --profile web add .
|
|
127
|
-
dsh --profile web --dump-config
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
完成后重启 DSH Web 并硬刷新浏览器。`dsh plugin ... add .` 会读取当前目录的包信息和 `cordis.patch.yml`;不要改为直接复制 `lib` 目录。
|
|
131
|
-
|
|
132
96
|
## 在线更新
|
|
133
97
|
|
|
134
98
|
设置标题会显示当前版本和“检查更新”按钮。发现新版后,只有检测到 DSH CLI 或 Desktop 更新服务时才可使用“自动更新”;其他环境会在弹窗中提供可复制、与当前 Profile 对应的手工更新命令。
|
|
@@ -178,6 +142,24 @@ dsh --profile web --dump-config
|
|
|
178
142
|
|
|
179
143
|
## 二次开发
|
|
180
144
|
|
|
145
|
+
### 从源码安装
|
|
146
|
+
|
|
147
|
+
适用于调试或使用未发布改动。克隆后的本地路径就是插件安装路径:
|
|
148
|
+
|
|
149
|
+
```powershell
|
|
150
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
151
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
152
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
153
|
+
git clone https://github.com/MichengAI/dsh-skills-manager.git
|
|
154
|
+
Set-Location .\dsh-skills-manager
|
|
155
|
+
npm install
|
|
156
|
+
npm test
|
|
157
|
+
dsh plugin --profile web add .
|
|
158
|
+
dsh --profile web --dump-config
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
完成后重启 DSH Web 并硬刷新浏览器。`dsh plugin ... add .` 会读取当前目录的包信息和 `cordis.patch.yml`;不要改为直接复制 `lib` 目录。
|
|
162
|
+
|
|
181
163
|
运行源码维护在 `src`,`lib` 是由 `npm run build` 生成并随 npm 包发布的产物。请修改 `src`,不要直接修改 `lib`:
|
|
182
164
|
|
|
183
165
|
- [src\core.js](src/core.js):文件操作、权限和导入边界核心。
|
|
@@ -210,8 +192,6 @@ npm run verify
|
|
|
210
192
|
|
|
211
193
|
`prepublishOnly` 会在发布前自动执行完整 `verify` 门禁:构建、测试、发布包检查和生成产物同步检查。
|
|
212
194
|
|
|
213
|
-
##
|
|
214
|
-
|
|
215
|
-
项目状态、使用边界、技术架构和迭代记录从[文档交接入口](docs/00-交接入口/00-阅读导航.md)开始。详细操作说明见 `docs\02-产品与业务\01-使用说明.md`。
|
|
195
|
+
## 许可证
|
|
216
196
|
|
|
217
197
|
本项目采用 [Apache License 2.0](LICENSE)。
|
package/lib/client.js
CHANGED
|
@@ -687,7 +687,7 @@
|
|
|
687
687
|
}
|
|
688
688
|
};
|
|
689
689
|
var CSS2 = `
|
|
690
|
-
.dssm-section{box-sizing:border-box;display:flex;width:100%;max-width:820px;min-width:0;margin:0 auto;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary);font-family:inherit}.dssm-head{display:flex;align-items:
|
|
690
|
+
.dssm-section{box-sizing:border-box;display:flex;width:100%;max-width:820px;min-width:0;margin:0 auto;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-feedback-link{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--dsw-alias-border-l2);border-radius:7px;background:transparent;color:var(--dsw-alias-label-secondary);font:inherit;font-size:12px;font-weight:500;line-height:18px;text-decoration:none;white-space:nowrap}.dssm-feedback-link:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.dssm-feedback-link:focus-visible{outline:2px solid var(--dsw-alias-state-success-primary);outline-offset:2px}.dssm-feedback-link svg{flex:none}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}
|
|
691
691
|
.dssm-btn{box-sizing:border-box;display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 13px;border:1px solid transparent;border-radius:8px;background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground);font:inherit;font-size:13px;font-weight:580;white-space:nowrap;cursor:pointer}.dssm-btn:hover:not(:disabled){filter:brightness(1.08)}.dssm-btn:disabled{opacity:.48;cursor:default}.dssm-btn-secondary,.dssm-btn-quiet{border-color:var(--dsw-alias-border-l2);background:transparent;color:var(--dsw-alias-label-primary)}.dssm-btn-quiet{min-height:28px;padding:0 9px;color:var(--dsw-alias-label-secondary);font-size:12px}.dssm-btn-danger{border-color:var(--dsw-alias-state-error-primary);background:transparent;color:var(--dsw-alias-state-error-primary)}.dssm-btn:focus-visible,.dssm-control:focus-visible,.dssm-select-trigger:focus-visible,.dssm-source-head:focus-visible,.dssm-switch:focus-visible,.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-state-success-primary);outline-offset:2px}
|
|
692
692
|
.dssm-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--dsw-alias-border-l2);border-radius:10px;background:var(--dsw-alias-bg-layer-2)}.dssm-stat{padding:12px 14px;border-right:1px solid var(--dsw-alias-border-l1);font-size:13px;color:var(--dsw-alias-label-secondary)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:5px;color:var(--dsw-alias-label-primary);font-size:17px;font-weight:680}.dssm-filters{display:flex;gap:9px}.dssm-search{flex:1}.dssm-source-filter{width:210px;flex:none}
|
|
693
693
|
.dssm-control,.dssm-select-trigger{box-sizing:border-box;width:100%;min-height:34px;padding:0 11px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px}.dssm-control::placeholder{color:var(--dsw-alias-label-tertiary)}textarea.dssm-control{min-height:160px;padding-top:9px;resize:vertical;line-height:20px}.dssm-select{position:relative}.dssm-select-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.dssm-select-menu{position:absolute;z-index:40;top:calc(100% + 5px);right:0;left:0;display:flex;max-height:260px;padding:5px;overflow:auto;flex-direction:column;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-3);box-shadow:var(--dsw-shadow-lv2)}.dssm-option{padding:8px;border:0;border-radius:6px;background:transparent;color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.dssm-option:hover,.dssm-option[aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover)}
|
|
@@ -695,7 +695,7 @@
|
|
|
695
695
|
.dssm-table-head,.dssm-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 90px max-content;align-items:center;column-gap:12px;padding:0 13px}.dssm-table-head{min-height:32px;border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);font-size:11px}.dssm-row{min-height:58px;border-bottom:1px solid var(--dsw-alias-border-l1)}.dssm-row:last-child{border-bottom:0}.dssm-main{min-width:0}.dssm-name{overflow:hidden;font-size:13px;font-weight:570;text-overflow:ellipsis;white-space:nowrap}.dssm-note{overflow:hidden;margin-top:2px;color:var(--dsw-alias-label-secondary);font-size:11px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}.dssm-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.dssm-tag{display:inline-flex;min-height:19px;align-items:center;padding:0 6px;border:1px solid var(--dsw-alias-border-l3);border-radius:4px;color:var(--dsw-alias-label-secondary);font-size:10px;white-space:nowrap}.dssm-tag-on{border-color:var(--dsw-alias-state-success-primary);color:var(--dsw-alias-state-success-primary)}.dssm-tag-off{border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.dssm-enabled{color:var(--dsw-alias-state-success-primary);font-size:12px;white-space:nowrap}.dssm-disabled{color:#d49245;font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary);font-size:12px;white-space:nowrap}.dssm-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
|
|
696
696
|
.dssm-switch{position:relative;width:34px;height:20px;flex:none;padding:0;border:0;border-radius:999px;background:var(--dsw-alias-border-l3);cursor:pointer}.dssm-switch:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;content:"";transition:transform 160ms ease}.dssm-switch-on{background:var(--dsw-alias-state-success-primary)}.dssm-switch-on:after{transform:translateX(14px)}.dssm-switch:disabled{opacity:.45;cursor:default}.dssm-trash-row{display:flex;min-height:48px;align-items:center;padding:0 13px;border:1px solid var(--dsw-alias-border-l2);border-radius:10px;background:var(--dsw-alias-bg-layer-2);color:inherit;font:inherit;font-size:13px;cursor:pointer}.dssm-trash-count{margin-left:auto;padding:2px 7px;border-radius:99px;background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;color:var(--dsw-alias-label-secondary);font-size:12px}.dssm-warning{border-color:#d49245;color:#d49245}.dssm-error{border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}
|
|
697
697
|
.dssm-mask{position:fixed;z-index:1100;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.62)}.dssm-modal{box-sizing:border-box;display:flex;width:min(560px,100%)!important;max-height:min(760px,calc(100vh - 48px));min-width:0;flex-direction:column;gap:16px;padding:22px;overflow:auto;border:1px solid var(--dsw-alias-border-l2);border-radius:14px;background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-shadow-lv3)}.dssm-modal-wide{width:min(720px,100%)!important}.dssm-modal-import{width:min(480px,100%)!important;padding:24px}.dssm-modal-head{display:flex;align-items:flex-start;gap:12px}.dssm-modal-title{margin:0;flex:1;font-size:17px;line-height:24px;font-weight:670}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-field{gap:6px}.dssm-label,.dssm-detail-title{font-size:12px}.dssm-label{color:var(--dsw-alias-label-secondary)}.dssm-detail-title{font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:18px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3);border-radius:12px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-interactive-bg-hover)}.dssm-dropzone-title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--dsw-alias-border-l2);border-radius:9px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:5px;background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path,.dssm-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.dssm-detail-path{padding:8px 10px;border-radius:7px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);word-break:break-all}.dssm-code{max-height:280px;margin:0;padding:12px;overflow:auto;border:1px solid var(--dsw-alias-border-l1);border-radius:8px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);line-height:18px;white-space:pre-wrap}.dssm-diag{padding:8px 10px;border-left:2px solid #d49245;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);font-size:12px}.dssm-trash-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--dsw-alias-border-l1)}.dssm-trash-item:last-child{border-bottom:0}.dssm-trash-main{min-width:0;flex:1}
|
|
698
|
-
@container(max-width:780px){.dssm-table-head{display:none}.dssm-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px;padding:11px 13px}.dssm-row>.dssm-tags,.dssm-row>.dssm-status{grid-column:1}.dssm-row-actions{grid-column:2;grid-row:1 / span 3}.dssm-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@
|
|
698
|
+
@container(max-width:780px){.dssm-table-head{display:none}.dssm-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px;padding:11px 13px}.dssm-row>.dssm-tags,.dssm-row>.dssm-status{grid-column:1}.dssm-row-actions{grid-column:2;grid-row:1 / span 3}.dssm-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions .dssm-btn{flex:1}.dssm-filters{flex-direction:column}.dssm-source-filter{width:100%}.dssm-summary{grid-template-columns:1fr}}
|
|
699
699
|
`;
|
|
700
700
|
function translateOrFallback(t, key, fallback, params) {
|
|
701
701
|
var value = t(key, params);
|
package/package.json
CHANGED