清理已退役工具测试并补充 Router 账号文档
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Successful in 3m26s
Project CI / Native shell tests (pull_request) Has been cancelled

删除已移除 Skill 引用工具的遗留专用测试

补充 llm_router_account 表结构与用途说明
This commit is contained in:
2026-09-03 14:35:22 +08:00
parent 8aaa3f5c7b
commit 9ae3aba092
2 changed files with 7 additions and 22 deletions
@@ -1583,26 +1583,4 @@ mod tests {
assert_eq!(response["isError"], true);
assert!(response.to_string().contains("未审核字段"));
}
#[test]
fn skill_resource_tool_rejects_unreviewed_paths() {
let accepted = call_agc_read_skill_resource(&json!({
"skillName": "agc-project-structure",
"relativePath": "references/structure-contract.md"
}));
assert_eq!(accepted["isError"], false);
assert!(accepted.to_string().contains("drive prefix"));
let denied = call_agc_read_skill_resource(&json!({
"skillName": "agc-project-structure",
"relativePath": "../../auth.json"
}));
assert_eq!(denied["isError"], true);
let denied_windows_absolute = call_agc_read_skill_resource(&json!({
"skillName": "agc-project-structure",
"relativePath": r"C:\temp\SKILL.md"
}));
assert_eq!(denied_windows_absolute["isError"], true);
}
}
@@ -639,6 +639,13 @@ Responses 的终态载荷既是工具调用的恢复源,也是正文的恢复
- 2026-09-02 修订:`/api/llm/responses``/api/llm/chat/completions` 在解析 Router 凭据和发起上游请求前先读取用户 `wallet_balance`;余额为 `0` 时直接返回 `409 MUD_POINTS_INSUFFICIENT`,不创建、续期或使用 Router 账号。余额读取失败同样失败关闭,返回泥点余额暂不可用。
- Windows 私有文件准备:AGC 自有 AppData、凭据目录和 `.agent` 运行态继续使用 managed 范围;用户通过原生选择器明确选中的项目根或文件,若 owner/DACL 仅因权限不足无法读取,则由一次性 UAC helper 在严格复核普通文件/目录、非 reparse/symlink、路径类型和目标 TokenUser 后接管并收紧为当前用户私有 DACL。项目放在当前 profile 之外(例如其他磁盘)不再因为路径位置被拒绝;未经过原生选择器或 AGC 项目根入口的内部路径仍不获得任意提权资格。
### `llm_router_account`
- Rust 结构体:`LlmRouterAccount`
- 源码:`server-rs/crates/spacetime-module/src/llm_router_account.rs`
- 作用:记录用户与官方 LLM Router 账号的稳定映射、账号生命周期、远端账号元数据、订阅检查状态、重试 / 对账状态和加密凭据版本。Router 明文 Key 仍只保存在 `external_api_key` 的加密字段中,账号读取和写入统一通过对应 procedure 与 `spacetime-client` facade 完成。
- 索引:`by_llm_router_account_owner_route` 用于按 owner 与路由来源读取账号;`by_llm_router_account_status_next_retry` 用于按状态和下次重试时间扫描待对账账号。
### `error_report`
- Rust 结构体:`ErrorReport`