什么是 Code Mode
Code Mode 让 AI Agent 用一小段 JavaScript 来编排多个出行查询,而不必逐个调用工具。这段代码可以调用 rideclaw.flight.search() 等出行函数,并写入条件、循环和比较逻辑。平台会安全地执行它,只把你的 Agent 真正需要的最终结果返回给你 —— 大量中间数据由平台代为处理,无需再回传给模型。
何时用 Code Mode、何时用标准 MCP
Code Mode 适合需要多步骤或条件逻辑、否则要多次单独调用工具的场景。对单一、无条件的查询,标准 MCP 更简单、更快。
代码能做什么
你的代码运行在安全的沙箱环境中,没有网络和文件访问权限 —— 只能调用下列出行函数。用 await 调用它们,返回值的字段名与常规 API 响应一致。每个请求独立执行并设有合理的执行限制,因此异常代码绝不会影响其他请求。
示例:条件回退
这段代码一次性处理'今天没有低于 100 元的机票就查明天'。标准 MCP 下需要多次单独调用,Code Mode 下你只需表达一次,就能拿到结果。
// 发给 run_code 的 code 参数
let r1 = await rideclaw.flight.search({
trip_mode: "domestic", trip_type: "oneway",
from_code: "SHA", to_code: "SZX",
depart_date: "2026-06-05", sort_by: "price"
});
let cheap = (r1.flights || []).filter(f => f.price < 100);
if (cheap.length > 0) {
return { date: "2026-06-05", flights: cheap };
}
let r2 = await rideclaw.flight.search({
trip_mode: "domestic", trip_type: "oneway",
from_code: "SHA", to_code: "SZX",
depart_date: "2026-06-06", sort_by: "price"
});
return {
date: "2026-06-06",
flights: (r2.flights || []).slice(0, 5),
note: "今天无低于100元的票,已切换到明天"
};调用端点
让 MCP 客户端指向 Code Mode 端点,调用 run_code 工具,把代码作为 code 参数传入。该端点列出的工具只有 run_code。鉴权方式与标准 MCP 一致 —— 使用你的 API Key。
POST https://open.longxiachuxing.com/api/open/v1/mcp/code
Authorization: Bearer 你的_API_KEY
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run_code",
"arguments": { "code": "return await rideclaw.flight.search({...});" }
}
}小贴士
写一段代码会比只发一个工具调用稍慢一些,所以一次性的简单查询用标准 MCP 体感更快。当一段代码能替代多次调用、或需要处理大量数据时,Code Mode 才更划算。在 Web Chat 演示中,代码会随编写过程实时流式显示,你能立刻看到进度。