Skip to content

Commit 0ce9116

Browse files
committed
feat:Agent Skill,你记一下,我做如下部署调整!
1 parent 18e2fab commit 0ce9116

File tree

9 files changed

+229
-3
lines changed

9 files changed

+229
-3
lines changed

docs/.vuepress/config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,12 +717,13 @@ function genBarGuide() {
717717
]
718718
},
719719
{
720-
title: "智能组件(4)",
720+
title: "智能组件(5)",
721721
collapsable: true,
722722
sidebarDepth: 0,
723723
children: [
724724
"spring-ai.md",
725725
"google-adk.md",
726+
"agent-skill.md",
726727
"draw.io.md",
727728
"ai-ssh-opencode.md",
728729
]
1.4 MB
Loading
135 KB
Loading
547 KB
Loading
138 KB
Loading
532 KB
Loading
224 KB
Loading

docs/md/road-map/agent-skill.md

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
---
2+
title: agent-skill
3+
lock: need
4+
---
5+
6+
# Agent Skill,你记一下,我做如下部署调整!
7+
8+
作者:小傅哥
9+
<br/>博客:[https://bugstack.cn](https://bugstack.cn)
10+
11+
> 沉淀、分享、成长,让自己和他人都能有所收获!😄
12+
13+
大家好,我是技术UP主小傅哥。
14+
15+
skill 是什么?它像是一本技能书📚,把一阳指(`mcp/py/shell/js`)和狮吼功(`prompt`)合成了一整招。缩短了从用户把提示词发给AI客户端,进行分析,决策,再到 mcp 执行的过程,**让诉求直达结果**,token 减少了,幻觉减少了!
16+
17+
<div align="center">
18+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-00.png" width="250px">
19+
</div>
20+
21+
22+
随着 LLM 大模型能力的不断提升,并与 RAG、MCP、Skill 的结合,使得 Agent 智能体与完整的计算机环境(Computer/Phone)交互成为可能。这个过程中,一方面不断产生新的技术方案,一方面又不断的优化设计。就像 Skill 的出现,它不是替代 MCP,而是更准确的使用 MCP 能力。
23+
24+
接下来,小傅哥就带着大家使用一波 skill,让小伙伴们可以在 opencode、trae.ai,以及基于 Spring AI 也可以使用上 skill 能力。
25+
26+
## 一、skill 和 prompt + mcp
27+
28+
如图,演示了一段 skill 的编写案例;
29+
30+
<div align="center">
31+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-02.png" width="850px">
32+
</div>
33+
34+
- 场景:案例中体现的是,对电脑性能检测后,用一段下达命令的方式,告知用户如何优化电脑性能。
35+
- 重点:如果不使用 skill,则需要描述一大段话术,让 ai 自己完成对用户场景诉求的分析,并按照步骤来调用对应的各个 mcp 服务(没有 skill 则需要把各类内容,都包装为 mcp 服务)。这个过程是比较消耗 token 的,也可能有不小的幻觉。现在有了 skill,我们可以适当的完整的写一段诉求文档,文档里嵌入可执行的脚本/mcp服务,让执行更可靠。
36+
- 用途:那都有哪些场景可以写 skill 技能书呢?🤔 如;互联网公司里的系统巡检,在接收到报警日志后,拿到一个报警的系统和接口信息,之后用 skill 技能书,分别采集出对应的系统配置、上线日志、数据库/缓存情况、运营操作记录、全链路监控上的接口耗时情况等。之后在根据我们日常排查问题的时候经验,编写过程步骤,这样会更加准确。
37+
38+
> 所以,不是 skill、mcp 谁替代谁,而是 skill 对 mcp 进行增强,让 ai 执行时更加可靠。
39+
40+
## 二、配置使用
41+
42+
首先,像是市面上的 claude code、opencode 这些软件,都是支持了 skill 技能书配置使用的,如果遇到一些软件暂时还不支持 skill,或者自己使用 spring ai、langchain4j、google adk 构建的智能体时候需要使用 skil 技能,则可以通过 skillport-mcp 来使用 skill 配置。
43+
44+
这里小傅哥分别演示下 opencode、trae.ai + mcp、spring ai + google adk + mcp 的方式使用 skill;
45+
46+
### 1. 测试工程(skill)
47+
48+
<div align="center">
49+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-03.png" width="300px">
50+
</div>
51+
52+
- 地址:[https://github.com/fuzhengwei/xfg-dev-tech-agent-skills](https://github.com/fuzhengwei/xfg-dev-tech-agent-skills)
53+
- 说明:
54+
- 工程里 `docs/skills` 下面就是一个个技能书,battle-plan、pdf,每一个技能书下都必须有一个 SKILL.md 文件,作为入口。这个文件,可以描述 prompt 提示词,以及在提示词中明确给出可执行的脚本(py\shell\js)和可参考的文档。
55+
- 此外,在 xfg-dev-tech-app 下,test 里编码的是 SpringAiToolTest 测试技能书案例。
56+
57+
### 2. opencode 使用
58+
59+
- 文档:[https://opencode.ai/docs/skills/](https://opencode.ai/docs/skills/)
60+
- 安装:[https://bugstack.cn/md/road-map/ai-ssh-opencode.html](https://bugstack.cn/md/road-map/ai-ssh-opencode.html) - `做好了安装脚本,方便小白伙伴使用`
61+
62+
#### 2.1 配置skill
63+
64+
```java
65+
fuzhengwei@fuzhengweideMacBook-Pro-2 skill % ls
66+
battle-plan
67+
fuzhengwei@fuzhengweideMacBook-Pro-2 skill % pwd
68+
/Users/fuzhengwei/.opencode/skill
69+
fuzhengwei@fuzhengweideMacBook-Pro-2 skill % cd battle-plan
70+
fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan % ls
71+
reference.md scripts SKILL.md
72+
fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan %
73+
```
74+
75+
进入到 opencode 配置文件下,如果是 linux 一般会放到 `/root/.config/opencode/` 下。首先你要进入到这个 opencode 配置文件夹,之后在这个文件夹添加一个 skill,再之后就在 skill 下创建你的具体的技能书了。现在你可以把 xfg-dev-tech-agent-skills 案例工程的技能书,battle-plan 放到 skill 里。
76+
77+
#### 2.2 开启skill
78+
79+
```java
80+
fuzhengwei@fuzhengweideMacBook-Pro-2 ~ % cd /Users/fuzhengwei/.opencode
81+
fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % ls
82+
bin node_modules package.json
83+
bun.lock opencode.json skill
84+
fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % cat opencode.json
85+
{
86+
"permission": {
87+
"skill": {
88+
"pr-review": "allow",
89+
"internal-*": "deny",
90+
"experimental-*": "ask",
91+
"*": "allow"
92+
}
93+
},
94+
"$schema": "https://opencode.ai/config.json"
95+
}% fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode %
96+
```
97+
98+
- 注意 `opencode.json` 需要配置下 `"*": "allow"`
99+
100+
#### 2.3 使用skill
101+
102+
<div align="center">
103+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-04.png" width="600px">
104+
</div>
105+
106+
- 提问:`基于 skill 解答,电脑性能优化`
107+
- 说明:这里的`电脑性能优化`就是 skill 工具名称的描述。
108+
109+
### 3. trae.ai + mcp + skill
110+
111+
#### 3.1 工具说明
112+
113+
工具:[https://github.com/gotalab/skillport](https://github.com/gotalab/skillport)
114+
115+
目前还有不少 AI Agent 智能体,在底层设计上,还不支持直接使用 skill,也包括一些 ai 组件框架,也都没有 skill 的直接支持。那么这里要引入一个 skillport-mcp 服务来解决。借助 mcp 能力,使用 skill。
116+
117+
#### 3.2 工具安装
118+
119+
```java
120+
# 需要安装 python3
121+
pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
122+
pip3 install uvx
123+
```
124+
125+
- 安装 skillport 前,要确保本地安装了 pyhton/python3 环境。之后有 uvx 的安装。
126+
127+
```java
128+
pip3 install skillport
129+
# or: uv tool install skillport
130+
```
131+
132+
- 如果安装过程中遇到一些失败的问题,可以用 trae.ai 里面执行安装,之后把报错拖进去提问。
133+
134+
#### 3.3 mcp 配置
135+
136+
<div align="center">
137+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-05.png" width="600px">
138+
</div>
139+
140+
```java
141+
{
142+
"mcpServers": {
143+
"skillport": {
144+
"command": "uvx",
145+
"args": ["skillport-mcp"],
146+
"env": { "SKILLPORT_SKILLS_DIR": "~/.skillport/skills" }
147+
}
148+
}
149+
}
150+
```
151+
152+
- 这里你要配置下自己 skill mcp 服务,到你的 trae.ai 中。确保一定安装好了 python 环境,可以执行 `pip3 install skillport` 安装。
153+
154+
#### 3.4 工具使用
155+
156+
<div align="center">
157+
<img src="https://bugstack.cn/images/roadmap/tutorial/road-map-agent-skill-01.png" width="400px">
158+
</div>
159+
160+
当你选择 Builder with MCP(涵盖了skillport-mcp),之后提问 `基于 skill 解答,电脑性能优化` 那么就可以得到上面的命令了。
161+
162+
### 4. spring ai + skill
163+
164+
```java
165+
public class SpringAiToolTest {
166+
167+
private static final Logger log = LoggerFactory.getLogger(SpringAiToolTest.class);
168+
169+
public static void main(String[] args) {
170+
OpenAiApi openAiApi = OpenAiApi.builder()
171+
.baseUrl("https://apis.itedus.cn")
172+
.apiKey("sk-efen7WX8Q8vGvBps3f7c9a34578d41BbBc508dC5Df33A9Fb")
173+
.completionsPath("v1/chat/completions")
174+
.embeddingsPath("v1/embeddings")
175+
.build();
176+
177+
ChatModel chatModel = OpenAiChatModel.builder()
178+
.openAiApi(openAiApi)
179+
.defaultOptions(OpenAiChatOptions.builder()
180+
.model("gpt-4.1")
181+
.toolCallbacks(new ArrayList<>() {{
182+
addAll(List.of(sseMcpClient()));
183+
}})
184+
.build())
185+
.build();
186+
187+
// String call = chatModel.call("你哪有哪些 skill 工具能力");
188+
String call = chatModel.call("基于 skill 解答,电脑性能优化");
189+
190+
log.info("测试结果:{}", call);
191+
192+
}
193+
194+
/**
195+
* https://github.com/gotalab/skillport
196+
* pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
197+
* pip3 config set install.trusted-host mirrors.aliyun.com
198+
* pip3 config list
199+
* pip3 install uvx
200+
*/
201+
public static ToolCallback[] sseMcpClient() {
202+
ServerParameters stdioParams = ServerParameters.builder("uvx")
203+
.args("skillport-mcp")
204+
.env(new HashMap<>() {{
205+
put("SKILLPORT_SKILLS_DIR", "/Users/fuzhengwei/coding/gitcode/KnowledgePlanet/road-map/xfg-dev-tech-agent-skills/docs/skills");
206+
}})
207+
.build();
208+
209+
McpSyncClient mcpSyncClient = McpClient.sync(new StdioClientTransport(stdioParams, new JacksonMcpJsonMapper(new ObjectMapper())))
210+
.requestTimeout(Duration.ofSeconds(35000)).build();
211+
212+
McpSchema.InitializeResult initialize = mcpSyncClient.initialize();
213+
214+
return SyncMcpToolCallbackProvider.builder().mcpClients(mcpSyncClient).build()
215+
.getToolCallbacks();
216+
}
217+
218+
}
219+
```
220+
221+
- 在 Spring AI 程序中,添加 `skillport-mcp` 服务,之后在 ChatModel 模型里,使用 mcp 服务。
222+
- 如果你正在开发一些 AI Agent,那么也可以把 `skillport-mcp` 配置进去使用。如小傅哥带着做 [AI Agent 智能体项目](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html) 你现在可以加进去更多的扩展操作了。
223+
224+
225+

docs/md/road-map/ai-ssh-opencode.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: ai ssh
2+
title: ai ssh opencode
33
lock: need
44
---
55

6-
# ai ssh 命令行工具(opencode
6+
# ai ssh opencode 命令行工具
77

88
作者:小傅哥
99
<br/>博客:[https://bugstack.cn](https://bugstack.cn)

0 commit comments

Comments
 (0)