bfi-cli 0.1.26 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bfi-cli",
3
- "version": "0.1.26",
3
+ "version": "0.1.35",
4
4
  "description": "用友大业财BFI统一命令行工具,支持技能,技能包,元数据,UI元数据等",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,187 @@
1
+ ---
2
+ name: skillhub-skills
3
+ description: 使用 bfi CLI 在 SkillHub 上搜索、安装、发布和管理技能。当用户需要查找技能、从任意来源安装技能、发布技能到 SkillHub 或管理技能包时使用。
4
+ ---
5
+
6
+ # skillhub-skills — SkillHub 命令行工具
7
+
8
+ bfi 是 SkillHub 生态的统一命令行工具。融合了开源 agent skills 生态能力和 SkillHub 专有功能。
9
+
10
+ ## ⚠️ 第零步:检查 bfi CLI 是否安装(最早执行)
11
+
12
+ **在执行任何 SkillHub 操作之前,必须先确认 bfi CLI 已安装。**
13
+
14
+ 静默运行 `bfi --version`。如果返回错误或未找到命令:
15
+
16
+ ```
17
+ 需要安装 bfi CLI 工具。正在安装:
18
+
19
+ ```bash
20
+ npm install -g bfi-cli
21
+ ```
22
+
23
+ 安装完成后,继续执行后续步骤。
24
+
25
+ **在做任何操作之前,必须先确认用户已登录。**
26
+
27
+ 静默运行 `bfi whoami`。如果返回错误或未认证:
28
+
29
+ ```
30
+ 你需要登录 SkillHub 才能继续。请提供你的 API Token。
31
+
32
+ 获取 Token 方式:打开 https://bfi.yyuap.com:811/ → 控制台 → 个人设置 → API Token
33
+
34
+ 请直接回复你的 Token,我会自动完成登录。
35
+ ```
36
+
37
+ 用户提供 Token 后,立即静默执行:
38
+ ```bash
39
+ bfi auth login --token <用户提供的Token>
40
+ ```
41
+
42
+ 登录成功后,继续执行用户原本请求的操作,无需用户再次输入。如果登录失败,告知用户 Token 无效,请重新提供。
43
+
44
+ ## 判断场景
45
+
46
+ 根据用户意图选择对应场景:
47
+
48
+ ### 场景 1:使用技能(搜索、安装、使用、查看)
49
+
50
+ 用户想找技能、安装技能、试用技能、查看已安装的技能。
51
+
52
+ **1.1 搜索技能**
53
+ ```bash
54
+ bfi skills search <关键词> # 搜索 SkillHub(默认)
55
+ bfi skills search <关键词> --marketplace # 搜索 skills.sh 公开市场
56
+ ```
57
+
58
+ **1.2 查看技能详情**
59
+ ```bash
60
+ bfi skills info <@namespace/slug 或 namespace--slug>
61
+ ```
62
+
63
+ **1.3 安装技能**
64
+ ```bash
65
+ # SkillHub
66
+ bfi skills add @命名空间/技能名
67
+ bfi skills add 命名空间--技能名
68
+
69
+ # Git 仓库(默认 git.yyrd.com)
70
+ bfi skills add owner/repo --skill <name> # 指定仓库中的某个技能
71
+ bfi skills add owner/repo # 安装全部技能
72
+ bfi skills add owner/repo --branch <分支> # 指定分支
73
+
74
+ # GitHub
75
+ bfi skills add github:owner/repo # 强制走 github.com
76
+
77
+ # 安装选项
78
+ bfi skills add <来源> -y # 跳过交互确认
79
+ bfi skills add <来源> --list # 仅列出技能,不安装
80
+ ```
81
+
82
+ **1.4 安装技能包**
83
+ ```bash
84
+ bfi skills package install @namespace/package-name
85
+ ```
86
+
87
+ **1.5 查看已安装**
88
+ ```bash
89
+ bfi skills list
90
+ bfi skills ls -g # 全局安装的技能
91
+ ```
92
+
93
+ **1.6 使用技能(不安装)**
94
+ ```bash
95
+ bfi skills use <来源> # 生成 prompt 文本
96
+ ```
97
+
98
+ ### 场景 2:管理技能(发布、更新、卸载、包管理)
99
+
100
+ 用户想发布技能、管理包、更新/卸载技能。
101
+
102
+ **2.1 发布技能**
103
+ ```bash
104
+ # 从 Git 发布(推荐,自动发现所有技能)
105
+ bfi skills publish owner/repo --from git --namespace <ns>
106
+
107
+ # 从本地目录发布
108
+ bfi skills publish <路径> --namespace <ns>
109
+
110
+ # 从 ZIP 发布
111
+ bfi skills publish <路径> --from zip --namespace <ns>
112
+
113
+ # 选项
114
+ # --visibility public 公开发布(默认)
115
+ # --branch <分支> 指定分支(默认 main)
116
+ # --skill <name> 只发布指定技能
117
+ # -y 跳过确认
118
+ ```
119
+
120
+ **2.2 卸载技能**
121
+ ```bash
122
+ bfi skills remove <技能名> -y
123
+ ```
124
+
125
+ **2.3 更新技能**
126
+ ```bash
127
+ bfi skills update # 更新全部
128
+ bfi skills update <技能名>
129
+ # Git 来源的技能会检查远端更新
130
+ # SkillHub 来源的技能请用 bfi skills add 重新安装
131
+ ```
132
+
133
+ **2.4 技能包管理**
134
+ ```bash
135
+ # 创建包
136
+ bfi skills package create <slug> --namespace <ns>
137
+
138
+ # 添加技能到包
139
+ bfi skills package add-skills @ns/pkg <skill...>
140
+
141
+ # 从包移除技能
142
+ bfi skills package remove-skills @ns/pkg <skill...>
143
+
144
+ # 安装包
145
+ bfi skills package install @ns/pkg
146
+
147
+ # 卸载包
148
+ bfi skills package uninstall @ns/pkg
149
+
150
+ # 查看已安装的包
151
+ bfi skills package list
152
+ ```
153
+
154
+ ### 场景 3:记录技能调用
155
+
156
+ **每次使用技能时必须记录:**
157
+ ```bash
158
+ bfi skills log <技能名> "简要描述"
159
+ ```
160
+
161
+ ## 技能引用格式
162
+
163
+ | 格式 | 示例 | 说明 |
164
+ |------|------|------|
165
+ | `@ns/slug` | `@retail/skill-pm` | SkillHub 技能 |
166
+ | `ns--slug` | `retail--skill-pm` | 兼容格式 |
167
+ | `owner/repo` | `bfi/bfi-skill` | Git 仓库(默认 git.yyrd.com) |
168
+ | `github:owner/repo` | `github:vercel-labs/agent-skills` | 强制 GitHub |
169
+
170
+ ## 配置
171
+
172
+ ```bash
173
+ bfi config get # 查看全部配置
174
+ bfi config set registry <url> --global # 设置 API 地址
175
+ bfi config set namespace <ns> # 设置默认命名空间
176
+ ```
177
+
178
+ ## 常见问题
179
+
180
+ **Q: 公司 GitLab 仓库中的技能找不到?**
181
+ A: 默认从 git.yyrd.com 克隆。如果是 GitHub 上的技能,使用 `github:` 前缀。
182
+
183
+ **Q: 如何更新 SkillHub 上的技能?**
184
+ A: 用 `bfi skills publish` 重新发布即可,服务端自动版本管理。
185
+
186
+ **Q: 发布失败?**
187
+ A: 确保 SKILL.md 文件在发布目录或仓库中,且包含 name 和 description 字段。
@@ -1,176 +0,0 @@
1
- ---
2
- name: bfi-skill
3
- description: 使用 bfi CLI 在 SkillHub 上搜索、安装、发布和管理技能。当用户需要查找技能、从任意来源安装技能、发布技能到 SkillHub 或管理技能包时使用。
4
- ---
5
-
6
- # bfi-skill — SkillHub 命令行工具
7
-
8
- bfi 是 SkillHub 生态的统一命令行工具。融合了开源 agent skills 生态能力(70+ AI agent 支持、GitHub/GitLab/URL 多源安装)和 SkillHub 专有功能(发布、包管理、认证)。
9
-
10
- ## 何时使用
11
-
12
- 当用户有以下需求时使用 bfi:
13
- - 搜索技能("帮我找个 React 技能"、"搜索数据库相关的技能")
14
- - 安装技能("安装这个技能"、"把 db-explore 装上")
15
- - 发布技能("发布我的技能"、"把这个技能上传到 SkillHub")
16
- - 管理技能包("创建一个技能包"、"把几个技能打包")
17
- - 认证操作("登录 skillhub"、"查看当前用户")
18
- - 查看/卸载已安装技能("我装了哪些技能"、"卸载某某技能")
19
-
20
- ## 全局选项
21
-
22
- ```
23
- --token <token> API Token(也可通过 BFI_TOKEN 环境变量设置)
24
- --registry <url> API 地址(默认: https://bfi.yyuap.com:811)
25
- --namespace <ns> 默认命名空间(默认: global)
26
- --help, -h 显示帮助
27
- --version, -v 显示版本
28
- ```
29
-
30
- Token 解析优先级:CLI `--token` → 环境变量 `BFI_TOKEN` → 项目配置 `.bfirc` → 全局配置 `~/.bfirc`
31
-
32
- ## 命令参考
33
-
34
- ### 认证
35
-
36
- ```bash
37
- bfi auth login --token <token> # 保存 API Token 到本地
38
- bfi auth logout # 清除已保存的 Token
39
- bfi auth whoami # 查看当前登录用户信息
40
- ```
41
-
42
- ### 搜索
43
-
44
- ```bash
45
- bfi skills search <关键词> # 搜索 SkillHub 市场(默认)
46
- bfi skills search <关键词> --namespace <ns> # 在指定命名空间搜索
47
- bfi skills search <关键词> --marketplace # 搜索 skills.sh 公开市场
48
- bfi skills search <关键词> --all # 同时搜索 SkillHub + skills.sh
49
- bfi skills search <关键词> --json # JSON 格式输出
50
- bfi skills search <关键词> --limit 50 # 最大返回数(默认 20)
51
- ```
52
-
53
- ### 安装
54
-
55
- ```bash
56
- # 从 SkillHub 安装
57
- bfi skills add @命名空间/技能名 # 从 SkillHub 安装指定技能
58
- bfi skills add 命名空间--技能名 # 兼容格式
59
- bfi skills add 技能名 # 跨命名空间搜索并安装
60
-
61
- # 从 GitHub/GitLab 安装
62
- bfi skills add owner/repo # GitHub 简写
63
- bfi skills add owner/repo/路径/到/技能 # 指定子目录
64
- bfi skills add owner/repo@技能名 # 指定仓库中的某个技能
65
- bfi skills add https://github.com/owner/repo # 完整 URL
66
- bfi skills add gitlab:owner/repo # GitLab 简写
67
-
68
- # 安装选项
69
- bfi skills add <来源> --skill <名称> # 安装指定技能
70
- bfi skills add <来源> --agent <agent> # 安装到指定 agent
71
- bfi skills add <来源> -g # 全局安装
72
- bfi skills add <来源> --all # 安装全部技能到全部 agent
73
- bfi skills add <来源> --list # 仅列出可用技能,不安装
74
- ```
75
-
76
- ### 查看
77
-
78
- ```bash
79
- bfi skills list # 列出项目已安装技能
80
- bfi skills ls -g # 列出全局已安装技能
81
- bfi skills ls --json # JSON 格式输出
82
- bfi skills ls -a claude-code # 按 agent 过滤
83
-
84
- bfi skills info @命名空间/技能名 # 查看 SkillHub 技能详情
85
- bfi skills info 命名空间--技能名 # 兼容格式
86
- bfi skills info <引用> --json # JSON 格式输出
87
- ```
88
-
89
- ### 卸载
90
-
91
- ```bash
92
- bfi skills remove # 交互式选择卸载
93
- bfi skills remove 技能名 # 卸载指定技能
94
- bfi skills rm -g 技能名 # 从全局卸载
95
- bfi skills remove --all # 卸载全部技能
96
- ```
97
-
98
- ### 更新
99
-
100
- ```bash
101
- bfi skills update # 更新全部已安装技能
102
- bfi skills update 技能名 # 更新指定技能
103
- bfi skills update -g # 更新全局技能
104
- ```
105
-
106
- ### 发布
107
-
108
- ```bash
109
- bfi skills publish # 发布当前目录的技能
110
- bfi skills publish <路径> # 从指定目录发布
111
- bfi skills publish <路径> --from zip # 从 .zip 压缩包发布
112
- bfi skills publish <url> --from git # 走服务端 Git API(parse → publish)
113
- bfi skills publish <路径> --namespace <ns> # 指定目标命名空间
114
- bfi skills publish <路径> --visibility public # 公开发布
115
- bfi skills publish <路径> --yes # 跳过确认提示
116
- ```
117
-
118
- ### 技能包管理
119
-
120
- ```bash
121
- bfi skills package list [--namespace <ns>] # 列出技能包
122
- bfi skills package info @ns/包名 # 查看包详情
123
- bfi skills package create <slug> [--name] [--desc] # 创建技能包
124
- bfi skills package add <包名> <技能...> # 添加技能到包
125
- bfi skills package remove <包名> <技能...> # 从包移除技能
126
- ```
127
-
128
- ### 初始化
129
-
130
- ```bash
131
- bfi skills init # 在当前目录创建 SKILL.md
132
- bfi skills init 技能名 # 在子目录中创建 SKILL.md
133
- ```
134
-
135
- ## 技能引用格式
136
-
137
- SkillHub 技能使用带命名空间的引用格式:
138
-
139
- | 格式 | 示例 | 说明 |
140
- |------|------|------|
141
- | `@ns/slug` | `@myteam/db-explore` | 命名空间 myteam,技能 db-explore |
142
- | `ns--slug` | `myteam--db-explore` | 同上(兼容旧格式) |
143
- | `slug` | `db-explore` | 仅 slug,安装时自动搜索全部命名空间 |
144
-
145
- ## 配置管理
146
-
147
- ```bash
148
- bfi config get # 查看全部配置
149
- bfi config get registry # 查看指定配置项
150
- bfi config set registry <url> # 设置项目配置
151
- bfi config set registry <url> --global # 设置全局配置
152
- bfi config set namespace <ns> # 设置默认命名空间
153
- ```
154
-
155
- ## 典型用法示例
156
-
157
- ```bash
158
- # 完整流程:搜索 → 安装 → 查看
159
- bfi skills search react
160
- bfi skills add @myteam/react-best-practices
161
- bfi skills list
162
-
163
- # 发布技能
164
- bfi skills init my-skill
165
- # ... 编辑 my-skill/SKILL.md ...
166
- bfi auth login --token sk-xxx
167
- bfi skills publish my-skill --namespace myteam --visibility public
168
-
169
- # 技能包管理
170
- bfi skills package create frontend-kit --namespace myteam
171
- bfi skills package add @myteam/frontend-kit @myteam/react-best-practices @myteam/css-guide
172
- bfi skills package info @myteam/frontend-kit
173
-
174
- # 从 GitHub 安装
175
- bfi skills add vercel-labs/agent-skills --skill pr-review --agent claude-code
176
- ```