携程问道(workbuddy 合作版)技能接入与使用文档
本文档详细介绍携程问道(workbuddy 合作版)技能(wendao-partner-workbuddy-skill)的接入流程、使用方法、环境配置及注意事项,适用于需要集成该技能并调用携程问道 API 获取旅行相关信息的开发 / 运维人员。
一、技能概述
1. 核心能力
该技能针对各类旅行相关问询场景触发(如酒店 / 机票预订、景点推荐、行程规划、签证查询等),触发后通过调用携程问道 API 返回专业的旅行规划与攻略信息,不依赖通用知识库回答。
2. 核心约束
技能触发后,仅允许通过调用问道 API 获取结果,禁止使用通用知识库回答旅行问题;
API 返回结果仅提取
result字段展示给用户,其余字段(如events/messages/state)为内部日志,不对外展示。
二、前置准备
1. 环境要求
运行环境已安装 Node.js(v18 及以上版本);
可访问公网,能调用携程问API域名(
https://externalcallback.ctrip.com)。
2. 获取 API Token
1)访问携程问道开放平台:https://www.ctrip.com/wendao/openclaw;
2)按页面指引完成认证,申请并复制 API Token(API Key);
3)注意:Token 为敏感信息,仅保存在可信环境,禁止截图 / 泄露完整密钥到公开渠道。
三、环境配置(Token 设置)
API Token 通过环境变量WENDAO_API_KEY传入,优先级高于临时传入,支持以下配置方式(按需选择):
1. 临时配置(当前终端会话有效)
macOS/Linux
export WENDAO_API_KEY='你的API Token'Windows CMD
set WENDAO_API_KEY=你的API TokenWindows PowerShell
$env:WENDAO_API_KEY="你的API Token"2. 长期配置(本机永久生效)
macOS/Linux:将Token 写入终端配置文件(如~/.zshrc/~/.bash_profile)
echo 'export WENDAO_API_KEY="你的API Token"' >> ~/.zshrc source ~/.zshrc # 立即生效Windows:在「系统设置 - 高级系统设置 - 环境变量」中,添加「用户变量」WENDAO_API_KEY,值为你的 Token。
3. 托管环境配置(OpenClaw / 腾讯云等)
在平台的技能环境变量配置页,新增 WENDAO_API_KEY ,值为你的 API Token,确保技能运行时可读取该变量。
四、技能使用方法
1. 脚本位置
技能目录下的scripts/wendao_query.js为核心调用脚本,支持通过命令行参数或环境变量传入用户查询内容。
2. 执行方式(推荐写文件执行,避免引号嵌套错误)
方式 1:命令行参数传入用户查询
# 格式:node scripts/wendao_query.js "用户的旅行相关查询内容" node scripts/wendao_query.js "预订明天北京三里屯附近的酒店,预算800-1200元"方式 2:环境变量传入用户查询
# 格式:WENDAO_QUERY="用户查询内容" node scripts/wendao_query.js WENDAO_QUERY="规划7天日本自由行行程" node scripts/wendao_query.js方式 3:临时传入 Token
若未提前配置WENDAO_API_KEY,可在执行命令时临时传入(仅本次调用有效)
# macOS/Linux WENDAO_API_KEY="你的Token" node scripts/wendao_query.js "查询北京到上海的高铁票" # Windows CMD set WENDAO_API_KEY=你的Token && node scripts/wendao_query.js "查询北京到上海的高铁票" # Windows PowerShell $env:WENDAO_API_KEY="你的Token"; node scripts/wendao_query.js "查询北京到上海的高铁票"3. 脚本参数说明
参数 | 必填 | 说明 |
WENDAO_API_KEY | 是 | API 认证 Token,优先级:环境变量 > 命令行临时传入 |
USER_QUERY | 是 | 用户的旅行相关自然语言查询(完整问句,如 “暑假去成都的景点推荐”) |
timeout | 否 | API 请求超时时间,默认 30 秒(脚本内置,无需手动配置) |
4. 结果输出
脚本执行后,控制台会打印 API 返回的result字段内容(Markdown 格式),该内容即为可展示给用户的旅行相关结果。
五、常见场景示例
场景 | 执行命令示例 |
酒店预订 | node scripts/wendao_query.js "上海外滩五星级酒店,预算800-1200元" |
航班搜索 | node scripts/wendao_query.js "明天从北京到上海的航班,优先国航" |
景点推荐 | node scripts/wendao_query.js "成都周边适合亲子游的景点推荐" |
行程规划 | node scripts/wendao_query.js "7天日本蜜月旅行行程规划,含东京和京都" |
签证查询 | node scripts/wendao_query.js "2024年办理泰国旅游签证的流程和材料" |
六、API 响应解析说明
API 返回 JSON 结构示例:
{ "result": "Markdown格式的回复内容(字符串)", "messages": [...], // 内部日志,忽略 "state": {"token": "...", "query": "..."}, // 内部状态,忽略 "events": [...], // 内部事件,忽略 "error": null }脚本会自动提取 result 字段:
若 result 为字符串,直接输出;
若 result 为对象,提取 result.content ,无则转为 JSON 字符串输出。
七、安全与合规注意事项
1.域名验证:确保 API 请求仅发送至官方域名https://externalcallback.ctrip.com,禁止改用未知域名;
2. 权限与计费:提前确认 Token 的权限范围、计费规则、QPS / 配额限制,避免超额或误用;
3. 内容处理:API 返回结果可能包含链接、营销文案,需按自身产品策略决定是否展示 / 过滤 / 摘要。
八、故障排查
1. 脚本执行报错 “缺少 token 或 query”
检查
WENDAO_API_KEY是否已配置,且值不为空;检查用户查询内容是否传入(命令行参数或
WENDAO_QUERY环境变量),确保非空。
2. API 请求返回 HTTP 错误(如 401/403)
验证 Token 是否有效,是否过期;
检查 Token 权限是否覆盖当前查询场景(如酒店 / 机票 / 签证等)。
3. 脚本无输出或输出非预期内容
确认 API 返回的result字段是否有值;
检查 Node.js 版本是否≥v18,避免兼容性问题。
九、附录
技能触发规则
当用户查询包含以下关键词 / 句式时,技能自动触发:
中英文旅行相关操作词 + 场景词(如 “预订酒店”“search flight”“行程规划”“visa application”);
旅行场景限定词(如 “亲子游”“商务出差”“黄金周旅行”“honeymoon trip”);
具体目的地 + 场景(如 “北京到上海的高铁票”“hotels in Shanghai”)。
“携程技术”公众号
分享,交流,成长
