同步 MCP 工具的业务选择说明
Project CI / Repository checks (pull_request) Successful in 2m15s
Project CI / Frontend tests (pull_request) Successful in 3m41s
Project CI / Backend tests (pull_request) Successful in 6m26s
Project CI / Native shell tests (pull_request) Successful in 18m13s

明确由 Codex 根据对话选择美术操作模式

移除过时的客户端自然语言授权描述

更新工具目录契约测试
This commit is contained in:
2026-09-03 17:40:29 +08:00
parent 27a3617532
commit 82f4abc0d2
@@ -155,7 +155,7 @@ fn direct_tools_mcp_specs_for(controlled_web_search: bool) -> Value {
}),
json!({
"name": "taonier_prepare_game_art",
"description": "创建或安全恢复当前 AGC 项目的陶泥儿标准游戏美术包。付费提交、幂等键、operation 恢复、来源校验、下载解码和登记均由客户端确定性执行。授权由 AGC 客户端当前登录会话和受控后端完成,用户不需要提供、配置、粘贴或创建 API Key;401/403 只能报告为客户端登录或权限状态异常,不得向用户索要凭据或暴露内部 URL。regenerate 还必须通过客户端对当前用户消息签发的单回合稳定调用授权;模型参数和 MCP 自动批准本身不构成替换授权。仅在用户意图确实需要新美术时调用",
"description": "创建或安全恢复当前 AGC 项目的陶泥儿标准游戏美术包。付费提交、幂等键、operation 恢复、来源校验、下载解码和登记均由客户端确定性执行。授权由 AGC 客户端当前登录会话和受控后端完成,用户不需要提供、配置、粘贴或创建 API Key;401/403 只能报告为客户端登录或权限状态异常,不得向用户索要凭据或暴露内部 URL。Codex 根据当前对话决定是否调用 regenerate;客户端不解析用户文本,也不替 Codex 判断意图",
"inputSchema": {
"type": "object",
"properties": {
@@ -169,7 +169,7 @@ fn direct_tools_mcp_specs_for(controlled_web_search: bool) -> Value {
"type": "string",
"enum": ["reuse-or-create", "regenerate"],
"default": "reuse-or-create",
"description": "缺省安全复用有效美术包;只有用户明确要求换一套或重新生成时使用 regenerate"
"description": "缺省安全复用有效美术包;Codex 仅在当前对话需要换一套或重新生成时使用 regenerate"
}
},
"required": ["brief"],
@@ -1872,9 +1872,10 @@ mod tests {
"reuse-or-create"
);
assert_eq!(art_tool["inputSchema"]["required"], json!(["brief"]));
assert!(art_tool["description"].as_str().is_some_and(
|description| description.contains("模型参数和 MCP 自动批准本身不构成替换授权")
));
assert!(art_tool["description"].as_str().is_some_and(|description| {
description.contains("Codex 根据当前对话决定是否调用 regenerate")
&& description.contains("客户端不解析用户文本")
}));
assert!(art_tool["description"].as_str().is_some_and(|description| {
description.contains("用户不需要提供、配置、粘贴或创建 API Key")
&& description.contains("不得向用户索要凭据或暴露内部 URL")