dsh-skill-market 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +103 -0
- package/README.md +103 -0
- package/cordis.patch.yml +15 -0
- package/docs/screenshots/detail.png +0 -0
- package/docs/screenshots/market.png +0 -0
- package/docs/screenshots/picker.png +0 -0
- package/package.json +59 -0
- package/screenshots.json +5 -0
- package/src/client.js +1445 -0
- package/src/index.js +995 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 pn1024
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.en.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# dsh-skill-market
|
|
2
|
+
|
|
3
|
+
[简体中文](./README.md) | **English**
|
|
4
|
+
|
|
5
|
+
A skill marketplace plugin for DeepSeek Harness — aggregated search across SkillHub + ClawHub, in-app README preview, one-click install/uninstall, a chat-input skill picker, and a sidebar skill hub panel.
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="docs/screenshots/market.png" alt="Skill marketplace" width="720" />
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **Skill search**: aggregated results from SkillHub (Tencent Cloud China mirror, fast direct connection) and ClawHub (the official OpenClaw source); supports Chinese queries
|
|
14
|
+
- **One-click install/uninstall**: installs into `$DSH_HOME/skills/`, auto-discovered by skill-filesystem
|
|
15
|
+
- **In-app README preview**: Markdown rendered natively in the detail view, no external redirects
|
|
16
|
+
- **Star / download stats**: stars, downloads and installs shown on cards and in the detail view
|
|
17
|
+
- **Skill hub panel**: sidebar entry → fullscreen overlay for search, install, browse and inspect
|
|
18
|
+
- **Chat-input picker**: a "⚡ Skills" button in the input bar for quick insertion of `/skill-name`
|
|
19
|
+
- **Source failover**: falls back to ClawHub when SkillHub fails, and vice versa
|
|
20
|
+
|
|
21
|
+
## Screenshots
|
|
22
|
+
|
|
23
|
+
| Marketplace | Skill detail |
|
|
24
|
+
|---|---|
|
|
25
|
+
| <img src="docs/screenshots/market.png" width="360" /> | <img src="docs/screenshots/detail.png" width="360" /> |
|
|
26
|
+
|
|
27
|
+
Chat-input skill picker:
|
|
28
|
+
|
|
29
|
+
<p align="center">
|
|
30
|
+
<img src="docs/screenshots/picker.png" alt="Chat input skill picker" width="480" />
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
dsh plugin --profile web add "github:pn1024/dsh-skill-market"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Or install from a local path:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
dsh plugin --profile web add "/path/to/dsh-skill-market"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Architecture
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
dsh-skill-market/
|
|
49
|
+
├── package.json # dsh.bundle.patch + dsh.client declarations
|
|
50
|
+
├── cordis.patch.yml # plugin registration + config
|
|
51
|
+
├── src/
|
|
52
|
+
│ ├── index.js # Host side: RPC intercept (skill-hub/*)
|
|
53
|
+
│ └── client.js # Browser side: UI slot registration (sidebar/overlay/input)
|
|
54
|
+
├── assets/ # brand assets (logo icons, etc.)
|
|
55
|
+
├── docs/screenshots/ # UI screenshots
|
|
56
|
+
├── LICENSE
|
|
57
|
+
└── README.md
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Host-side RPC endpoints
|
|
61
|
+
|
|
62
|
+
| Endpoint | Description |
|
|
63
|
+
|----------|-------------|
|
|
64
|
+
| `skill-hub/search` | Search skills (SkillHub + ClawHub aggregated) |
|
|
65
|
+
| `skill-hub/detail` | Skill detail (README, version, stats) |
|
|
66
|
+
| `skill-hub/installed` | List locally installed skills |
|
|
67
|
+
| `skill-hub/install` | Download and install a skill locally |
|
|
68
|
+
| `skill-hub/uninstall` | Uninstall a local skill |
|
|
69
|
+
| `skill-hub/readme` | Read an installed skill's README/SKILL.md |
|
|
70
|
+
|
|
71
|
+
### Browser-side UI slots
|
|
72
|
+
|
|
73
|
+
| Slot | Description |
|
|
74
|
+
|------|-------------|
|
|
75
|
+
| `sidebar.footer.action` | "Skill Hub" entry button in the sidebar |
|
|
76
|
+
| `shell.overlay` | Fullscreen skill hub panel |
|
|
77
|
+
| `conversation.input.left` | "⚡ Skills" quick picker in the chat input bar |
|
|
78
|
+
|
|
79
|
+
## Data sources
|
|
80
|
+
|
|
81
|
+
| Platform | API base | Notes |
|
|
82
|
+
|----------|----------|-------|
|
|
83
|
+
| SkillHub | `https://api.skillhub.tencent.com` | Tencent Cloud China mirror, fast direct connection, Chinese search |
|
|
84
|
+
| ClawHub | `https://clawhub.com` | Official OpenClaw skill community, globally available |
|
|
85
|
+
|
|
86
|
+
## Configuration
|
|
87
|
+
|
|
88
|
+
Configurable in `cordis.patch.yml`:
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
- insert:
|
|
92
|
+
- id: dsh-skill-market
|
|
93
|
+
name: 'dsh-skill-market'
|
|
94
|
+
config:
|
|
95
|
+
skillhubApiBase: https://api.skillhub.tencent.com
|
|
96
|
+
clawhubApiBase: https://clawhub.com
|
|
97
|
+
localSkillsDir: '' # empty = use $DSH_HOME/skills
|
|
98
|
+
preferSkillHub: true # prefer SkillHub for users in China
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## License
|
|
102
|
+
|
|
103
|
+
MIT
|
package/README.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# dsh-skill-market
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](./README.en.md)
|
|
4
|
+
|
|
5
|
+
DeepSeek Harness 技能市场插件 —— 聚合 SkillHub + ClawHub 双数据源,站内 README 预览,一键安装/卸载,聊天栏技能选择器,侧边栏技能中心面板。
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="docs/screenshots/market.png" alt="技能市场" width="720" />
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
## 功能
|
|
12
|
+
|
|
13
|
+
- **搜索技能**:聚合 SkillHub(腾讯云中国镜像,高速直连)和 ClawHub(OpenClaw 官方源)双数据源,支持中文搜索
|
|
14
|
+
- **一键安装/卸载**:安装到 `$DSH_HOME/skills/` 目录,skill-filesystem 自动热发现
|
|
15
|
+
- **站内 README 预览**:无需跳转外部页面,详情页原生渲染 Markdown
|
|
16
|
+
- **Star / 下载量展示**:卡片与详情页均展示 star、下载量、安装量统计
|
|
17
|
+
- **技能中心面板**:侧边栏入口 → 全屏弹窗,搜索、安装、浏览、查看一站式
|
|
18
|
+
- **聊天栏快捷入口**:输入栏「⚡ 技能」按钮,快速选择已装技能,自动填入 `/技能名`
|
|
19
|
+
- **多源容错**:SkillHub 失败自动回退 ClawHub,反之亦然
|
|
20
|
+
|
|
21
|
+
## 界面预览
|
|
22
|
+
|
|
23
|
+
| 技能市场 | 技能详情 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| <img src="docs/screenshots/market.png" width="360" /> | <img src="docs/screenshots/detail.png" width="360" /> |
|
|
26
|
+
|
|
27
|
+
聊天输入栏技能选择器:
|
|
28
|
+
|
|
29
|
+
<p align="center">
|
|
30
|
+
<img src="docs/screenshots/picker.png" alt="聊天栏技能选择器" width="480" />
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
## 安装
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
dsh plugin --profile web add "github:pn1024/dsh-skill-market"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
或本地路径安装:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
dsh plugin --profile web add "/path/to/dsh-skill-market"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 架构
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
dsh-skill-market/
|
|
49
|
+
├── package.json # dsh.bundle.patch + dsh.client 声明
|
|
50
|
+
├── cordis.patch.yml # 插件行注册 + 配置
|
|
51
|
+
├── src/
|
|
52
|
+
│ ├── index.js # Host 端:RPC intercept (skill-hub/*)
|
|
53
|
+
│ └── client.js # Browser 端:UI 插槽注册 (sidebar/overlay/input)
|
|
54
|
+
├── assets/ # 品牌素材(logo 图标等)
|
|
55
|
+
├── docs/screenshots/ # 界面截图
|
|
56
|
+
├── LICENSE
|
|
57
|
+
└── README.md
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Host 端 RPC 端点
|
|
61
|
+
|
|
62
|
+
| 端点 | 功能 |
|
|
63
|
+
|------|------|
|
|
64
|
+
| `skill-hub/search` | 搜索技能(SkillHub + ClawHub 双源聚合) |
|
|
65
|
+
| `skill-hub/detail` | 获取技能详情(README、版本、统计) |
|
|
66
|
+
| `skill-hub/installed` | 列出本地已安装技能 |
|
|
67
|
+
| `skill-hub/install` | 下载并安装技能到本地 |
|
|
68
|
+
| `skill-hub/uninstall` | 卸载本地技能 |
|
|
69
|
+
| `skill-hub/readme` | 读取已安装技能的 README/SKILL.md |
|
|
70
|
+
|
|
71
|
+
### Browser 端 UI 插槽
|
|
72
|
+
|
|
73
|
+
| 插槽 | 功能 |
|
|
74
|
+
|------|------|
|
|
75
|
+
| `sidebar.footer.action` | 侧边栏「技能中心」入口按钮 |
|
|
76
|
+
| `shell.overlay` | 技能中心全屏弹窗面板 |
|
|
77
|
+
| `conversation.input.left` | 聊天输入栏「⚡ 技能」快捷选择器 |
|
|
78
|
+
|
|
79
|
+
## 数据源
|
|
80
|
+
|
|
81
|
+
| 平台 | API Base | 特点 |
|
|
82
|
+
|------|----------|------|
|
|
83
|
+
| SkillHub | `https://api.skillhub.tencent.com` | 腾讯云中国镜像,高速直连,支持中文搜索 |
|
|
84
|
+
| ClawHub | `https://clawhub.com` | OpenClaw 官方技能社区,全球可用 |
|
|
85
|
+
|
|
86
|
+
## 配置
|
|
87
|
+
|
|
88
|
+
在 `cordis.patch.yml` 中可配置:
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
- insert:
|
|
92
|
+
- id: dsh-skill-market
|
|
93
|
+
name: 'dsh-skill-market'
|
|
94
|
+
config:
|
|
95
|
+
skillhubApiBase: https://api.skillhub.tencent.com
|
|
96
|
+
clawhubApiBase: https://clawhub.com
|
|
97
|
+
localSkillsDir: '' # 空则用 $DSH_HOME/skills
|
|
98
|
+
preferSkillHub: true # 中国用户优先用 SkillHub
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## License
|
|
102
|
+
|
|
103
|
+
MIT
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# dsh-skill-market bundle patch: registers the skill market row.
|
|
2
|
+
# Host half intercepts /api skill-hub/* RPC endpoints.
|
|
3
|
+
# Browser half registers sidebar.footer.action + shell.overlay + conversation.input.left slots.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: dsh-skill-market
|
|
6
|
+
name: 'dsh-skill-market'
|
|
7
|
+
config:
|
|
8
|
+
# Primary source: SkillHub (Tencent China mirror, fast direct access from CN)
|
|
9
|
+
skillhubApiBase: https://api.skillhub.tencent.com
|
|
10
|
+
# Fallback source: ClawHub (official, globally accessible)
|
|
11
|
+
clawhubApiBase: https://clawhub.com
|
|
12
|
+
# Local skills directory (defaults to $DSH_HOME/skills or ~/.dsh/skills)
|
|
13
|
+
localSkillsDir: ''
|
|
14
|
+
# Whether to auto-use SkillHub as primary (CN users: true)
|
|
15
|
+
preferSkillHub: true
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-skill-market",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "dsh 技能市场:聚合 SkillHub + ClawHub 双源搜索技能,站内 README 预览,一键安装/卸载,聊天栏技能选择器,左上角技能中心面板",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "src/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.js",
|
|
9
|
+
"./client": "./src/client.js",
|
|
10
|
+
"./package.json": "./package.json"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"src",
|
|
14
|
+
"cordis.patch.yml",
|
|
15
|
+
"docs",
|
|
16
|
+
"screenshots.json",
|
|
17
|
+
"README.md",
|
|
18
|
+
"README.en.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"dsh",
|
|
23
|
+
"dsh-plugin",
|
|
24
|
+
"deepseek-harness",
|
|
25
|
+
"skill-marketplace",
|
|
26
|
+
"clawhub",
|
|
27
|
+
"skillhub"
|
|
28
|
+
],
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/pn1024/dsh-skill-market.git"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/pn1024/dsh-skill-market",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/pn1024/dsh-skill-market/issues"
|
|
37
|
+
},
|
|
38
|
+
"dsh": {
|
|
39
|
+
"engines": {
|
|
40
|
+
"dsh": ">=0.1.1-rc.1"
|
|
41
|
+
},
|
|
42
|
+
"bundle": {
|
|
43
|
+
"patch": "./cordis.patch.yml"
|
|
44
|
+
},
|
|
45
|
+
"client": {
|
|
46
|
+
"platform": "web",
|
|
47
|
+
"inject": [
|
|
48
|
+
"@deepseek-ai/dsh-client-connection",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-slots"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"peerDependencies": {
|
|
54
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
55
|
+
"@deepseek-ai/dsh-app-boot": "*",
|
|
56
|
+
"@deepseek-ai/dsh-client-connection": "*",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-slots": "*"
|
|
58
|
+
}
|
|
59
|
+
}
|