@skill4agent/cli 1.0.10
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.md +178 -0
- package/README_CN.md +178 -0
- package/bin/skill4agent.js +3 -0
- package/dist/api.d.ts +31 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +83 -0
- package/dist/api.js.map +1 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +300 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/install.d.ts +11 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +188 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +5 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +79 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/uninstall.d.ts +7 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +122 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/index-manager.d.ts +35 -0
- package/dist/index-manager.d.ts.map +1 -0
- package/dist/index-manager.js +192 -0
- package/dist/index-manager.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +79 -0
- package/dist/main.js.map +1 -0
- package/dist/tools.d.ts +16 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +106 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +30 -0
- package/dist/utils.js.map +1 -0
- package/package.json +46 -0
package/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# skill4agent CLI
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@skill4agent/cli)
|
|
4
|
+
[](https://www.npmjs.com/package/@skill4agent/cli)
|
|
5
|
+
[](https://github.com/osulivan/skill4agent-cli)
|
|
6
|
+
[](./LICENSE)
|
|
7
|
+
|
|
8
|
+
> 🚀 **The easiest way to install and manage Agent Skills for AI coding assistants**
|
|
9
|
+
|
|
10
|
+
By [skill4agent.com](https://www.skill4agent.com) - A command-line tool for installing Agent Skills.
|
|
11
|
+
|
|
12
|
+
[](https://www.skill4agent.com)
|
|
13
|
+
|
|
14
|
+
[English](https://github.com/osulivan/skill4agent-cli/blob/main/README.md) | [中文](https://github.com/osulivan/skill4agent-cli/blob/main/README_CN.md)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 🌟 Why skill4agent?
|
|
19
|
+
|
|
20
|
+
- **🎯 Curated Skills**: Access a vast collection of high-quality skills from [skill4agent.com](https://www.skill4agent.com)
|
|
21
|
+
- **🌐 Bilingual Support**: Every skill includes both English and Chinese translations, breaking language barriers
|
|
22
|
+
- **✅ Quality Assurance**: Automated script detection ensures all skills are safe and reliable
|
|
23
|
+
- **🏷️ Smart Categorization**: Fine-grained categories and tags help you quickly find the right skill
|
|
24
|
+
- **🤖 AI-Optimized**: Tags are embedded in SKILL.md, enabling AI Agents to match your needs more accurately
|
|
25
|
+
- **⚡ One-Command Install**: Install any skill to multiple IDEs with a single command
|
|
26
|
+
- **🔧 Multi-IDE Support**: Works with Trae, Cursor, Claude, OpenCode, OpenClaw, and more
|
|
27
|
+
- **🌍 Global & Project Installation**: Install globally or per-project
|
|
28
|
+
- **📦 Smart Management**: List and uninstall skills easily
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Installation
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Using npx (recommended - no installation required)
|
|
36
|
+
npx skill4agent <command>
|
|
37
|
+
|
|
38
|
+
# Or install globally
|
|
39
|
+
npm install -g @skill4agent/cli
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
> 💡 Find available skills at [skill4agent.com](https://www.skill4agent.com)
|
|
43
|
+
> - `<source>`: The source repository (e.g., `anthropics/skills`)
|
|
44
|
+
> - `<skill>`: The skill name (e.g., `frontend-design`)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Interactive installation (recommended for beginners)
|
|
48
|
+
npx skill4agent add <source> <skill>
|
|
49
|
+
|
|
50
|
+
# Non-interactive installation (for scripts and AI automation)
|
|
51
|
+
npx skill4agent install <source> <skill> [options]
|
|
52
|
+
|
|
53
|
+
# List installed skills
|
|
54
|
+
npx skill4agent list
|
|
55
|
+
|
|
56
|
+
# Uninstall a skill
|
|
57
|
+
npx skill4agent uninstall <skill>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
### `add` - Interactive Installation
|
|
63
|
+
|
|
64
|
+
Interactive installation with prompts for configuration options.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx skill4agent add <source> <skill>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `install` - Non-interactive Installation
|
|
71
|
+
|
|
72
|
+
For scripts and AI automation with explicit options.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx skill4agent install <source> <skill> [options]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
| Option | Description | Default |
|
|
79
|
+
|--------|-------------|---------|
|
|
80
|
+
| `--type` | `original` or `translated` | original |
|
|
81
|
+
| `--global` | Install globally (available to all projects) | project dir |
|
|
82
|
+
| `--dirs` | Installation directories (comma-separated): `.trae,.cursor` | `.agents` only |
|
|
83
|
+
| `--method` | `symlink` or `copy` | symlink |
|
|
84
|
+
|
|
85
|
+
### `list` - List Installed Skills
|
|
86
|
+
|
|
87
|
+
Display all installed skills with their installation details.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx skill4agent list
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Output columns:**
|
|
94
|
+
- **Name**: Skill name
|
|
95
|
+
- **Source**: Repository source (e.g., `anthropics/skills`)
|
|
96
|
+
- **Scope**: Installation scope (`Global`, `Project`, or `Global,Project`)
|
|
97
|
+
- **Installed**: Installation date
|
|
98
|
+
|
|
99
|
+
### `uninstall` - Uninstall a Skill
|
|
100
|
+
|
|
101
|
+
Remove an installed skill.
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Uninstall from all scopes (global and all projects)
|
|
105
|
+
npx skill4agent uninstall <skill>
|
|
106
|
+
|
|
107
|
+
# Uninstall from global only
|
|
108
|
+
npx skill4agent uninstall <skill> --global
|
|
109
|
+
|
|
110
|
+
# Uninstall from all projects only (non-global installations)
|
|
111
|
+
npx skill4agent uninstall <skill> --project
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Examples
|
|
115
|
+
|
|
116
|
+
### Installation Examples
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Minimal: install with all defaults
|
|
120
|
+
npx skill4agent install anthropics/skills frontend-design
|
|
121
|
+
|
|
122
|
+
# Install to specific directories (comma-separated)
|
|
123
|
+
npx skill4agent install anthropics/skills frontend-design --dirs ".trae,.cursor"
|
|
124
|
+
|
|
125
|
+
# Global installation (available to all projects)
|
|
126
|
+
npx skill4agent install anthropics/skills frontend-design --global
|
|
127
|
+
|
|
128
|
+
# Full options
|
|
129
|
+
npx skill4agent install anthropics/skills frontend-design \
|
|
130
|
+
--type original \
|
|
131
|
+
--global \
|
|
132
|
+
--dirs ".trae,.cursor" \
|
|
133
|
+
--method symlink
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### List Example
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
$ npx skill4agent list
|
|
140
|
+
|
|
141
|
+
📦 Installed Skills (3 skills, 5 installs)
|
|
142
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
143
|
+
Name Source Scope Installed
|
|
144
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
145
|
+
frontend-design anthropics/skills Global,Project 2026/02/08
|
|
146
|
+
agent-tools inferencesh/skills Global 2026/02/07
|
|
147
|
+
web-search custom/skills Project 2026/02/06
|
|
148
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
149
|
+
|
|
150
|
+
Total: 3 skills (5 installs)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Uninstall Examples
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# Uninstall completely (all scopes)
|
|
157
|
+
npx skill4agent uninstall frontend-design
|
|
158
|
+
|
|
159
|
+
# Uninstall from global only
|
|
160
|
+
npx skill4agent uninstall frontend-design --global
|
|
161
|
+
|
|
162
|
+
# Uninstall from all projects only
|
|
163
|
+
npx skill4agent uninstall frontend-design --project
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🔗 Useful Links
|
|
169
|
+
|
|
170
|
+
- 🌐 **Website**: [skill4agent.com](https://www.skill4agent.com) - Discover and browse all available skills
|
|
171
|
+
- 📦 **npm Package**: [npmjs.com/package/@skill4agent/cli](https://www.npmjs.com/package/@skill4agent/cli)
|
|
172
|
+
- 💻 **GitHub Repository**: [github.com/osulivan/skill4agent-cli](https://github.com/osulivan/skill4agent-cli)
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
<p align="center">
|
|
177
|
+
Made with ❤️ by <a href="https://www.skill4agent.com">skill4agent.com</a>
|
|
178
|
+
</p>
|
package/README_CN.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# skill4agent CLI
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@skill4agent/cli)
|
|
4
|
+
[](https://www.npmjs.com/package/@skill4agent/cli)
|
|
5
|
+
[](https://github.com/osulivan/skill4agent-cli)
|
|
6
|
+
[](./LICENSE)
|
|
7
|
+
|
|
8
|
+
> 🚀 **安装和管理 AI 编程助手 Agent Skills 的最简单方式**
|
|
9
|
+
|
|
10
|
+
由 [skill4agent.com](https://www.skill4agent.com) 提供 - 一个用于安装 Agent Skills 的命令行工具。
|
|
11
|
+
|
|
12
|
+
[](https://www.skill4agent.com)
|
|
13
|
+
|
|
14
|
+
[English](https://github.com/osulivan/skill4agent-cli/blob/main/README.md) | [中文](https://github.com/osulivan/skill4agent-cli/blob/main/README_CN.md)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 🌟 为什么选择 skill4agent?
|
|
19
|
+
|
|
20
|
+
- **🎯 精选技能**: 从 [skill4agent.com](https://www.skill4agent.com) 快速安装海量高质量 skills
|
|
21
|
+
- **� 双语支持**: 每个 skill 都提供中英文翻译版本,打破语言障碍
|
|
22
|
+
- **✅ 质量检测**: 自动检测 skill 中的脚本,确保安全可靠
|
|
23
|
+
- **🏷️ 智能分类**: 精细的分类和标签系统,帮你快速找到合适的 skill
|
|
24
|
+
- **🤖 AI 友好**: 标签信息写入 SKILL.md,让 AI Agent 更精准匹配你的需求
|
|
25
|
+
- **⚡ 一键安装**: 用单个命令安装任何 skill 到多个 IDE
|
|
26
|
+
- **🔧 多 IDE 支持**: 支持 Trae、Cursor、Claude、OpenCode、OpenClaw 等
|
|
27
|
+
- **🌍 全局与项目安装**: 支持全局安装或按项目安装
|
|
28
|
+
- **📦 智能管理**: 轻松列出和卸载技能
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 安装
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# 使用 npx(推荐 - 无需安装)
|
|
36
|
+
npx skill4agent <命令>
|
|
37
|
+
|
|
38
|
+
# 或全局安装
|
|
39
|
+
npm install -g @skill4agent/cli
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
> 💡 在 [skill4agent.com](https://www.skill4agent.com) 查找可用技能
|
|
43
|
+
> - `<源仓库>`: 源仓库名称(如 `anthropics/skills`)
|
|
44
|
+
> - `<技能名>`: 技能名称(如 `frontend-design`)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 交互式安装(推荐新手,按照步骤选项安装)
|
|
48
|
+
npx skill4agent add <源仓库> <技能名>
|
|
49
|
+
|
|
50
|
+
# 非交互式安装(适合脚本自动化、AI操作使用)
|
|
51
|
+
npx skill4agent install <源仓库> <技能名> [选项]
|
|
52
|
+
|
|
53
|
+
# 查看已安装的技能列表
|
|
54
|
+
npx skill4agent list
|
|
55
|
+
|
|
56
|
+
# 卸载技能
|
|
57
|
+
npx skill4agent uninstall <技能名>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 命令说明
|
|
61
|
+
|
|
62
|
+
### `add` - 交互式安装
|
|
63
|
+
|
|
64
|
+
交互式安装,通过提示选择配置选项。
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx skill4agent add <源仓库> <技能名>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `install` - 非交互式安装
|
|
71
|
+
|
|
72
|
+
适合脚本和 AI 自动化,通过参数指定配置。
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx skill4agent install <源仓库> <技能名> [选项]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
| 选项 | 说明 | 默认值 |
|
|
79
|
+
|------|------|--------|
|
|
80
|
+
| `--type` | `original` 或 `translated` | original |
|
|
81
|
+
| `--global` | 是否全局安装,不传则安装在项目目录 | 项目目录 |
|
|
82
|
+
| `--dirs` | 安装目录(逗号分隔),如 ".trae,.cursor" | 默认仅安装在".agents"目录下 |
|
|
83
|
+
| `--method` | `symlink` 或 `copy` | symlink |
|
|
84
|
+
|
|
85
|
+
### `list` - 查看已安装技能
|
|
86
|
+
|
|
87
|
+
显示所有已安装的技能及其安装详情。
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx skill4agent list
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**输出列说明:**
|
|
94
|
+
- **Name**: 技能名称
|
|
95
|
+
- **Source**: 源仓库(如 `anthropics/skills`)
|
|
96
|
+
- **Scope**: 安装范围(`Global`、`Project` 或 `Global,Project`)
|
|
97
|
+
- **Installed**: 安装日期
|
|
98
|
+
|
|
99
|
+
### `uninstall` - 卸载技能
|
|
100
|
+
|
|
101
|
+
移除已安装的技能。
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# 从所有范围卸载(全局和所有项目)
|
|
105
|
+
npx skill4agent uninstall <技能名>
|
|
106
|
+
|
|
107
|
+
# 仅从全局卸载
|
|
108
|
+
npx skill4agent uninstall <技能名> --global
|
|
109
|
+
|
|
110
|
+
# 仅从所有项目卸载(非全局安装)
|
|
111
|
+
npx skill4agent uninstall <技能名> --project
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 示例
|
|
115
|
+
|
|
116
|
+
### 安装示例
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 最简:以所有默认参数安装
|
|
120
|
+
npx skill4agent install anthropics/skills frontend-design
|
|
121
|
+
|
|
122
|
+
# 安装到指定目录,多个目录逗号分隔
|
|
123
|
+
npx skill4agent install anthropics/skills frontend-design --dirs ".trae,.cursor"
|
|
124
|
+
|
|
125
|
+
# 全局安装,所有项目可用
|
|
126
|
+
npx skill4agent install anthropics/skills frontend-design --global
|
|
127
|
+
|
|
128
|
+
# 完整参数
|
|
129
|
+
npx skill4agent install anthropics/skills frontend-design \
|
|
130
|
+
--type original \
|
|
131
|
+
--global \
|
|
132
|
+
--dirs ".trae,.cursor" \
|
|
133
|
+
--method symlink
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 列表示例
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
$ npx skill4agent list
|
|
140
|
+
|
|
141
|
+
📦 Installed Skills (3 skills, 5 installs)
|
|
142
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
143
|
+
Name Source Scope Installed
|
|
144
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
145
|
+
frontend-design anthropics/skills Global,Project 2026/02/08
|
|
146
|
+
agent-tools inferencesh/skills Global 2026/02/07
|
|
147
|
+
web-search custom/skills Project 2026/02/06
|
|
148
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
149
|
+
|
|
150
|
+
Total: 3 skills (5 installs)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 卸载示例
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# 完全卸载(所有范围)
|
|
157
|
+
npx skill4agent uninstall frontend-design
|
|
158
|
+
|
|
159
|
+
# 仅从全局卸载
|
|
160
|
+
npx skill4agent uninstall frontend-design --global
|
|
161
|
+
|
|
162
|
+
# 仅从所有项目卸载
|
|
163
|
+
npx skill4agent uninstall frontend-design --project
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🔗 有用链接
|
|
169
|
+
|
|
170
|
+
- 🌐 **网站**: [skill4agent.com](https://www.skill4agent.com) - 发现并浏览所有可用 skills
|
|
171
|
+
- 📦 **npm 包**: [npmjs.com/package/@skill4agent/cli](https://www.npmjs.com/package/@skill4agent/cli)
|
|
172
|
+
- 💻 **GitHub 仓库**: [github.com/osulivan/skill4agent-cli](https://github.com/osulivan/skill4agent-cli)
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
<p align="center">
|
|
177
|
+
用 ❤️ 由 <a href="https://www.skill4agent.com">skill4agent.com</a> 制作
|
|
178
|
+
</p>
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface SkillInfo {
|
|
2
|
+
skillName: string;
|
|
3
|
+
name: string;
|
|
4
|
+
nameCn: string;
|
|
5
|
+
description: string;
|
|
6
|
+
descriptionCn: string;
|
|
7
|
+
descriptionTranslated: string;
|
|
8
|
+
category: {
|
|
9
|
+
nameCn: string;
|
|
10
|
+
nameEn: string;
|
|
11
|
+
} | null;
|
|
12
|
+
tags: string;
|
|
13
|
+
tagsCn: string;
|
|
14
|
+
originalLanguage: string;
|
|
15
|
+
hasTranslation: boolean;
|
|
16
|
+
hasScript: boolean;
|
|
17
|
+
scriptCount: number;
|
|
18
|
+
scriptCheckResult: string;
|
|
19
|
+
hasDownloaded: boolean;
|
|
20
|
+
downloadStatus: string;
|
|
21
|
+
totalInstalls: number;
|
|
22
|
+
trending24h: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function downloadSkill(topSource: string, skillName: string, type?: 'original' | 'translated'): Promise<string>;
|
|
25
|
+
export declare function getSkillInfo(topSource: string, skillName: string): Promise<{
|
|
26
|
+
skill: SkillInfo | null;
|
|
27
|
+
sourceExists: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
export declare function getDownloadUrl(topSource: string, skillName: string, type?: 'original' | 'translated'): string;
|
|
30
|
+
export declare function incrementInstallCount(topSource: string, skillName: string): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAU,GAAG,YAAyB,GAC3C,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CA2CpI;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,UAAU,GAAG,YAAyB,GAAG,MAAM,CAEzH;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F"}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.downloadSkill = downloadSkill;
|
|
7
|
+
exports.getSkillInfo = getSkillInfo;
|
|
8
|
+
exports.getDownloadUrl = getDownloadUrl;
|
|
9
|
+
exports.incrementInstallCount = incrementInstallCount;
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
12
|
+
const os_1 = __importDefault(require("os"));
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const API_BASE = 'https://skill4agent.com/api';
|
|
15
|
+
async function downloadSkill(topSource, skillName, type = 'original') {
|
|
16
|
+
const url = `${API_BASE}/download?top_source=${encodeURIComponent(topSource)}&skill_name=${encodeURIComponent(skillName)}&type=${type}`;
|
|
17
|
+
const response = await axios_1.default.get(url, {
|
|
18
|
+
responseType: 'arraybuffer',
|
|
19
|
+
});
|
|
20
|
+
const tempDir = fs_extra_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'skill4agent-'));
|
|
21
|
+
const fileName = `${skillName}.zip`;
|
|
22
|
+
const filePath = path_1.default.join(tempDir, fileName);
|
|
23
|
+
fs_extra_1.default.writeFileSync(filePath, Buffer.from(response.data));
|
|
24
|
+
return filePath;
|
|
25
|
+
}
|
|
26
|
+
async function getSkillInfo(topSource, skillName) {
|
|
27
|
+
try {
|
|
28
|
+
const url = `${API_BASE}/skills/info?top_source=${encodeURIComponent(topSource)}&skill_name=${encodeURIComponent(skillName)}`;
|
|
29
|
+
const response = await axios_1.default.get(url);
|
|
30
|
+
if (response.status === 404) {
|
|
31
|
+
return { skill: null, sourceExists: false };
|
|
32
|
+
}
|
|
33
|
+
const skill = response.data.data;
|
|
34
|
+
if (!skill) {
|
|
35
|
+
return { skill: null, sourceExists: true };
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
skill: {
|
|
39
|
+
skillName: skill.skillName,
|
|
40
|
+
name: skill.name,
|
|
41
|
+
nameCn: skill.nameCn,
|
|
42
|
+
description: skill.description,
|
|
43
|
+
descriptionCn: skill.descriptionCn,
|
|
44
|
+
descriptionTranslated: skill.descriptionTranslated,
|
|
45
|
+
category: skill.category,
|
|
46
|
+
tags: skill.tags,
|
|
47
|
+
tagsCn: skill.tagsCn,
|
|
48
|
+
originalLanguage: skill.originalLanguage,
|
|
49
|
+
hasTranslation: skill.hasTranslation,
|
|
50
|
+
hasScript: skill.hasScript,
|
|
51
|
+
scriptCount: skill.scriptCount,
|
|
52
|
+
scriptCheckResult: skill.scriptCheckResult,
|
|
53
|
+
hasDownloaded: skill.hasDownloaded,
|
|
54
|
+
downloadStatus: skill.downloadStatus,
|
|
55
|
+
totalInstalls: skill.totalInstalls,
|
|
56
|
+
trending24h: skill.trending24h,
|
|
57
|
+
},
|
|
58
|
+
sourceExists: true,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (error.response?.status === 404) {
|
|
63
|
+
return { skill: null, sourceExists: false };
|
|
64
|
+
}
|
|
65
|
+
return { skill: null, sourceExists: false };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function getDownloadUrl(topSource, skillName, type = 'original') {
|
|
69
|
+
return `${API_BASE}/download?top_source=${encodeURIComponent(topSource)}&skill_name=${encodeURIComponent(skillName)}&type=${type}`;
|
|
70
|
+
}
|
|
71
|
+
async function incrementInstallCount(topSource, skillName) {
|
|
72
|
+
try {
|
|
73
|
+
const url = `${API_BASE}/skills/install`;
|
|
74
|
+
await axios_1.default.post(url, {
|
|
75
|
+
top_source: topSource,
|
|
76
|
+
skill_name: skillName,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
// 静默失败,不影响安装流程
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAgKA,wBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgM7E"}
|