Files
openclaw-trapi-config/SKILL.md
T
2026-04-26 15:08:47 +08:00

360 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: openclaw-trapi-config
description: |
配置传米科技 trapi 自定义 Provider 及模型。引导用户将 trapi Providerlapi.transiglobal.com)添加到 OpenClaw,支持首次安装和动态添加新模型。触发词:"配置 trapi"、"安装 trapi"、"添加 trapi provider"、"trapi 配置"、"Transiglobal API"、"配置传米 API"、"trapi 添加模型"、"trapi add model",或涉及 GLM-5-Turbo / GLM-5.1 / MiniMax-M2.7 / K2.6-code-preview / deepseek-v4-pro / deepseek-v4-flash / claude-opus-4.7 的 trapi 配置。也可在 trapi 已存在时用于添加新模型。
---
# trapi Provider 配置指南
在任意 OpenClaw 实例上配置 `trapi` 自定义 Provider,使用 Anthropic Messages API 格式。
## 服务信息
- **Provider 名称**`trapi`
- **Base URL**`https://lapi.transiglobal.com`
- **API 格式**`anthropic-messages`
- **运营方**:传米科技(Transiglobal
## 前置条件
1. 用户**必须提供自己的 API Key** —— 绝不使用默认或硬编码的密钥
2. 如用户未提供 API Key,**立即停止**并要求提供;不可继续执行
3. OpenClaw 必须已安装并运行
## 步骤 0:检查已有配置
**在执行任何配置操作前,必须先检查当前 OpenClaw 配置中是否已有 trapi provider 或部分模型/别名。** 避免重复配置,只补齐缺失部分。
### 检查流程
1. 使用 `gateway config.get` 获取当前 `models.providers.trapi` 配置
2. 使用 `gateway config.get` 获取当前 `agents.defaults.models` 中的 trapi 别名
3. 对比下表,列出三列状态:
| 模型 | 别名 | Provider 已有 | 别名已有 |
|------|------|:---:|:---:|
| GLM-5-Turbo | glm5t | ✅/❌ | ✅/❌ |
| GLM-5.1 | glm51 | ✅/❌ | ✅/❌ |
| GLM-4.5-Air | glm45a | ✅/❌ | ✅/❌ |
| MiniMax-M2 | mxm2 | ✅/❌ | ✅/❌ |
| MiniMax-M2.7 | mxm27 | ✅/❌ | ✅/❌ |
| K2.6-code-preview | kimi | ✅/❌ | ✅/❌ |
| deepseek-v4-pro | dsv4p | ✅/❌ | ✅/❌ |
| deepseek-v4-flash | dsv4f | ✅/❌ | ✅/❌ |
| gpt-5.5 | gpt55 | ✅/❌ | ✅/❌ |
| claude-opus-4.7 | opus47 | ✅/❌ | ✅/❌ |
### 检查结果处理
- **全部已有**Provider + 所有模型 + 所有别名):告知用户已完整配置,无需操作
- **Provider 已有,部分模型缺失**:只 patch 缺失的模型,不覆盖已有配置
- **Provider 缺失**:按步骤 1-6 完整配置
- **模型已有但别名缺失**:只 patch 缺失的别名
- **API Key 需要更新**:即使用户提供了新 Key,也要先确认旧 Key 是否仍有效
### 操作原则
1. **绝不覆盖已有配置**`config.patch` 是合并操作,但新模型如果 ID 与已有不同则追加
2. **只补齐缺失部分** — 精确对比已有 vs 缺失,只 patch 差集
3. **向用户展示补齐方案** — 明确列出将要添加/跳过的内容,等用户确认后再执行
## 步骤 1:要求 API Key
进行任何配置前,先向用户索要 `trapi` API Key。接受形式:
- 直接粘贴 Key 字符串
- 通过环境变量引用
如用户拒绝或无法提供,以明确信息终止流程:*"trapi provider 配置需要 API Key,未提供无法继续。请获取 Key 后重新运行。"*
## 步骤 2:配置 Provider
使用 `gateway config.patch``trapi` provider 添加到 `models.providers`
```json
{
"models": {
"providers": {
"trapi": {
"baseUrl": "https://lapi.transiglobal.com",
"apiKey": "<用户提供的API_KEY>",
"api": "anthropic-messages",
"models": [
{
"id": "GLM-5-Turbo",
"name": "GLM-5-Turbo (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "GLM-5.1",
"name": "GLM-5.1 (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "GLM-4.5-Air",
"name": "GLM-4.5-Air (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "MiniMax-M2",
"name": "MiniMax-M2 (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "MiniMax-M2.7",
"name": "MiniMax-M2.7 (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "K2.6-code-preview",
"name": "K2.6 Code Preview (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "deepseek-v4-pro",
"name": "DeepSeek V4 Pro (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "deepseek-v4-flash",
"name": "DeepSeek V4 Flash (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "gpt-5.5",
"name": "GPT-5.5 (Transiglobal)",
"api": "anthropic-messages",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "claude-opus-4.7",
"name": "claude-opus-4.7 (Transiglobal)",
"api": "anthropic-messages",
"reasoning": true,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 300000,
"maxTokens": 64000
}
]
}
}
}
}
```
## 步骤 3:配置模型别名
使用 `gateway config.patch` 添加别名到 `agents.defaults.models`
```json
{
"agents": {
"defaults": {
"models": {
"trapi/GLM-5-Turbo": { "alias": "glm5t" },
"trapi/GLM-5.1": { "alias": "glm51" },
"trapi/GLM-4.5-Air": { "alias": "glm45a" },
"trapi/MiniMax-M2": { "alias": "mxm2" },
"trapi/MiniMax-M2.7": { "alias": "mxm27" },
"trapi/K2.6-code-preview": { "alias": "kimi" },
"trapi/deepseek-v4-pro": { "alias": "dsv4p" },
"trapi/deepseek-v4-flash": { "alias": "dsv4f" },
"trapi/gpt-5.5": { "alias": "gpt55" },
"trapi/claude-opus-4.7": { "alias": "opus47" }
}
}
}
}
```
## 步骤 4:应用配置
使用 `gateway config.patch` 并附带 `note` 参数说明变更内容。Gateway 会自动热加载或重启。
## 步骤 5:逐个验证模型
配置生效后,使用 subagent 逐个验证模型:
```
sessions_spawn(
model: "trapi/<模型ID>",
task: "Reply with exactly: OK",
runtime: "subagent"
)
```
验证顺序:
1. `trapi/GLM-5-Turbo`(别名:glm5t
2. `trapi/GLM-5.1`(别名:glm51
3. `trapi/GLM-4.5-Air`(别名:glm45a
4. `trapi/MiniMax-M2`(别名:mxm2
5. `trapi/MiniMax-M2.7`(别名:mxm27
6. `trapi/K2.6-code-preview`(别名:kimi
7. `trapi/deepseek-v4-pro`(别名:dsv4p
8. `trapi/deepseek-v4-flash`(别名:dsv4f
9. `trapi/gpt-5.5`(别名:gpt55
10. `trapi/claude-opus-4.7`(别名:opus47
### 验证标准
每个模型验证通过的条件:
- subagent 返回正常响应(非错误/超时)
- 响应包含文本输出
### 验证报告
所有模型验证完成后,输出汇总表:
| 模型 | 别名 | 状态 |
|------|------|------|
| GLM-5-Turbo | glm5t | ✅/❌ |
| GLM-5.1 | glm51 | ✅/❌ |
| GLM-4.5-Air | glm45a | ✅/❌ |
| MiniMax-M2 | mxm2 | ✅/❌ |
| MiniMax-M2.7 | mxm27 | ✅/❌ |
| K2.6-code-preview | kimi | ✅/❌ |
| deepseek-v4-pro | dsv4p | ✅/❌ |
| deepseek-v4-flash | dsv4f | ✅/❌ |
| gpt-5.5 | gpt55 | ✅/❌ |
| claude-opus-4.7 | opus47 | ✅/❌ |
## 步骤 6:使用指引
配置完成并通过验证后,向用户展示快捷切换模型的使用方式:
```
/glm45a → 切换到 GLM-4.5-Air(轻量)
/glm5t → 切换到 GLM-5-Turbo(高性价比)
/glm51 → 切换到 GLM-5.1(旗舰)
/mxm2 → 切换到 MiniMax-M2
/mxm27 → 切换到 MiniMax-M2.7
/kimi → 切换到 K2.6-code-preview(支持图片)
/dsv4p → 切换到 DeepSeek V4 Pro
/dsv4f → 切换到 DeepSeek V4 Flash(快速)
/gpt55 → 切换到 GPT-5.5
/opus47 → 切换到 Claude Opus 4.7(最新旗舰)
```
提示用户在对话中直接输入 `/alias` 即可快速切换模型。
## 添加新模型(trapi 已配置时)
当 trapi Provider 已存在,用户需要添加新模型时使用此流程。
### 用户需提供的信息
| 字段 | 是否必填 | 默认值 |
|------|---------|--------|
| 模型 ID(全称) | ✅ 必填 | — |
| contextWindow | 选填 | 200000200K |
| maxTokens | 选填 | 6400064K |
| input 类型 | 选填 | `["text"]`(可加 `"image"` |
### 别名生成规则
生成 **≤ 5 字符**的别名,按以下优先级:
1. **已知模式** — 从常见缩写推导:
- `GLM-``glm``MiniMax-``mxm``K2.6``kimi``mimo``mimo`
2. **去除分隔符** — 去掉 `-``.`、空格:`GLM-5-Turbo``GLM5Turbo`
3. **取前 5 字符**`GLM5T`
4. **转小写**`glm5t`
5. **冲突处理**:如与已有别名冲突,追加数字后缀:`glm5t2`
### 已有别名(不可重复)
| 模型 | 别名 |
|------|------|
| GLM-4.5-Air | glm45a |
| GLM-5-Turbo | glm5t |
| GLM-5.1 | glm51 |
| MiniMax-M2 | mxm2 |
| MiniMax-M2.7 | mxm27 |
| K2.6-code-preview | kimi |
| deepseek-v4-pro | dsv4p |
| deepseek-v4-flash | dsv4f |
| gpt-5.5 | gpt55 |
| claude-opus-4.7 | opus47 |
### 操作流程
1. 向用户询问**模型 ID**(全称)
2. 询问是否需要自定义 contextWindow、maxTokens 或 input 类型
3. 按上述规则生成别名
4. 向用户展示拟配置方案并确认
5. `gateway config.patch` 添加模型到 `models.providers.trapi.models`
6. `gateway config.patch` 添加别名到 `agents.defaults.models`
7. subagent 验证:`sessions_spawn(model: "trapi/<模型ID>", task: "Reply with exactly: OK", runtime: "subagent")`
8. 报告结果
### 示例:添加 "Qwen-3-Plus"
用户说:"给 trapi 加一个 Qwen-3-Plus"
1. 模型 ID`Qwen-3-Plus`
2. 默认参数:contextWindow 200KmaxTokens 64Kinput `["text"]`
3. 别名:清理为 `Qwen3Plus``qwen3`(无冲突)→ 别名:`qwen3`
4. Patch 模型到 `trapi.models`,别名到 `agents.defaults.models`
5. 验证
## 参考文档
遇到问题时,读取 `references/custom-provider-config.md` 获取 OpenClaw 官方 Custom Provider 配置参考。
### 在线文档
- 模型与 Providerhttps://docs.openclaw.ai/concepts/models
- Model Providershttps://docs.openclaw.ai/concepts/model-providers
## 故障排查
- **401/403**API Key 无效或过期 — 请用户核实
- **连接超时**:检查到 `lapi.transiglobal.com` 的网络连通性
- **Model not found**:模型 ID 可能已变更 — 联系传米科技确认
- **config.patch 冲突**trapi provider 已存在时 patch 会合并;别名冲突时警告用户
- **别名冲突**:重新生成带数字后缀的别名并与用户确认