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

12 KiB
Raw Blame History

name, description
name description
openclaw-trapi-config 配置传米科技 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 URLhttps://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.patchtrapi provider 添加到 models.providers

{
  "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

{
  "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-glmMiniMax-mxmK2.6kimimimomimo
  2. 去除分隔符 — 去掉 -.、空格:GLM-5-TurboGLM5Turbo
  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. 模型 IDQwen-3-Plus
  2. 默认参数:contextWindow 200KmaxTokens 64Kinput ["text"]
  3. 别名:清理为 Qwen3Plusqwen3(无冲突)→ 别名:qwen3
  4. Patch 模型到 trapi.models,别名到 agents.defaults.models
  5. 验证

参考文档

遇到问题时,读取 references/custom-provider-config.md 获取 OpenClaw 官方 Custom Provider 配置参考。

在线文档

故障排查

  • 401/403:API Key 无效或过期 — 请用户核实
  • 连接超时:检查到 lapi.transiglobal.com 的网络连通性
  • Model not found:模型 ID 可能已变更 — 联系传米科技确认
  • config.patch 冲突trapi provider 已存在时 patch 会合并;别名冲突时警告用户
  • 别名冲突:重新生成带数字后缀的别名并与用户确认