LinkAI Agent Skill
这个 skill 允许你调用 LinkAI 平台上的多个应用(App)和工作流(Workflow),通过简单的配置即可集成多个智能体能力。
特性
- ✅ 多应用支持 - 在一个配置文件中管理多个 LinkAI 应用/工作流
- ✅ 动态加载 - skill 系统加载时自动从
config.json读取应用列表 - ✅ 自动技能描述 - 所有配置的应用会自动添加到技能描述中
- ✅ 模型切换 - 可以为每个请求指定不同的模型
- ✅ 知识库集成 - 支持应用绑定的知识库
- ✅ 插件能力 - 支持应用启用的各类插件
- ✅ 工作流执行 - 支持执行复杂的多步骤工作流
快速开始
1. 配置 API Key
env_config(action="set", key="LINKAI_API_KEY", value="your-linkai-api-key")
获取 API Key: https://link-ai.tech/console/interface
2. 配置应用列表
将 config.json.template 复制为 config.json:
cp config.json.template config.json
编辑 config.json,添加你的应用/工作流:
{
"apps": [
{
"app_code": "G7z6vKwp",
"app_name": "通用助手",
"app_description": "通用AI助手,可以回答各类问题"
},
{
"app_code": "your_kb_app",
"app_name": "产品文档助手",
"app_description": "基于产品文档知识库的问答助手"
},
{
"app_code": "your_workflow",
"app_name": "数据分析工作流",
"app_description": "执行数据清洗、分析和可视化的完整工作流"
}
]
}
注意: 修改 config.json 后,Agent 在下次加载技能时会自动读取新配置。
3. 调用应用
bash(command='curl -sS --max-time 120 -X POST "https://api.link-ai.tech/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer $LINKAI_API_KEY" -d "{\"app_code\":\"G7z6vKwp\",\"messages\":[{\"role\":\"user\",\"content\":\"What is artificial intelligence?\"}],\"stream\":false}"', timeout=130)
使用示例
基础调用
# 调用默认模型 (通过 bash + curl)
bash(command='curl -sS --max-time 120 -X POST "https://api.link-ai.tech/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer $LINKAI_API_KEY" -d "{\"app_code\":\"G7z6vKwp\",\"messages\":[{\"role\":\"user\",\"content\":\"解释一下量子计算\"}],\"stream\":false}"', timeout=130)
指定模型
在 JSON body 中添加 model 字段:
{
"app_code": "G7z6vKwp",
"model": "LinkAI-4.1",
"messages": [{"role": "user", "content": "写一篇关于AI的文章"}],
"stream": false
}
调用工作流
工作流的 app_code 从 LinkAI 控制台获取,调用方式与普通应用相同。
⚠️ 重要提示
超时配置
LinkAI 应用(特别是视频/图片生成、复杂工作流)可能需要较长时间处理。在 curl 命令中加入 --max-time 180,并相应增加 bash 工具的 timeout 参数。
配置说明
config.json 字段
| 字段 | 类型 | 说明 |
|---|---|---|
app_code |
string | 应用或工作流的唯一标识码,从 LinkAI 控制台获取 |
app_name |
string | 应用名称,会显示在技能描述中 |
app_description |
string | 应用功能描述,帮助 Agent 理解何时使用该应用 |
获取 app_code
- 登录 LinkAI 控制台
- 进入「应用管理」或「工作流管理」
- 选择要集成的应用/工作流
- 在应用详情页找到
app_code
应用类型
1. 普通应用
配置了系统提示词和参数的标准对话应用,可以:
- 设置角色和性格
- 绑定知识库
- 启用插件(图像识别、网页搜索、代码执行等)
2. 知识库应用
基于特定知识库的问答应用,适合:
- 企业内部知识库
- 产品文档问答
- 客户支持
3. 工作流
多步骤的自动化流程,可以:
- 串联多个处理节点
- 条件分支
- 循环处理
- 调用外部 API
响应格式
成功响应
API 返回 OpenAI 兼容格式,从 choices[0].message.content 获取回复内容:
{
"choices": [{
"message": {
"role": "assistant",
"content": "人工智能(AI)是计算机科学的一个分支..."
}
}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 150,
"total_tokens": 160
}
}
错误响应
{
"error": {
"message": "应用不存在",
"code": "xxx"
}
}
常见错误
LINKAI_API_KEY environment variable is not set
原因: 未配置 API Key
解决: 使用 env_config 工具设置 LINKAI_API_KEY
应用不存在 (402)
原因: app_code 不正确或应用已删除
解决: 检查 app_code 是否正确,确认应用存在
无访问权限 (403)
原因: 尝试访问他人的私有应用
解决: 确保应用是公开的或你是创建者
账号积分额度不足 (406)
原因: LinkAI 账户余额不足
解决: 前往控制台充值
内容审核不通过 (409)
原因: 请求或响应包含敏感内容
解决: 修改输入内容,避免敏感词
技术实现
自动技能描述生成
当 skill 系统加载 linkai-agent 时,会自动:
- 读取
config.json中的应用列表 - 将每个应用的 name 和 description 动态添加到技能描述中
- Agent 加载时会看到完整的应用列表
这是在 agent/skills/loader.py 中实现的特殊处理。
工作流程
用户配置 config.json
↓
Agent 启动/重新加载技能
↓
SkillLoader 检测到 linkai-agent
↓
动态读取 config.json
↓
生成包含所有应用描述的 description
↓
Agent 看到所有可用应用的完整信息
↓
用户请求触发
↓
Agent 根据描述选择合适的应用
↓
通过 bash + curl 调用 LinkAI API
↓
LinkAI API 处理并返回结果
最佳实践
- 清晰的描述 - 为每个应用写清晰、具体的描述,帮助 Agent 理解应用用途
- 合理分工 - 不同应用负责不同领域,避免功能重叠
- 无需重启 - 修改 config.json 后,Agent 下次加载技能时会自动更新
- 模型选择 - 根据任务复杂度选择合适的模型
- 知识库优化 - 为专业领域的应用绑定相关知识库
扩展用法
在 Agent 系统中使用
当 Agent 系统加载这个 skill 时,会自动从 config.json 读取应用列表并生成描述:
Call LinkAI apps/workflows. 通用助手(G7z6vKwp: 通用AI助手,可以回答各类问题); 产品文档助手(kb_app_001: 基于产品文档知识库的问答助手); 数据分析工作流(wf_002: 执行数据清洗、分析和可视化的完整工作流)
Agent 会根据用户问题自动选择最合适的应用进行调用。
相关链接
- LinkAI 平台: https://link-ai.tech
- API 文档: https://docs.link-ai.tech
- 控制台: https://link-ai.tech/console
- 模型列表: https://link-ai.tech/console/models
- 应用广场: https://link-ai.tech/square
License
Part of the chatgpt-on-wechat project.