This commit is contained in:
tianlei.qjb
2026-03-27 18:18:58 +08:00
parent b60d3fd1f5
commit 57ec9068cc
34 changed files with 10 additions and 2195 deletions
+5 -1
View File
@@ -3,6 +3,10 @@
**一个 CLI 搞定钉钉工作台所有功能 — 为人类和 AI Agent 而生。**<br>
覆盖通讯录、日历、待办、考勤、智能表格等核心能力,无需样板代码即可调用,所有响应均为结构化 JSON 输出,并内置 Agent Skills 让 AI 开箱即用。
<p align="center">
<img src="https://img.alicdn.com/imgextra/i1/O1CN01oKAc2r28jOyyspcQt_!!6000000007968-2-tps-4096-1701.png" alt="DWS Product Overview" width="100%">
</p>
> [!IMPORTANT]
> **共创阶段**:本项目涉及钉钉企业数据访问,需企业管理员授权后方可使用。当前为灰度共创阶段,请加入钉钉 DWS 共创群,提供以下材料给官方人员完成白名单配置:① 钉钉应用的 Client ID;② 企业主管理员确认开通的凭证。后续将支持企业管理员自助审批开通。
>
@@ -186,7 +190,7 @@ Token 使用 **PBKDF2(600,000 次迭代)+ AES-256-GCM** 加密存储,密
dws auth login # 钉钉身份认证
dws contact user search --keyword "悟空" # 搜索联系人
dws calendar event list # 列出日历事件
dws todo task create --title "准备季度汇报材料" --executors me # 创建待办
dws todo task create --title "准备季度汇报材料" --executors "<userId>" # 创建待办
```
## AI Agent Skills
+5 -1
View File
@@ -3,6 +3,10 @@
**One CLI for all of DingTalk Workspace — built for humans and AI agents.**<br>
Access contacts, calendar, todos, attendance, AI tables and more with zero boilerplate, get structured JSON responses ready for automation, and leverage built-in Agent Skills for seamless AI integration.
<p align="center">
<img src="https://img.alicdn.com/imgextra/i1/O1CN01oKAc2r28jOyyspcQt_!!6000000007968-2-tps-4096-1701.png" alt="DWS Product Overview" width="100%">
</p>
> [!IMPORTANT]
> **Co-creation Phase**: This project accesses DingTalk enterprise data and requires enterprise admin authorization. We are currently in a gray-scale co-creation phase. Please join the DingTalk DWS co-creation group and provide the following materials to the official staff for whitelist configuration: ① Your DingTalk application's Client ID; ② Confirmation from the enterprise admin to enable access. Self-service approval by enterprise admins will be supported in the future.
>
@@ -186,7 +190,7 @@ Tokens are encrypted at rest using **PBKDF2 (600,000 iterations) + AES-256-GCM**
dws auth login # authenticate with DingTalk
dws contact user search --keyword "Alice" # search contacts
dws calendar event list # list calendar events
dws todo task create --title "Prepare quarterly report" --executors me # create a todo
dws todo task create --title "Prepare quarterly report" --executors "<userId>" # create a todo
```
## AI Agent Skills
BIN
View File
Binary file not shown.
@@ -1,270 +0,0 @@
# CLI 动态发现真实功能测试报告
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 14:59:01 |
| 登录命令退出码 | `0` |
| 动态发现服务数 | `10` |
| 枚举命令节点数(`--help`) | `118` |
| `--help` 失败数 | `0` |
| 叶子命令真实执行数 | `83` |
| 执行成功数 | `75` |
| 执行失败数 | `8` |
## 登录结果
```text
[OK] Token 有效,无需重新登录
企业 ID: ding8196cd9a2b2405da24f2f5cc6abecb85
有效期: 30 天后
Token 将自动刷新,无需重复登录
```
## 同产品包命令依赖关系分析
### aitable
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `attachment` | `upload` | 参数 `base-id` 依赖上游实体标识 |
| `base` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `template-id` 依赖上游实体标识 |
| `base` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `base` | `get` | 参数 `base-id` 依赖上游实体标识 |
| `base` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `base` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `base` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `field` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `field-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `get` | 参数 `base-id` 依赖上游实体标识;参数 `field-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `field-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `record-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `query` | 参数 `base-id` 依赖上游实体标识;参数 `field-ids` 依赖上游实体标识;参数 `record-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `table` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `table` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `table` | `get` | 参数 `base-id` 依赖上游实体标识;参数 `table-ids` 依赖上游实体标识 |
| `table` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `template` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### attendance
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `record` | `get` | 参数 `date` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
| `rules` | `rules` | 参数 `date` 与时间窗口强相关 |
| `shift` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关;参数 `users` 依赖组织/人员上下文 |
| `summary` | `summary` | 参数 `date` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
### auth
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `login` | `login` | 参数 `login-timeout` 与时间窗口强相关;参数 `token-url` 依赖外部凭证;参数 `token` 依赖外部凭证 |
| `logout` | `logout` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `reset` | `reset` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `status` | `status` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### cache
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `refresh` | `refresh` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `status` | `status` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### calendar
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `busy` | `search` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关;参数 `users` 依赖组织/人员上下文 |
| `event` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识 |
| `event` | `get` | 参数 `id` 依赖上游实体标识 |
| `event` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `list-mine` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `end` 与时间窗口强相关;参数 `id` 依赖上游实体标识;参数 `start` 与时间窗口强相关 |
| `participant` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `participant` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `participant` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `room` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `room` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `room` | `list-groups` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `room` | `search` | 参数 `end` 与时间窗口强相关;参数 `group-id` 依赖上游实体标识;参数 `start` 与时间窗口强相关 |
### chat
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `bot` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `group` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `group` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识;参数 `users` 依赖组织/人员上下文 |
| `group` | `add-bot` | 参数 `id` 依赖上游实体标识 |
| `group` | `remove` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识;参数 `users` 依赖组织/人员上下文 |
| `group` | `rename` | 参数 `id` 依赖上游实体标识 |
| `message` | `list` | 参数 `time` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
| `message` | `recall-by-bot` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `message` | `send` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `user` 依赖组织/人员上下文 |
| `message` | `send-by-bot` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `message` | `send-by-webhook` | 参数 `at-users` 依赖组织/人员上下文;参数 `token` 依赖外部凭证 |
| `search` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### completion
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `(root)` | `completion` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### contact
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `dept` | `list-children` | 参数 `id` 依赖上游实体标识 |
| `dept` | `list-members` | 参数 `ids` 依赖上游实体标识 |
| `dept` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `get` | 参数 `ids` 依赖上游实体标识 |
| `user` | `get-self` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `search-mobile` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### devdoc
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `article` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### ding
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `message` | `recall` | 参数 `id` 依赖上游实体标识 |
| `message` | `send` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
### report
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `create` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `template-id` 依赖上游实体标识;参数 `to-user-ids` 依赖上游实体标识;参数 `to-user-ids` 依赖组织/人员上下文 |
| `detail` | `detail` | 参数 `report-id` 依赖上游实体标识 |
| `list` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `sent` | `sent` | 参数 `end` 与时间窗口强相关;参数 `modified-end` 与时间窗口强相关;参数 `modified-start` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `stats` | `stats` | 参数 `report-id` 依赖上游实体标识 |
| `template` | `detail` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `template` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### todo
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `task` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `task` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `task-id` 依赖上游实体标识 |
| `task` | `done` | 参数 `task-id` 依赖上游实体标识 |
| `task` | `get` | 参数 `task-id` 依赖上游实体标识 |
| `task` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `task` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `task-id` 依赖上游实体标识 |
### version
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `(root)` | `version` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### workbench
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `app` | `get` | 参数 `ids` 依赖上游实体标识 |
| `app` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
## 叶子命令真实执行明细
| 命令路径 | 退出码 | 自动补齐入参数量 | 摘要 |
|---|---:|---:|---|
| `dws aitable attachment upload` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base create` | `0` | `3` | { "data": { "baseId": "3NwLYZXWyrmRolXLcQG7gxMdVkyEqBQm", "baseName": "auto-test-name" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base |
| `dws aitable base delete` | `0` | `2` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base get` | `0` | `2` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base list` | `0` | `1` | { "data": { "bases": [ { "baseId": "3NwLYZXWyrmRolXLcQG7gxMdVkyEqBQm", "baseName": "auto-test-name" }, { "baseId": "QPGYqjpJYRyab0nx |
| `dws aitable base search` | `0` | `2` | { "data": { "bases": [ { "baseId": "14dA3GK8gkP4oNl0crRvZyXv89ekBD76", "baseName": "测试AI 表格" }, { "baseId": "DnRL6jAJMNX9kAgycZdkqoY |
| `dws aitable base update` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field delete` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field get` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field update` | `0` | `5` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record delete` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record query` | `0` | `6` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record update` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table delete` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table get` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table update` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable template search` | `0` | `2` | { "data": { "hasMore": false, "nextCursor": "10", "templates": [ { "description": "随堂小测试模板用于课堂即时检测,适用教师与学生,快速收集反馈,提升教学效率。", "name": "随堂小测试", |
| `dws attendance record get` | `3` | `3` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use YYYY-MM-DD, e.g. 2026-03-08" } } |
| `dws attendance rules` | `3` | `2` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use YYYY-MM-DD or yyyy-MM-dd HH:mm:ss: test" } } |
| `dws attendance shift list` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "--start date format error, use YYYY-MM-DD" } } |
| `dws attendance summary` | `3` | `3` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use yyyy-MM-dd HH:mm:ss" } } |
| `dws calendar busy search` | `0` | `2` | { "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: startTime cannot be blank", "result": [ { "scheduleItems": null } ], "success": false, |
| `dws calendar event create` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Start time cannot be blank for a non-all day event.", "result": { "attendees": nu |
| `dws calendar event delete` | `0` | `2` | { "arguments": [], "errorCode": "300014", "errorMsg": "Event not exist", "result": {}, "success": false, "trace_id": "213ee25c17745946765898223e0af0" } |
| `dws calendar event get` | `0` | `2` | { "arguments": [], "result": { "attendees": null, "categories": null, "reminders": null }, "success": false, "trace_id": "0bab027317745946772971785e07c5" } |
| `dws calendar event list` | `0` | `1` | { "arguments": [], "result": { "events": [ { "attendees": [ { "displayName": "尘舟", "optional": false, "responseS |
| `dws calendar event list-mine` | `0` | `1` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws calendar event update` | `0` | `3` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Event does not exist.", "result": {}, "success": false, "trace_id": "2106d9811774 |
| `dws calendar participant add` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "2127d89817745947042464823e |
| `dws calendar participant delete` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2106d98117 |
| `dws calendar participant list` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, |
| `dws calendar room add` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2132f5ca17 |
| `dws calendar room delete` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "213ee25c17 |
| `dws calendar room list-groups` | `0` | `1` | { "result": { "groupList": [ { "groupId": 41, "groupName": "绿城·未来park", "parentId": 0 }, { "groupId": 74, "groupName |
| `dws calendar room search` | `0` | `2` | { "arguments": [], "errorCode": "400002", "errorMsg": "filterStartTime or filterEndTime error", "result": { "result": [ { "labels": null } ] } |
| `dws chat bot search` | `0` | `4` | { "robotList": [], "success": true } |
| `dws chat group create` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members add` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members add-bot` | `0` | `3` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "0bab027317745947105987158e0780" } |
| `dws chat group members remove` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group rename` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat message list` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "--time is required" } } |
| `dws chat message recall-by-bot` | `0` | `1` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws chat message send` | `5` | `4` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws chat message send-by-bot` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws chat message send-by-webhook` | `0` | `6` | { "errcode": "300005", "errmsg": "token is not exist" } |
| `dws chat search` | `0` | `2` | { "result": { "hasMore": true, "nextCursor": "abe74d73660ef3d46bc92185e05915f2f48689450699e0bf70849ba71758a903", "total": 262, "value": [ { "extensi |
| `dws contact dept list-children` | `0` | `2` | { "result": [], "success": true } |
| `dws contact dept list-members` | `0` | `2` | { "deptUserList": [], "success": true } |
| `dws contact dept search` | `0` | `2` | { "deptList": [], "hasMore": false, "totalCount": 0 } |
| `dws contact user get` | `0` | `2` | { "result": [ { "orgEmployeeModel": { "depts": null, "labels": null, "orgId": null } } ], "success": true } |
| `dws contact user get-self` | `0` | `1` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptI |
| `dws contact user search` | `0` | `2` | { "userId": [ "033067356464903146", "030037243111903146", "025109313335903146" ] } |
| `dws contact user search-mobile` | `0` | `2` | { "arguments": [], "success": true } |
| `dws devdoc article search` | `0` | `2` | { "result": { "currentPage": 1, "hasMore": true, "items": [ { "desc": "标题: 创建知识库文档 - 开放平台\n内容: * * *\n例如,企业员工小明在测试知识库内,单击**新建** 按钮创建文档,与调用本接口实现效果一致,如下图: |
| `dws ding message recall` | `0` | `2` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745947215725878e0ad1" } |
| `dws ding message send` | `0` | `3` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745947223905960e0ad1" } |
| `dws report create` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "json_parse: invalid JSON: invalid character 'è' looking for beginning of value" } } |
| `dws report detail` | `0` | `2` | { "errorMsg": "ok", "result": { "contentV2": [ { "images": null } ], "images": [], "report_Id": "test-001", "report_content": [ { |
| `dws report list` | `0` | `1` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "0bab027317745947235068184e0780" } |
| `dws report sent` | `0` | `2` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root. |
| `dws report stats` | `0` | `2` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report template detail` | `0` | `2` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report template list` | `0` | `1` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.d |
| `dws todo task create` | `0` | `2` | { "arguments": [], "errorCode": "999", "errorMsg": "system error: java.lang.NullPointerException", "success": false, "trace_id": "2106d98117745947277007837e0b34" } |
| `dws todo task delete` | `0` | `2` | { "result": { "success": false } } |
| `dws todo task done` | `0` | `2` | { "result": { "success": false } } |
| `dws todo task get` | `0` | `2` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "213ee25c17745947295756384 |
| `dws todo task list` | `0` | `2` | { "result": { "todoCards": null } } |
| `dws todo task update` | `0` | `3` | { "result": { "success": false } } |
| `dws workbench app get` | `0` | `2` | { "eventData": { "activityType": "MULTI_PANEL", "content": { "assets": { "description": "工作台扩展", "entry": "https://dev.g.alicdn.com/dingding/dd-chat |
| `dws workbench app list` | `0` | `1` | { "appList": [ { "d": "商业保险", "i": "0_2403230743", "n": "商业保险" }, { "d": "助力组织文化活动快速落地", "i": "0_2680655126", "n": "组织文化管理平台" |
| `dws auth login` | `0` | `7` | [OK] Token 有效,无需重新登录 有效期: 24 小时后 Token 将自动刷新,无需重复登录 |
| `dws auth logout` | `0` | `1` | [OK] 已清除所有认证信息 请运行 dws auth login 重新登录 |
| `dws auth reset` | `0` | `1` | [OK] 认证信息已重置 请运行 dws auth login 重新登录 |
| `dws auth status` | `0` | `1` | 状态: 未登录 运行 dws auth login 进行登录 |
| `dws cache refresh` | `0` | `1` | [OK] 缓存刷新完成:已刷新 10 个服务,失败 10 个 缓存目录: /Users/tianlei.qjb/.dws/cache |
| `dws cache status` | `0` | `1` | 缓存目录: /Users/tianlei.qjb/.dws/cache 文件数: 1 大小: 63214 字节 |
| `dws completion` | `5` | `1` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws version` | `0` | `1` | { "go": "1.24+", "version": "v1.0.0" } |
## 执行口径说明
- 本次为**真实命令执行**(非 go test,非 dry-run);为了避免破坏性写入,入参使用自动生成测试值,部分写操作可能因业务校验失败而返回非 0。
- 所有命令均通过动态发现入口进行递归枚举,覆盖当前可见服务树。
- 凭证未写入报告,报告仅保留退出码与脱敏输出片段。
@@ -1,76 +0,0 @@
# 动态CLI失败项分层清单(latest)
- 来源报告: `/Users/tianlei.qjb/Documents/my_python_project/cli/test/reports/dynamic-real-functional-full-rerun-latest.md`
- 失败总数: `33`
| 分类 | 数量 |
|---|---:|
| 其他待分析 | 14 |
| 测试数据依赖不足 | 6 |
| 服务端能力缺失 | 6 |
| 业务规则限制 | 3 |
| 缺少真实机器人配置 | 3 |
| 命令参数映射问题 | 1 |
## 其他待分析
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error" |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error" |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error" |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745976626518395e0780" } |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws todo task get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected |
## 测试数据依赖不足
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName is required", "retryable": false, "type": "INPUT_ERROR" }, |
| `dws aitable base create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_NAME", "message": "baseName is required and cannot be empty or only whitespace", "retryable": false, "type": "INPUT_ER |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "At least one of newFieldName, config or aiConfig must be provided for update", "retryable": false, |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": { |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one writable record", "retryable": false, "type": "INPUT_ERROR" |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "tableName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": |
## 服务端能力缺失
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
## 业务规则限制
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": fa |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bab0273 |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": fa |
## 缺少真实机器人配置
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "213ee25c17745976757057733e0b11" } |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0bab027317745976874644796e07a4" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2132f5ca17745976882365774e0a19" } |
## 命令参数映射问题
| 命令 | 类型 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
@@ -1,51 +0,0 @@
# CLI 动态功能测试最终收口报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:39:06 |
| 可修复项重跑数 | `18` |
| 可修复项 pass | `10` |
| 可修复项 fail_exit | `2` |
| 可修复项 fail_business | `6` |
## 关键上下文
- uid: `061978`
- event-id: `UkFPcCtZNWtTbFozRG9lSDBsOUFPdz09`
- room-id: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
- base-id: `9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0`
- table-id: `z9JU482`
- task-id: `51470771039`
- template-id: `18b46f75236c558cc63be07419f8d65f`
- report-id: `(无)`
## 可修复项结果
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0", "baseName": "final-base-20260327-153838", "dashboards": [], "tables": [ { "tableId": "z9JU482", "tableName": "final-table- |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0", "baseName": "final-base-upd-20260327-153838", "updatedAt": "2026-03-27T15:38:50+08:00" }, "error": {}, "meta": {}, "status": "success", "s |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "bIJb2LD", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "h4D |
| `fix.aitable.table.delete` | `0` | `fail_business` | { "data": {}, "error": { "code": "InvalidRequest.Forbidden", "message": "cannot delete the last sheet", "retryable": false, "type": "USER_ERROR" }, "meta": {}, "status": "error", "summary": "F |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "BO49HAmJEs" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table z9JU482 of base 9bN7RYPWdPxOBgrQubjeYd74WZd1wy |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "BO49HAmJEs", "records": [ { "cells": { "h4DK3d5": "ok" }, "recordId": "BO49HAmJEs" } ] }, "error": {}, "meta": {}, "status": |
| `fix.aitable.record.update` | `0` | `fail_business` | { "data": {}, "error": { "code": "InvalidRequest.ResourceNotFound", "message": "fail to find the record 'dummy'", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `fix.aitable.field.get` | `0` | `pass` | { "data": { "fields": [ { "fieldId": "bIJb2LD", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "h4DK3d5", "fieldName": "自动化字段FINAL", "type" |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "2127d89817745971408062765e0aa2" } |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bb7c36217745971422665047e04a6" } |
| `fix.calendar.room.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `fix.chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.chat.message.send-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --users" } } |
| `fix.chat.message.recall-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --id" } } |
| `fix.report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `fix.report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
| `fix.todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12796115088", "cr |
## 不可控阻塞项
| 项目 | 原因 |
|---|---|
| `blocked.calendar.event.list-mine` | `server_tool_missing` |
| `blocked.chat.group.*` | `server_tool_missing` |
| `blocked.ding.message.*` | `needs_real_robot_code` |
@@ -1,51 +0,0 @@
# CLI 动态功能测试最终收口报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:39:06 |
| 可修复项重跑数 | `18` |
| 可修复项 pass | `10` |
| 可修复项 fail_exit | `2` |
| 可修复项 fail_business | `6` |
## 关键上下文
- uid: `061978`
- event-id: `UkFPcCtZNWtTbFozRG9lSDBsOUFPdz09`
- room-id: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
- base-id: `9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0`
- table-id: `z9JU482`
- task-id: `51470771039`
- template-id: `18b46f75236c558cc63be07419f8d65f`
- report-id: `(无)`
## 可修复项结果
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0", "baseName": "final-base-20260327-153838", "dashboards": [], "tables": [ { "tableId": "z9JU482", "tableName": "final-table- |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "9bN7RYPWdPxOBgrQubjeYd74WZd1wyK0", "baseName": "final-base-upd-20260327-153838", "updatedAt": "2026-03-27T15:38:50+08:00" }, "error": {}, "meta": {}, "status": "success", "s |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "bIJb2LD", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "h4D |
| `fix.aitable.table.delete` | `0` | `fail_business` | { "data": {}, "error": { "code": "InvalidRequest.Forbidden", "message": "cannot delete the last sheet", "retryable": false, "type": "USER_ERROR" }, "meta": {}, "status": "error", "summary": "F |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "BO49HAmJEs" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table z9JU482 of base 9bN7RYPWdPxOBgrQubjeYd74WZd1wy |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "BO49HAmJEs", "records": [ { "cells": { "h4DK3d5": "ok" }, "recordId": "BO49HAmJEs" } ] }, "error": {}, "meta": {}, "status": |
| `fix.aitable.record.update` | `0` | `fail_business` | { "data": {}, "error": { "code": "InvalidRequest.ResourceNotFound", "message": "fail to find the record 'dummy'", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `fix.aitable.field.get` | `0` | `pass` | { "data": { "fields": [ { "fieldId": "bIJb2LD", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "h4DK3d5", "fieldName": "自动化字段FINAL", "type" |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "2127d89817745971408062765e0aa2" } |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bb7c36217745971422665047e04a6" } |
| `fix.calendar.room.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `fix.chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.chat.message.send-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --users" } } |
| `fix.chat.message.recall-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --id" } } |
| `fix.report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `fix.report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
| `fix.todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12796115088", "cr |
## 不可控阻塞项
| 项目 | 原因 |
|---|---|
| `blocked.calendar.event.list-mine` | `server_tool_missing` |
| `blocked.chat.group.*` | `server_tool_missing` |
| `blocked.ding.message.*` | `needs_real_robot_code` |
@@ -1,22 +0,0 @@
# 可修复项定向回归报告(latest)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:49:46 |
| 重跑项数 | `4` |
| pass | `0` |
| fail_exit | `4` |
| fail_business | `0` |
- uid: `061978`
- base-id: `(无)`
- table-id: `(无)`
- event-id: `(无)`
- room-id: `(无)`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.attendance.summary` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `fix.chat.message.send` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `fix.chat.message.send-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --user" } } |
| `fix.chat.message.recall-by-bot` | `5` | `fail_exit` | { "error": { "category": "internal", "code": 5, "message": "unknown flag: --open-ding-id" } } |
@@ -1,30 +0,0 @@
# 可修复项定向回归报告(latest)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:51:28 |
| 重跑项数 | `12` |
| pass | `6` |
| fail_exit | `0` |
| fail_business | `6` |
- uid: `061978`
- base-id: `QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz`
- table-id: `MoptjEc`
- event-id: `SGlWMTJLdlAzVEp3RVhaSmhxc3hLZz09`
- room-id: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz", "baseName": "fixable-155104", "dashboards": [], "tables": [ { "tableId": "MoptjEc", "tableName": "fixable-table" } |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz", "baseName": "fixable-base-upd", "updatedAt": "2026-03-27T15:51:15+08:00" }, "error": {}, "meta": {}, "status": "success", "summary": "Succ |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "iizMpn1", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "912 |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "1W22tVCf9b" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table MoptjEc of base QBnd5ExVEaQd4meXt06QbeQgVyeZqM |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "1W22tVCf9b", "records": [ { "cells": { "912NdwK": "ok" }, "recordId": "1W22tVCf9b" } ] }, "error": {}, "meta": {}, "status": |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "213ee25c17745978819184321e0acd" } |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "213ee25c17745978840783439e0b54" } |
| `fix.calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "321001", "errorMsg": "code: 321001, developerMessage: [{\"roomName\":\"钉钉展厅-电视\",\"text\":\"根据管理员设置,同一时间段内只允许预定一个会议室,请移除多余的会议室\"}]", "result": {}, "success": false, "trace_id" |
| `fix.chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.chat.message.send-by-bot` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `fix.chat.message.recall-by-bot` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
@@ -1,30 +0,0 @@
# 可修复项定向回归报告(latest)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:51:28 |
| 重跑项数 | `12` |
| pass | `6` |
| fail_exit | `0` |
| fail_business | `6` |
- uid: `061978`
- base-id: `QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz`
- table-id: `MoptjEc`
- event-id: `SGlWMTJLdlAzVEp3RVhaSmhxc3hLZz09`
- room-id: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz", "baseName": "fixable-155104", "dashboards": [], "tables": [ { "tableId": "MoptjEc", "tableName": "fixable-table" } |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "QBnd5ExVEaQd4meXt06QbeQgVyeZqMmz", "baseName": "fixable-base-upd", "updatedAt": "2026-03-27T15:51:15+08:00" }, "error": {}, "meta": {}, "status": "success", "summary": "Succ |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "iizMpn1", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "912 |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "1W22tVCf9b" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table MoptjEc of base QBnd5ExVEaQd4meXt06QbeQgVyeZqM |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "1W22tVCf9b", "records": [ { "cells": { "912NdwK": "ok" }, "recordId": "1W22tVCf9b" } ] }, "error": {}, "meta": {}, "status": |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "213ee25c17745978819184321e0acd" } |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "213ee25c17745978840783439e0b54" } |
| `fix.calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "321001", "errorMsg": "code: 321001, developerMessage: [{\"roomName\":\"钉钉展厅-电视\",\"text\":\"根据管理员设置,同一时间段内只允许预定一个会议室,请移除多余的会议室\"}]", "result": {}, "success": false, "trace_id" |
| `fix.chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.chat.message.send-by-bot` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `fix.chat.message.recall-by-bot` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
@@ -1,60 +0,0 @@
# CLI 动态服务发现全量功能测试报告(完整重跑)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:34:46 |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `50` |
| 退出码失败 | `3` |
| 业务失败 | `30` |
## 关键上下文
- `uid`: `061978`
- `event-id`: `ZWVVS1Y2S3VLalpwZFJPK2l1YitKZz09`
- `room-id`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
- `base-id`: `7dx2rn0Jbakrq9O5t6NRK1DRVMGjLRb3`
- `table-id`: `iFiXjY8`
- `task-id`: `51681032441`
- `template-id`: `18b46f75236c558cc63be07419f8d65f`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "su |
| `dws aitable base create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_NAME", "message": "baseName is required and cannot be empty or only whitespace", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "err |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "At least one of newFieldName, config or aiConfig must be provided for update", "retryable": false, "type": "INPUT_ERROR" }, "meta": { |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create records |
| `dws aitable record delete` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--record-ids is required" } } |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Fa |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one writable record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "tableName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bb7c36217745968417782683e04a7" } |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2127d898177459684755 |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2127d89817745968487392353e09fc" } |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2104a64c177459685002 |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "2127d89817745968545635804e0aa2" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2127d89817745968660356774e0a02" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2104a64c17745968669262499e0a07" } |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws todo task get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,60 +0,0 @@
# CLI 动态服务发现全量功能测试报告(完整重跑)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:48:28 |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `50` |
| 退出码失败 | `2` |
| 业务失败 | `31` |
## 关键上下文
- `uid`: `061978`
- `event-id`: `UnNNVXJhQ0JSeGZoUnFUc3VRL0dtUT09`
- `room-id`: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
- `base-id`: `NkDwLng8ZQ6mY37xSa3KoNXaJKMEvZBY`
- `table-id`: `EMOsppf`
- `task-id`: `51471335920`
- `template-id`: `18b46f75236c558cc63be07419f8d65f`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "su |
| `dws aitable base create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_NAME", "message": "baseName is required and cannot be empty or only whitespace", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "err |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "At least one of newFieldName, config or aiConfig must be provided for update", "retryable": false, "type": "INPUT_ERROR" }, "meta": { |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create records |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete records |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Fa |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one writable record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "tableName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745976626518395e0780" } |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "213ee25c177459766844 |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bab027317745976698356546e0828" } |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2132f5ca177459767125 |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "213ee25c17745976757057733e0b11" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0bab027317745976874644796e07a4" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2132f5ca17745976882365774e0a19" } |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws todo task get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,60 +0,0 @@
# CLI 动态服务发现全量功能测试报告(完整重跑)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:48:28 |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `50` |
| 退出码失败 | `2` |
| 业务失败 | `31` |
## 关键上下文
- `uid`: `061978`
- `event-id`: `UnNNVXJhQ0JSeGZoUnFUc3VRL0dtUT09`
- `room-id`: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
- `base-id`: `NkDwLng8ZQ6mY37xSa3KoNXaJKMEvZBY`
- `table-id`: `EMOsppf`
- `task-id`: `51471335920`
- `template-id`: `18b46f75236c558cc63be07419f8d65f`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "su |
| `dws aitable base create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_NAME", "message": "baseName is required and cannot be empty or only whitespace", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "err |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "At least one of newFieldName, config or aiConfig must be provided for update", "retryable": false, "type": "INPUT_ERROR" }, "meta": { |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create records |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete records |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Fa |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one writable record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "tableName is required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745976626518395e0780" } |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "213ee25c177459766844 |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bab027317745976698356546e0828" } |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2132f5ca177459767125 |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "213ee25c17745976757057733e0b11" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0bab027317745976874644796e07a4" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2132f5ca17745976882365774e0a19" } |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws todo task get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,270 +0,0 @@
x# CLI 动态发现真实功能测试报告
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 14:59:01 |
| 登录命令退出码 | `0` |
| 动态发现服务数 | `10` |
| 枚举命令节点数(`--help`) | `118` |
| `--help` 失败数 | `0` |
| 叶子命令真实执行数 | `83` |
| 执行成功数 | `75` |
| 执行失败数 | `8` |
## 登录结果
```text
[OK] Token 有效,无需重新登录
企业 ID: ding8196cd9a2b2405da24f2f5cc6abecb85
有效期: 30 天后
Token 将自动刷新,无需重复登录
```
## 同产品包命令依赖关系分析
### aitable
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `attachment` | `upload` | 参数 `base-id` 依赖上游实体标识 |
| `base` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `template-id` 依赖上游实体标识 |
| `base` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `base` | `get` | 参数 `base-id` 依赖上游实体标识 |
| `base` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `base` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `base` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `field` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `field-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `get` | 参数 `base-id` 依赖上游实体标识;参数 `field-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `field` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `field-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `record-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `query` | 参数 `base-id` 依赖上游实体标识;参数 `field-ids` 依赖上游实体标识;参数 `record-ids` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `record` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `table` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识 |
| `table` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `table` | `get` | 参数 `base-id` 依赖上游实体标识;参数 `table-ids` 依赖上游实体标识 |
| `table` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `base-id` 依赖上游实体标识;参数 `table-id` 依赖上游实体标识 |
| `template` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### attendance
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `record` | `get` | 参数 `date` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
| `rules` | `rules` | 参数 `date` 与时间窗口强相关 |
| `shift` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关;参数 `users` 依赖组织/人员上下文 |
| `summary` | `summary` | 参数 `date` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
### auth
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `login` | `login` | 参数 `login-timeout` 与时间窗口强相关;参数 `token-url` 依赖外部凭证;参数 `token` 依赖外部凭证 |
| `logout` | `logout` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `reset` | `reset` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `status` | `status` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### cache
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `refresh` | `refresh` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `status` | `status` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### calendar
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `busy` | `search` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关;参数 `users` 依赖组织/人员上下文 |
| `event` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识 |
| `event` | `get` | 参数 `id` 依赖上游实体标识 |
| `event` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `list-mine` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `event` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `end` 与时间窗口强相关;参数 `id` 依赖上游实体标识;参数 `start` 与时间窗口强相关 |
| `participant` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `participant` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `participant` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `room` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `room` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `room` | `list-groups` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `room` | `search` | 参数 `end` 与时间窗口强相关;参数 `group-id` 依赖上游实体标识;参数 `start` 与时间窗口强相关 |
### chat
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `bot` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `group` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
| `group` | `add` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识;参数 `users` 依赖组织/人员上下文 |
| `group` | `add-bot` | 参数 `id` 依赖上游实体标识 |
| `group` | `remove` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `id` 依赖上游实体标识;参数 `users` 依赖组织/人员上下文 |
| `group` | `rename` | 参数 `id` 依赖上游实体标识 |
| `message` | `list` | 参数 `time` 与时间窗口强相关;参数 `user` 依赖组织/人员上下文 |
| `message` | `recall-by-bot` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `message` | `send` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `user` 依赖组织/人员上下文 |
| `message` | `send-by-bot` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `message` | `send-by-webhook` | 参数 `at-users` 依赖组织/人员上下文;参数 `token` 依赖外部凭证 |
| `search` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### completion
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `(root)` | `completion` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### contact
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `dept` | `list-children` | 参数 `id` 依赖上游实体标识 |
| `dept` | `list-members` | 参数 `ids` 依赖上游实体标识 |
| `dept` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `get` | 参数 `ids` 依赖上游实体标识 |
| `user` | `get-self` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `user` | `search-mobile` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### devdoc
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `article` | `search` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### ding
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `message` | `recall` | 参数 `id` 依赖上游实体标识 |
| `message` | `send` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `users` 依赖组织/人员上下文 |
### report
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `create` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `template-id` 依赖上游实体标识;参数 `to-user-ids` 依赖上游实体标识;参数 `to-user-ids` 依赖组织/人员上下文 |
| `detail` | `detail` | 参数 `report-id` 依赖上游实体标识 |
| `list` | `list` | 参数 `end` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `sent` | `sent` | 参数 `end` 与时间窗口强相关;参数 `modified-end` 与时间窗口强相关;参数 `modified-start` 与时间窗口强相关;参数 `start` 与时间窗口强相关 |
| `stats` | `stats` | 参数 `report-id` 依赖上游实体标识 |
| `template` | `detail` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `template` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### todo
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `task` | `create` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行 |
| `task` | `delete` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `task-id` 依赖上游实体标识 |
| `task` | `done` | 参数 `task-id` 依赖上游实体标识 |
| `task` | `get` | 参数 `task-id` 依赖上游实体标识 |
| `task` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
| `task` | `update` | 写操作通常依赖 list/get/search 先拿到目标 ID 再执行;参数 `task-id` 依赖上游实体标识 |
### version
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `(root)` | `version` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
### workbench
| 模块 | 动作 | 依赖分析 |
|---|---|---|
| `app` | `get` | 参数 `ids` 依赖上游实体标识 |
| `app` | `list` | 以查询类命令为主,通常仅依赖关键词/分页参数 |
## 叶子命令真实执行明细
| 命令路径 | 退出码 | 自动补齐入参数量 | 摘要 |
|---|---:|---:|---|
| `dws aitable attachment upload` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base create` | `0` | `3` | { "data": { "baseId": "3NwLYZXWyrmRolXLcQG7gxMdVkyEqBQm", "baseName": "auto-test-name" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base |
| `dws aitable base delete` | `0` | `2` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base get` | `0` | `2` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable base list` | `0` | `1` | { "data": { "bases": [ { "baseId": "3NwLYZXWyrmRolXLcQG7gxMdVkyEqBQm", "baseName": "auto-test-name" }, { "baseId": "QPGYqjpJYRyab0nx |
| `dws aitable base search` | `0` | `2` | { "data": { "bases": [ { "baseId": "14dA3GK8gkP4oNl0crRvZyXv89ekBD76", "baseName": "测试AI 表格" }, { "baseId": "DnRL6jAJMNX9kAgycZdkqoY |
| `dws aitable base update` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field delete` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field get` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable field update` | `0` | `5` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record delete` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record query` | `0` | `6` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable record update` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table create` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table delete` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table get` | `0` | `3` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable table update` | `0` | `4` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "baseId must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, " |
| `dws aitable template search` | `0` | `2` | { "data": { "hasMore": false, "nextCursor": "10", "templates": [ { "description": "随堂小测试模板用于课堂即时检测,适用教师与学生,快速收集反馈,提升教学效率。", "name": "随堂小测试", |
| `dws attendance record get` | `3` | `3` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use YYYY-MM-DD, e.g. 2026-03-08" } } |
| `dws attendance rules` | `3` | `2` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use YYYY-MM-DD or yyyy-MM-dd HH:mm:ss: test" } } |
| `dws attendance shift list` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "--start date format error, use YYYY-MM-DD" } } |
| `dws attendance summary` | `3` | `3` | { "error": { "category": "validation", "code": 3, "message": "--date format error, use yyyy-MM-dd HH:mm:ss" } } |
| `dws calendar busy search` | `0` | `2` | { "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: startTime cannot be blank", "result": [ { "scheduleItems": null } ], "success": false, |
| `dws calendar event create` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Start time cannot be blank for a non-all day event.", "result": { "attendees": nu |
| `dws calendar event delete` | `0` | `2` | { "arguments": [], "errorCode": "300014", "errorMsg": "Event not exist", "result": {}, "success": false, "trace_id": "213ee25c17745946765898223e0af0" } |
| `dws calendar event get` | `0` | `2` | { "arguments": [], "result": { "attendees": null, "categories": null, "reminders": null }, "success": false, "trace_id": "0bab027317745946772971785e07c5" } |
| `dws calendar event list` | `0` | `1` | { "arguments": [], "result": { "events": [ { "attendees": [ { "displayName": "尘舟", "optional": false, "responseS |
| `dws calendar event list-mine` | `0` | `1` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws calendar event update` | `0` | `3` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Event does not exist.", "result": {}, "success": false, "trace_id": "2106d9811774 |
| `dws calendar participant add` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "2127d89817745947042464823e |
| `dws calendar participant delete` | `0` | `2` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2106d98117 |
| `dws calendar participant list` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, |
| `dws calendar room add` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2132f5ca17 |
| `dws calendar room delete` | `0` | `1` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "213ee25c17 |
| `dws calendar room list-groups` | `0` | `1` | { "result": { "groupList": [ { "groupId": 41, "groupName": "绿城·未来park", "parentId": 0 }, { "groupId": 74, "groupName |
| `dws calendar room search` | `0` | `2` | { "arguments": [], "errorCode": "400002", "errorMsg": "filterStartTime or filterEndTime error", "result": { "result": [ { "labels": null } ] } |
| `dws chat bot search` | `0` | `4` | { "robotList": [], "success": true } |
| `dws chat group create` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members add` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group members add-bot` | `0` | `3` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "0bab027317745947105987158e0780" } |
| `dws chat group members remove` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat group rename` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API erro |
| `dws chat message list` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "--time is required" } } |
| `dws chat message recall-by-bot` | `0` | `1` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws chat message send` | `5` | `4` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws chat message send-by-bot` | `0` | `3` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws chat message send-by-webhook` | `0` | `6` | { "errcode": "300005", "errmsg": "token is not exist" } |
| `dws chat search` | `0` | `2` | { "result": { "hasMore": true, "nextCursor": "abe74d73660ef3d46bc92185e05915f2f48689450699e0bf70849ba71758a903", "total": 262, "value": [ { "extensi |
| `dws contact dept list-children` | `0` | `2` | { "result": [], "success": true } |
| `dws contact dept list-members` | `0` | `2` | { "deptUserList": [], "success": true } |
| `dws contact dept search` | `0` | `2` | { "deptList": [], "hasMore": false, "totalCount": 0 } |
| `dws contact user get` | `0` | `2` | { "result": [ { "orgEmployeeModel": { "depts": null, "labels": null, "orgId": null } } ], "success": true } |
| `dws contact user get-self` | `0` | `1` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptI |
| `dws contact user search` | `0` | `2` | { "userId": [ "033067356464903146", "030037243111903146", "025109313335903146" ] } |
| `dws contact user search-mobile` | `0` | `2` | { "arguments": [], "success": true } |
| `dws devdoc article search` | `0` | `2` | { "result": { "currentPage": 1, "hasMore": true, "items": [ { "desc": "标题: 创建知识库文档 - 开放平台\n内容: * * *\n例如,企业员工小明在测试知识库内,单击**新建** 按钮创建文档,与调用本接口实现效果一致,如下图: |
| `dws ding message recall` | `0` | `2` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745947215725878e0ad1" } |
| `dws ding message send` | `0` | `3` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745947223905960e0ad1" } |
| `dws report create` | `3` | `4` | { "error": { "category": "validation", "code": 3, "message": "json_parse: invalid JSON: invalid character 'è' looking for beginning of value" } } |
| `dws report detail` | `0` | `2` | { "errorMsg": "ok", "result": { "contentV2": [ { "images": null } ], "images": [], "report_Id": "test-001", "report_content": [ { |
| `dws report list` | `0` | `1` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "0bab027317745947235068184e0780" } |
| `dws report sent` | `0` | `2` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root. |
| `dws report stats` | `0` | `2` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report template detail` | `0` | `2` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程 |
| `dws report template list` | `0` | `1` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.d |
| `dws todo task create` | `0` | `2` | { "arguments": [], "errorCode": "999", "errorMsg": "system error: java.lang.NullPointerException", "success": false, "trace_id": "2106d98117745947277007837e0b34" } |
| `dws todo task delete` | `0` | `2` | { "result": { "success": false } } |
| `dws todo task done` | `0` | `2` | { "result": { "success": false } } |
| `dws todo task get` | `0` | `2` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "213ee25c17745947295756384 |
| `dws todo task list` | `0` | `2` | { "result": { "todoCards": null } } |
| `dws todo task update` | `0` | `3` | { "result": { "success": false } } |
| `dws workbench app get` | `0` | `2` | { "eventData": { "activityType": "MULTI_PANEL", "content": { "assets": { "description": "工作台扩展", "entry": "https://dev.g.alicdn.com/dingding/dd-chat |
| `dws workbench app list` | `0` | `1` | { "appList": [ { "d": "商业保险", "i": "0_2403230743", "n": "商业保险" }, { "d": "助力组织文化活动快速落地", "i": "0_2680655126", "n": "组织文化管理平台" |
| `dws auth login` | `0` | `7` | [OK] Token 有效,无需重新登录 有效期: 24 小时后 Token 将自动刷新,无需重复登录 |
| `dws auth logout` | `0` | `1` | [OK] 已清除所有认证信息 请运行 dws auth login 重新登录 |
| `dws auth reset` | `0` | `1` | [OK] 认证信息已重置 请运行 dws auth login 重新登录 |
| `dws auth status` | `0` | `1` | 状态: 未登录 运行 dws auth login 进行登录 |
| `dws cache refresh` | `0` | `1` | [OK] 缓存刷新完成:已刷新 10 个服务,失败 10 个 缓存目录: /Users/tianlei.qjb/.dws/cache |
| `dws cache status` | `0` | `1` | 缓存目录: /Users/tianlei.qjb/.dws/cache 文件数: 1 大小: 63214 字节 |
| `dws completion` | `5` | `1` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws version` | `0` | `1` | { "go": "1.24+", "version": "v1.0.0" } |
## 执行口径说明
- 本次为**真实命令执行**(非 go test,非 dry-run);为了避免破坏性写入,入参使用自动生成测试值,部分写操作可能因业务校验失败而返回非 0。
- 所有命令均通过动态发现入口进行递归枚举,覆盖当前可见服务树。
- 凭证未写入报告,报告仅保留退出码与脱敏输出片段。
@@ -1,39 +0,0 @@
# 非Chat/Ding问题继续修复回归报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:59:25 |
| 重跑项数 | `14` |
| pass | `9` |
| fail_exit | `0` |
| fail_business | `5` |
- uid: `061978`
- base-id: `1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG`
- table-id: `qfszJ1P`
- event-id: `OG0xR0FVMThsSEN6Y2dwdTBxa1ZMUT09`
- room-id: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
- task-id: `51683596509`
- template-id: `18b46f75236c558cc63be07419f8d65f`
## 白名单说明
- chat.* 与 ding.* 当前归入白名单阻塞(本报告未纳入修复目标)。
- calendar event list-mine 已继续探测,不按白名单处理。
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG", "baseName": "non-chat-ding-base", "dashboards": [], "tables": [ { "tableId": "qfszJ1P", "tableName": "non-chat-ding-table" |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG", "baseName": "non-chat-ding-base-upd", "updatedAt": "2026-03-27T15:59:13+08:00" }, "error": {}, "meta": {}, "status": "success", "summary": |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "XeI8OyF", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "FoE |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "0j1cfP7VjU" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table qfszJ1P of base 1zknDm0WRz0NZeXQu2zY5PLaWBQEx5 |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "0j1cfP7VjU", "records": [ { "cells": { "FoE2ouB": "ok" }, "recordId": "0j1cfP7VjU" } ] }, "error": {}, "meta": {}, "status": |
| `fix.aitable.record.delete` | `0` | `pass` | { "data": { "deletedCount": 0 }, "error": {}, "meta": {}, "status": "success", "summary": "Deleted 0 record(s) from table qfszJ1P. Skipped already missing recordIds (1): dummy" } |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745983602097877e0828" } |
| `fix.calendar.list-mine` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2106d98117745983619102665e0a69" } |
| `fix.calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "321001", "errorMsg": "code: 321001, developerMessage: [{\"roomName\":\"钉钉展厅-电视\",\"text\":\"根据管理员设置,同一时间段内只允许预定一个会议室,请移除多余的会议室\"}]", "result": {}, "success": false, "trace_id" |
| `fix.todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12796095969", "cr |
| `fix.report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `fix.report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
@@ -1,39 +0,0 @@
# 非Chat/Ding问题继续修复回归报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:59:25 |
| 重跑项数 | `14` |
| pass | `9` |
| fail_exit | `0` |
| fail_business | `5` |
- uid: `061978`
- base-id: `1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG`
- table-id: `qfszJ1P`
- event-id: `OG0xR0FVMThsSEN6Y2dwdTBxa1ZMUT09`
- room-id: `d173a1976db46927cf7a9d7fa900870a003e6834fdd7fee7`
- task-id: `51683596509`
- template-id: `18b46f75236c558cc63be07419f8d65f`
## 白名单说明
- chat.* 与 ding.* 当前归入白名单阻塞(本报告未纳入修复目标)。
- calendar event list-mine 已继续探测,不按白名单处理。
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `fix.aitable.base.get` | `0` | `pass` | { "data": { "baseId": "1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG", "baseName": "non-chat-ding-base", "dashboards": [], "tables": [ { "tableId": "qfszJ1P", "tableName": "non-chat-ding-table" |
| `fix.aitable.base.update` | `0` | `pass` | { "data": { "baseId": "1zknDm0WRz0NZeXQu2zY5PLaWBQEx5rG", "baseName": "non-chat-ding-base-upd", "updatedAt": "2026-03-27T15:59:13+08:00" }, "error": {}, "meta": {}, "status": "success", "summary": |
| `fix.aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "XeI8OyF", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "FoE |
| `fix.aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "0j1cfP7VjU" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table qfszJ1P of base 1zknDm0WRz0NZeXQu2zY5PLaWBQEx5 |
| `fix.aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "0j1cfP7VjU", "records": [ { "cells": { "FoE2ouB": "ok" }, "recordId": "0j1cfP7VjU" } ] }, "error": {}, "meta": {}, "status": |
| `fix.aitable.record.delete` | `0` | `pass` | { "data": { "deletedCount": 0 }, "error": {}, "meta": {}, "status": "success", "summary": "Deleted 0 record(s) from table qfszJ1P. Skipped already missing recordIds (1): dummy" } |
| `fix.attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745983602097877e0828" } |
| `fix.calendar.list-mine` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `fix.calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `fix.calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2106d98117745983619102665e0a69" } |
| `fix.calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "321001", "errorMsg": "code: 321001, developerMessage: [{\"roomName\":\"钉钉展厅-电视\",\"text\":\"根据管理员设置,同一时间段内只允许预定一个会议室,请移除多余的会议室\"}]", "result": {}, "success": false, "trace_id" |
| `fix.todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12796095969", "cr |
| `fix.report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `fix.report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
@@ -1,165 +0,0 @@
# CLI 动态发现真实功能测试报告(第二轮强化)
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 15:05:18 |
| 登录退出码 | `0` |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `37` |
| 退出码失败 | `4` |
| 业务失败(success=false/错误体) | `42` |
## 依赖链增强策略
- `aitable`:先 `base create` 获取 `baseId`,再复用到 table/field/record 子命令。
- `calendar`:先 `event create/list` 采集 `eventId`,再复用到 event get/update/delete、participant 相关命令。
- 日期时间按命令帮助约束分流:`YYYY-MM-DD` 与 `yyyy-MM-dd HH:mm:ss`。
- 人员参数优先填充真实用户 `manager5450`(来自第一轮接口返回上下文)。
## 关键上下文ID
- `base-id`: `Exel2BLV5gOAdXr1uDpNXZN38gk9rpMq`
- `table-id`: `F0k4Z0j`
- `event-id`: `UzFMazluYWE5bkI2dElacTgvdlJwUT09`
## 失败明细(需进一步人工业务校验)
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName must include an extension", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "fields are required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create fi |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_FIELD_ID", "message": "fieldIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORD_ID", "message": "recordIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORD_ID", "message": "recordIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create table ' |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_TABLE_ID", "message": "tableIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable table update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to update table F |
| `dws attendance record get` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\"code\" |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745950775382548e0761" } |
| `dws calendar event create` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": { "attendees": null, "reminders": null }, "success": false, "trace_i |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": {}, "success": false, "trace_id": "213ee25c17745950825128586e0b32" } |
| `dws calendar participant add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "2132f5ca17745950833098855e09f8" } |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bab027317745950840092994e0761" } |
| `dws calendar participant list` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, "trace_id": "213ee25c17745950846354940 |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bab027317745950853753133e0761" } |
| `dws calendar room delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2132f5ca17745950860591744e0a4e" } |
| `dws calendar room search` | `fail_business` | `0` | { "arguments": [], "errorCode": "458019", "errorMsg": "查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。", "result": { "result": [ { "labels": null } ] }, "success": false, "trace_id": "2132f5 |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "2106d98117745950903798357e0b34" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `5` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws contact user search-mobile` | `fail_business` | `0` | { "arguments": [], "errorCode": "11001", "errorMsg": "手机格式不正确,请重新输入", "success": false, "trace_id": "2106d98117745950982347064e0ab0" } |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0bab027317745950995614026e0761" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745951002636917e0b13" } |
| `dws report create` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "json_parse: invalid JSON: invalid character 'ç' looking for beginning of value" } } |
| `dws report list` | `fail_business` | `0` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "213ee25c17745951014526150e0af0" } |
| `dws report sent` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:null, 预期值:true,所有值:{\"stackTr |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws report template detail` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws todo task create` | `fail_business` | `0` | { "arguments": [], "errorCode": "999", "errorMsg": "system error: java.lang.NullPointerException", "success": false, "trace_id": "213ee25c17745951058325426e0acd" } |
| `dws todo task get` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "0bab027317745951078651445e07c5" } |
| `dws completion` | `fail_exit` | `5` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
## 全量执行明细
| 命令 | 语义结果 | 退出码 | 自动补参个数 |
|---|---|---:|---:|
| `dws aitable attachment upload` | `fail_business` | `0` | `2` |
| `dws aitable base create` | `pass` | `0` | `2` |
| `dws aitable base delete` | `pass` | `0` | `1` |
| `dws aitable base get` | `fail_business` | `0` | `1` |
| `dws aitable base list` | `pass` | `0` | `0` |
| `dws aitable base search` | `pass` | `0` | `1` |
| `dws aitable base update` | `fail_business` | `0` | `3` |
| `dws aitable field create` | `fail_business` | `0` | `2` |
| `dws aitable field delete` | `fail_business` | `0` | `3` |
| `dws aitable field get` | `fail_business` | `0` | `3` |
| `dws aitable field update` | `fail_business` | `0` | `4` |
| `dws aitable record create` | `fail_business` | `0` | `2` |
| `dws aitable record delete` | `fail_business` | `0` | `3` |
| `dws aitable record query` | `fail_business` | `0` | `5` |
| `dws aitable record update` | `fail_business` | `0` | `2` |
| `dws aitable table create` | `fail_business` | `0` | `2` |
| `dws aitable table delete` | `fail_business` | `0` | `2` |
| `dws aitable table get` | `fail_business` | `0` | `2` |
| `dws aitable table update` | `fail_business` | `0` | `3` |
| `dws aitable template search` | `pass` | `0` | `1` |
| `dws attendance record get` | `fail_business` | `0` | `2` |
| `dws attendance rules` | `pass` | `0` | `1` |
| `dws attendance shift list` | `pass` | `0` | `3` |
| `dws attendance summary` | `fail_business` | `0` | `2` |
| `dws calendar busy search` | `pass` | `0` | `3` |
| `dws calendar event create` | `fail_business` | `0` | `4` |
| `dws calendar event delete` | `pass` | `0` | `1` |
| `dws calendar event get` | `pass` | `0` | `1` |
| `dws calendar event list` | `pass` | `0` | `2` |
| `dws calendar event list-mine` | `fail_business` | `0` | `2` |
| `dws calendar event update` | `fail_business` | `0` | `4` |
| `dws calendar participant add` | `fail_business` | `0` | `1` |
| `dws calendar participant delete` | `fail_business` | `0` | `1` |
| `dws calendar participant list` | `fail_business` | `0` | `0` |
| `dws calendar room add` | `fail_business` | `0` | `0` |
| `dws calendar room delete` | `fail_business` | `0` | `0` |
| `dws calendar room list-groups` | `pass` | `0` | `0` |
| `dws calendar room search` | `fail_business` | `0` | `3` |
| `dws chat bot search` | `pass` | `0` | `3` |
| `dws chat group create` | `fail_business` | `0` | `2` |
| `dws chat group members add` | `fail_business` | `0` | `2` |
| `dws chat group members add-bot` | `fail_business` | `0` | `2` |
| `dws chat group members remove` | `fail_business` | `0` | `2` |
| `dws chat group rename` | `fail_business` | `0` | `2` |
| `dws chat message list` | `fail_exit` | `3` | `4` |
| `dws chat message recall-by-bot` | `fail_business` | `0` | `0` |
| `dws chat message send` | `fail_exit` | `5` | `3` |
| `dws chat message send-by-bot` | `fail_business` | `0` | `2` |
| `dws chat message send-by-webhook` | `pass` | `0` | `4` |
| `dws chat search` | `pass` | `0` | `1` |
| `dws contact dept list-children` | `pass` | `0` | `1` |
| `dws contact dept list-members` | `pass` | `0` | `1` |
| `dws contact dept search` | `pass` | `0` | `1` |
| `dws contact user get` | `pass` | `0` | `1` |
| `dws contact user get-self` | `pass` | `0` | `0` |
| `dws contact user search` | `pass` | `0` | `1` |
| `dws contact user search-mobile` | `fail_business` | `0` | `0` |
| `dws devdoc article search` | `pass` | `0` | `1` |
| `dws ding message recall` | `fail_business` | `0` | `1` |
| `dws ding message send` | `fail_business` | `0` | `2` |
| `dws report create` | `fail_exit` | `3` | `3` |
| `dws report detail` | `pass` | `0` | `1` |
| `dws report list` | `fail_business` | `0` | `2` |
| `dws report sent` | `fail_business` | `0` | `3` |
| `dws report stats` | `fail_business` | `0` | `1` |
| `dws report template detail` | `fail_business` | `0` | `1` |
| `dws report template list` | `pass` | `0` | `0` |
| `dws todo task create` | `fail_business` | `0` | `1` |
| `dws todo task delete` | `pass` | `0` | `1` |
| `dws todo task done` | `pass` | `0` | `1` |
| `dws todo task get` | `fail_business` | `0` | `1` |
| `dws todo task list` | `pass` | `0` | `1` |
| `dws todo task update` | `pass` | `0` | `2` |
| `dws workbench app get` | `pass` | `0` | `1` |
| `dws workbench app list` | `pass` | `0` | `0` |
| `dws auth login` | `pass` | `0` | `3` |
| `dws auth logout` | `pass` | `0` | `0` |
| `dws auth reset` | `pass` | `0` | `0` |
| `dws auth status` | `pass` | `0` | `0` |
| `dws cache refresh` | `pass` | `0` | `0` |
| `dws cache status` | `pass` | `0` | `0` |
| `dws completion` | `fail_exit` | `5` | `0` |
| `dws version` | `pass` | `0` | `0` |
@@ -1,165 +0,0 @@
# CLI 动态发现真实功能测试报告(第二轮强化)
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 15:05:18 |
| 登录退出码 | `0` |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `37` |
| 退出码失败 | `4` |
| 业务失败(success=false/错误体) | `42` |
## 依赖链增强策略
- `aitable`:先 `base create` 获取 `baseId`,再复用到 table/field/record 子命令。
- `calendar`:先 `event create/list` 采集 `eventId`,再复用到 event get/update/delete、participant 相关命令。
- 日期时间按命令帮助约束分流:`YYYY-MM-DD` 与 `yyyy-MM-dd HH:mm:ss`。
- 人员参数优先填充真实用户 `manager5450`(来自第一轮接口返回上下文)。
## 关键上下文ID
- `base-id`: `Exel2BLV5gOAdXr1uDpNXZN38gk9rpMq`
- `table-id`: `F0k4Z0j`
- `event-id`: `UzFMazluYWE5bkI2dElacTgvdlJwUT09`
## 失败明细(需进一步人工业务校验)
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName must include an extension", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "fields are required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create fi |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_FIELD_ID", "message": "fieldIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORD_ID", "message": "recordIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORD_ID", "message": "recordIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create table ' |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_TABLE_ID", "message": "tableIds[0] must contain only letters and digits", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", |
| `dws aitable table update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to update table F |
| `dws attendance record get` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\"code\" |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0bab027317745950775382548e0761" } |
| `dws calendar event create` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": { "attendees": null, "reminders": null }, "success": false, "trace_i |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": {}, "success": false, "trace_id": "213ee25c17745950825128586e0b32" } |
| `dws calendar participant add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "2132f5ca17745950833098855e09f8" } |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bab027317745950840092994e0761" } |
| `dws calendar participant list` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, "trace_id": "213ee25c17745950846354940 |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bab027317745950853753133e0761" } |
| `dws calendar room delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2132f5ca17745950860591744e0a4e" } |
| `dws calendar room search` | `fail_business` | `0` | { "arguments": [], "errorCode": "458019", "errorMsg": "查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。", "result": { "result": [ { "labels": null } ] }, "success": false, "trace_id": "2132f5 |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "2106d98117745950903798357e0b34" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `5` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws contact user search-mobile` | `fail_business` | `0` | { "arguments": [], "errorCode": "11001", "errorMsg": "手机格式不正确,请重新输入", "success": false, "trace_id": "2106d98117745950982347064e0ab0" } |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0bab027317745950995614026e0761" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2106d98117745951002636917e0b13" } |
| `dws report create` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "json_parse: invalid JSON: invalid character 'ç' looking for beginning of value" } } |
| `dws report list` | `fail_business` | `0` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "213ee25c17745951014526150e0af0" } |
| `dws report sent` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:null, 预期值:true,所有值:{\"stackTr |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws report template detail` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws todo task create` | `fail_business` | `0` | { "arguments": [], "errorCode": "999", "errorMsg": "system error: java.lang.NullPointerException", "success": false, "trace_id": "213ee25c17745951058325426e0acd" } |
| `dws todo task get` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "0bab027317745951078651445e07c5" } |
| `dws completion` | `fail_exit` | `5` | { "error": { "category": "internal", "code": 5, "message": "accepts 1 arg(s), received 0" } } |
## 全量执行明细
| 命令 | 语义结果 | 退出码 | 自动补参个数 |
|---|---|---:|---:|
| `dws aitable attachment upload` | `fail_business` | `0` | `2` |
| `dws aitable base create` | `pass` | `0` | `2` |
| `dws aitable base delete` | `pass` | `0` | `1` |
| `dws aitable base get` | `fail_business` | `0` | `1` |
| `dws aitable base list` | `pass` | `0` | `0` |
| `dws aitable base search` | `pass` | `0` | `1` |
| `dws aitable base update` | `fail_business` | `0` | `3` |
| `dws aitable field create` | `fail_business` | `0` | `2` |
| `dws aitable field delete` | `fail_business` | `0` | `3` |
| `dws aitable field get` | `fail_business` | `0` | `3` |
| `dws aitable field update` | `fail_business` | `0` | `4` |
| `dws aitable record create` | `fail_business` | `0` | `2` |
| `dws aitable record delete` | `fail_business` | `0` | `3` |
| `dws aitable record query` | `fail_business` | `0` | `5` |
| `dws aitable record update` | `fail_business` | `0` | `2` |
| `dws aitable table create` | `fail_business` | `0` | `2` |
| `dws aitable table delete` | `fail_business` | `0` | `2` |
| `dws aitable table get` | `fail_business` | `0` | `2` |
| `dws aitable table update` | `fail_business` | `0` | `3` |
| `dws aitable template search` | `pass` | `0` | `1` |
| `dws attendance record get` | `fail_business` | `0` | `2` |
| `dws attendance rules` | `pass` | `0` | `1` |
| `dws attendance shift list` | `pass` | `0` | `3` |
| `dws attendance summary` | `fail_business` | `0` | `2` |
| `dws calendar busy search` | `pass` | `0` | `3` |
| `dws calendar event create` | `fail_business` | `0` | `4` |
| `dws calendar event delete` | `pass` | `0` | `1` |
| `dws calendar event get` | `pass` | `0` | `1` |
| `dws calendar event list` | `pass` | `0` | `2` |
| `dws calendar event list-mine` | `fail_business` | `0` | `2` |
| `dws calendar event update` | `fail_business` | `0` | `4` |
| `dws calendar participant add` | `fail_business` | `0` | `1` |
| `dws calendar participant delete` | `fail_business` | `0` | `1` |
| `dws calendar participant list` | `fail_business` | `0` | `0` |
| `dws calendar room add` | `fail_business` | `0` | `0` |
| `dws calendar room delete` | `fail_business` | `0` | `0` |
| `dws calendar room list-groups` | `pass` | `0` | `0` |
| `dws calendar room search` | `fail_business` | `0` | `3` |
| `dws chat bot search` | `pass` | `0` | `3` |
| `dws chat group create` | `fail_business` | `0` | `2` |
| `dws chat group members add` | `fail_business` | `0` | `2` |
| `dws chat group members add-bot` | `fail_business` | `0` | `2` |
| `dws chat group members remove` | `fail_business` | `0` | `2` |
| `dws chat group rename` | `fail_business` | `0` | `2` |
| `dws chat message list` | `fail_exit` | `3` | `4` |
| `dws chat message recall-by-bot` | `fail_business` | `0` | `0` |
| `dws chat message send` | `fail_exit` | `5` | `3` |
| `dws chat message send-by-bot` | `fail_business` | `0` | `2` |
| `dws chat message send-by-webhook` | `pass` | `0` | `4` |
| `dws chat search` | `pass` | `0` | `1` |
| `dws contact dept list-children` | `pass` | `0` | `1` |
| `dws contact dept list-members` | `pass` | `0` | `1` |
| `dws contact dept search` | `pass` | `0` | `1` |
| `dws contact user get` | `pass` | `0` | `1` |
| `dws contact user get-self` | `pass` | `0` | `0` |
| `dws contact user search` | `pass` | `0` | `1` |
| `dws contact user search-mobile` | `fail_business` | `0` | `0` |
| `dws devdoc article search` | `pass` | `0` | `1` |
| `dws ding message recall` | `fail_business` | `0` | `1` |
| `dws ding message send` | `fail_business` | `0` | `2` |
| `dws report create` | `fail_exit` | `3` | `3` |
| `dws report detail` | `pass` | `0` | `1` |
| `dws report list` | `fail_business` | `0` | `2` |
| `dws report sent` | `fail_business` | `0` | `3` |
| `dws report stats` | `fail_business` | `0` | `1` |
| `dws report template detail` | `fail_business` | `0` | `1` |
| `dws report template list` | `pass` | `0` | `0` |
| `dws todo task create` | `fail_business` | `0` | `1` |
| `dws todo task delete` | `pass` | `0` | `1` |
| `dws todo task done` | `pass` | `0` | `1` |
| `dws todo task get` | `fail_business` | `0` | `1` |
| `dws todo task list` | `pass` | `0` | `1` |
| `dws todo task update` | `pass` | `0` | `2` |
| `dws workbench app get` | `pass` | `0` | `1` |
| `dws workbench app list` | `pass` | `0` | `0` |
| `dws auth login` | `pass` | `0` | `3` |
| `dws auth logout` | `pass` | `0` | `0` |
| `dws auth reset` | `pass` | `0` | `0` |
| `dws auth status` | `pass` | `0` | `0` |
| `dws cache refresh` | `pass` | `0` | `0` |
| `dws cache status` | `pass` | `0` | `0` |
| `dws completion` | `fail_exit` | `5` | `0` |
| `dws version` | `pass` | `0` | `0` |
@@ -1,108 +0,0 @@
# CLI 动态发现真实功能测试报告(第三轮定向强化)
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 15:11:22 |
| 登录步骤退出码 | `0` |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `8` |
| 退出码失败 | `75` |
| 业务失败 | `0` |
## 本轮增强点
- 补齐位置参数:`completion zsh`、`chat message send <message>`。
- `calendar` 子命令优先注入 `--event`,并尝试注入真实 `--rooms`。
- `report create --contents` 改为 JSON 字符串。
- `todo task create -> task-id` 回填 `todo task get`。
## 关键上下文
- `base-id`: `PwkYGxZV3L9AdX7YSvpndwYeJAgozOKL`
- `table-id`: `A1Pl1DO`
- `event-id`: `TTJHTTlLUG9valZvSE5HQkQ5aGVOZz09`
- `room-id`: `(未获取)`
- `task-id`: `(未获取)`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable base update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable field create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable field delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable field get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable field update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable record create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable record delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable record query` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable record update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable table create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable table delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable table get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable table update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws aitable template search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws attendance record get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws attendance rules` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws attendance shift list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws attendance summary` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar busy search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event list-mine` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar event update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar participant add` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar participant delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar participant list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar room add` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar room delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar room list-groups` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws calendar room search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat bot search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat group create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat group members add` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat group members add-bot` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat group members remove` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat group rename` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat message list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat message recall-by-bot` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat message send-by-webhook` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws chat search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact dept list-children` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact dept list-members` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact dept search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact user get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact user get-self` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact user search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws contact user search-mobile` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws devdoc article search` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws ding message recall` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws ding message send` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report detail` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report sent` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report stats` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report template detail` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws report template list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task create` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task delete` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task done` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws todo task update` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws workbench app get` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `dws workbench app list` | `fail_exit` | `1` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,76 +0,0 @@
# CLI 动态发现真实功能测试报告(第三轮定向强化)
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 15:14:03 |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `36` |
| 退出码失败 | `1` |
| 业务失败 | `46` |
## 本轮增强点
- 补齐位置参数(completion/chat message send)。
- 增强 event/base/table 依赖 ID 回填。
- report contents 统一 JSON 串。
## 关键上下文
- `base-id`: `(未获取)`
- `table-id`: `(未获取)`
- `event-id`: `(未获取)`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName must include an extension", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": |
| `dws aitable base delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "52600003", "message": "Data not found", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete base test001. |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "fields are required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create fi |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete records |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Fa |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create table ' |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to update table t |
| `dws attendance record get` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\"code\" |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0b5deb3217745956001386733e0c8d" } |
| `dws calendar event create` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": { "attendees": null, "reminders": null }, "success": false, "trace_i |
| `dws calendar event delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300014", "errorMsg": "Event not exist", "result": {}, "success": false, "trace_id": "0b5deb3217745956024626876e0c8d" } |
| `dws calendar event get` | `fail_business` | `0` | { "arguments": [], "result": { "attendees": null, "categories": null, "reminders": null }, "success": false, "trace_id": "0b5deb3217745956032378417e0be6" } |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": {}, "success": false, "trace_id": "0bb7c36217745956048842137e04c8" } |
| `dws calendar participant add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "0bb7c36217745956055183039e04a5" } |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bb7c36217745956062986584e04a6" } |
| `dws calendar participant list` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, "trace_id": "0b5deb3217745956068548731 |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bb7c36217745956076466697e04a6" } |
| `dws calendar room delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2127d89817745956082684802e0aa2" } |
| `dws calendar room search` | `fail_business` | `0` | { "arguments": [], "errorCode": "458019", "errorMsg": "查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。", "result": { "result": [ { "labels": null } ] }, "success": false, "trace_id": "0b5deb |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "0bb7c36217745956120232510e058c" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0b5deb3217745956239415766e0c28" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2104a64c17745956244614506e0a3b" } |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws report list` | `fail_business` | `0` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "0b5deb3217745956268642260e0be6" } |
| `dws report sent` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:null, 预期值:true,所有值:{\"stackTr |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws report template detail` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws todo task create` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "TodoServiceImpl#createTask: Unrecognized priority type: 1", "success": false, "trace_id": "0bb7c36217745956307524175e04c8" } |
| `dws todo task get` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "2127d89817745956327921364e09fc" } |
@@ -1,76 +0,0 @@
# CLI 动态发现真实功能测试报告(第三轮定向强化)
| 项目 | 值 |
|---|---|
| 时间 | 2026-03-27 15:14:03 |
| 动态服务数 | `10` |
| 命令节点(`--help`) | `118` |
| `--help` 失败 | `0` |
| 叶子命令执行数 | `83` |
| 语义成功(pass) | `36` |
| 退出码失败 | `1` |
| 业务失败 | `46` |
## 本轮增强点
- 补齐位置参数(completion/chat message send)。
- 增强 event/base/table 依赖 ID 回填。
- report contents 统一 JSON 串。
## 关键上下文
- `base-id`: `(未获取)`
- `table-id`: `(未获取)`
- `event-id`: `(未获取)`
## 失败明细
| 命令 | 分类 | 退出码 | 摘要 |
|---|---|---:|---|
| `dws aitable attachment upload` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PREPARE_ATTACHMENT_UPLOAD_REQUEST", "message": "fileName must include an extension", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": |
| `dws aitable base delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "52600003", "message": "Data not found", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete base test001. |
| `dws aitable base get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable base update` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable field create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_PARAMS", "message": "fields are required", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create fi |
| `dws aitable field delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable field get` | `fail_business` | `0` | { "data": {}, "error": { "code": "GET_FIELDS_ERROR", "message": "Failed to load field schema from sheet service", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "s |
| `dws aitable field update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to get current fi |
| `dws aitable record create` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable record delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to delete records |
| `dws aitable record query` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_BASE_ID", "message": "failed to resolve docId from baseId", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary": "Fa |
| `dws aitable record update` | `fail_business` | `0` | { "data": {}, "error": { "code": "INVALID_RECORDS", "message": "records must contain at least one record", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "status": "error", "summary" |
| `dws aitable table create` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to create table ' |
| `dws aitable table delete` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table get` | `fail_business` | `0` | { "data": {}, "error": { "code": "BASE_NOT_FOUND", "message": "Specified base does not exist, has been deleted, or is inaccessible", "retryable": false, "type": "INPUT_ERROR" }, "meta": {}, "sta |
| `dws aitable table update` | `fail_business` | `0` | { "data": {}, "error": { "code": "404", "message": "getDentryDTO returns null", "retryable": true, "type": "SYSTEM_ERROR" }, "meta": {}, "status": "error", "summary": "Failed to update table t |
| `dws attendance record get` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\"code\" |
| `dws attendance summary` | `fail_business` | `0` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "0b5deb3217745956001386733e0c8d" } |
| `dws calendar event create` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": { "attendees": null, "reminders": null }, "success": false, "trace_i |
| `dws calendar event delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300014", "errorMsg": "Event not exist", "result": {}, "success": false, "trace_id": "0b5deb3217745956024626876e0c8d" } |
| `dws calendar event get` | `fail_business` | `0` | { "arguments": [], "result": { "attendees": null, "categories": null, "reminders": null }, "success": false, "trace_id": "0b5deb3217745956032378417e0be6" } |
| `dws calendar event list-mine` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws calendar event update` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Invalid start dateTime format.", "result": {}, "success": false, "trace_id": "0bb7c36217745956048842137e04c8" } |
| `dws calendar participant add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "success": false, "trace_id": "0bb7c36217745956055183039e04a5" } |
| `dws calendar participant delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bb7c36217745956062986584e04a6" } |
| `dws calendar participant list` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": { "attendees": null }, "success": false, "trace_id": "0b5deb3217745956068548731 |
| `dws calendar room add` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "0bb7c36217745956076466697e04a6" } |
| `dws calendar room delete` | `fail_business` | `0` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: eventId cannot be blank", "result": {}, "success": false, "trace_id": "2127d89817745956082684802e0aa2" } |
| `dws calendar room search` | `fail_business` | `0` | { "arguments": [], "errorCode": "458019", "errorMsg": "查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。", "result": { "result": [ { "labels": null } ] }, "success": false, "trace_id": "0b5deb |
| `dws chat group create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group members add-bot` | `fail_business` | `0` | { "errorCode": "500025", "errorMsg": "robotCode不存在", "success": false, "trace_id": "0bb7c36217745956120232510e058c" } |
| `dws chat group members remove` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat group rename` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message list` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `dws chat message recall-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws chat message send` | `fail_exit` | `3` | { "error": { "category": "validation", "code": 3, "message": "--group and --user are mutually exclusive" } } |
| `dws chat message send-by-bot` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws ding message recall` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "0b5deb3217745956239415766e0c28" } |
| `dws ding message send` | `fail_business` | `0` | { "dingOpenErrcode": 400100, "errorMsg": "robotCode is illegal", "result": {}, "success": false, "trace_id": "2104a64c17745956244614506e0a3b" } |
| `dws report create` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws report list` | `fail_business` | `0` | { "errcode": 40035, "errorMsg": "不合法的参数", "result": { "report_list": null, "size": 0 }, "success": false, "trace_id": "0b5deb3217745956268642260e0be6" } |
| `dws report sent` | `fail_business` | `0` | { "code": "ERROR", "error": "操作失败", "message": "操作失败。发生错误,建议稍后重试", "retryable": true, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:null, 预期值:true,所有值:{\"stackTr |
| `dws report stats` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前 |
| `dws report template detail` | `fail_business` | `0` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `dws todo task create` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "TodoServiceImpl#createTask: Unrecognized priority type: 1", "success": false, "trace_id": "0bb7c36217745956307524175e04c8" } |
| `dws todo task get` | `fail_business` | `0` | { "arguments": [], "errorCode": "500", "errorMsg": "NewTodoService#getTodoDetail taskId is null", "result": {}, "success": false, "trace_id": "2127d89817745956327921364e09fc" } |
@@ -1,44 +0,0 @@
# CLI 第四轮专项报告(calendar + aitable)
| 指标 | 值 |
|---|---|
| 执行时间 | 2026-03-27 15:18:15 |
| 命令总数 | `18` |
| pass | `13` |
| fail_exit | `0` |
| fail_business | `5` |
## 依赖链上下文
- `event-id`: `NEhic05DdkczVXc0TDhUc3hUaDZtQT09`
- `base-id`: `wva2dxOW4kO6dpRacBYe6XA78bkz3BRL`
- `table-id`: `h6pp9yr`
## 关键发现
- `calendar event create/update` 在 RFC3339 格式(含时区)下可成功。
- `participant/room` 需严格使用 `--event` 参数(不是 `--id`)。
- `aitable field.create` 对 `fields` JSON 字段名敏感(`fieldName` 必填)。
## 执行明细
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `auth.login` | `0` | `pass` | [OK] Token 有效,无需重新登录 企业 ID: ding8196cd9a2b2405da24f2f5cc6abecb85 有效期: 30 天后 Token 将自动刷新,无需重复登录 |
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.event.get` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.participant.list` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.participant.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: user id is required", "success": false, "trace_id": "2127d89817745958829492933e09fc |
| `calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: user id is required", "result": {}, "success": false, "trace_id": "2104a64c177459 |
| `calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745958843 |
| `calendar.room.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0b5deb3217745958849 |
| `calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStat |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.busy.search` | `0` | `pass` | { "result": [ { "scheduleItems": [] } ], "success": true } |
| `aitable.base.create` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "baseName": "v4-base-20260327-151758" }, "error": {}, "meta": {}, "status": "success", "summary": "Cre |
| `aitable.base.get` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "baseName": "v4-base-20260327-151758", "dashboards": [], "tables": [] }, "error": {}, "meta": {}, |
| `aitable.table.create` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "tableId": "h6pp9yr", "tableName": "v4-table-20260327-151758" }, "error": {}, "meta": {}, "status": |
| `aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "agH1bGR", "fieldName": "标题", "type": "primaryDoc" } |
| `aitable.field.create` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "UpAI9fd", "fieldName": "自动化字段A", "success": true } ], "successCount": |
| `aitable.record.create` | `0` | `fail_business` | { "data": {}, "error": { "code": "INVALID_CELLS", "message": "records[0].cells must be an object mapping field ids or names to values", "retryable": false, "typ |
| `aitable.record.query` | `0` | `pass` | { "data": {}, "error": {}, "meta": {}, "status": "success", "summary": "Successfully queried 0 record(s) from table h6pp9yr in base wva2dxOW4kO6dpRacBYe6XA78bkz3BRL" } |
@@ -1,44 +0,0 @@
# CLI 第四轮专项报告(calendar + aitable)
| 指标 | 值 |
|---|---|
| 执行时间 | 2026-03-27 15:18:15 |
| 命令总数 | `18` |
| pass | `13` |
| fail_exit | `0` |
| fail_business | `5` |
## 依赖链上下文
- `event-id`: `NEhic05DdkczVXc0TDhUc3hUaDZtQT09`
- `base-id`: `wva2dxOW4kO6dpRacBYe6XA78bkz3BRL`
- `table-id`: `h6pp9yr`
## 关键发现
- `calendar event create/update` 在 RFC3339 格式(含时区)下可成功。
- `participant/room` 需严格使用 `--event` 参数(不是 `--id`)。
- `aitable field.create` 对 `fields` JSON 字段名敏感(`fieldName` 必填)。
## 执行明细
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `auth.login` | `0` | `pass` | [OK] Token 有效,无需重新登录 企业 ID: ding8196cd9a2b2405da24f2f5cc6abecb85 有效期: 30 天后 Token 将自动刷新,无需重复登录 |
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.event.get` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.participant.list` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.participant.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: user id is required", "success": false, "trace_id": "2127d89817745958829492933e09fc |
| `calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: user id is required", "result": {}, "success": false, "trace_id": "2104a64c177459 |
| `calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745958843 |
| `calendar.room.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0b5deb3217745958849 |
| `calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStat |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.busy.search` | `0` | `pass` | { "result": [ { "scheduleItems": [] } ], "success": true } |
| `aitable.base.create` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "baseName": "v4-base-20260327-151758" }, "error": {}, "meta": {}, "status": "success", "summary": "Cre |
| `aitable.base.get` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "baseName": "v4-base-20260327-151758", "dashboards": [], "tables": [] }, "error": {}, "meta": {}, |
| `aitable.table.create` | `0` | `pass` | { "data": { "baseId": "wva2dxOW4kO6dpRacBYe6XA78bkz3BRL", "tableId": "h6pp9yr", "tableName": "v4-table-20260327-151758" }, "error": {}, "meta": {}, "status": |
| `aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "agH1bGR", "fieldName": "标题", "type": "primaryDoc" } |
| `aitable.field.create` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "UpAI9fd", "fieldName": "自动化字段A", "success": true } ], "successCount": |
| `aitable.record.create` | `0` | `fail_business` | { "data": {}, "error": { "code": "INVALID_CELLS", "message": "records[0].cells must be an object mapping field ids or names to values", "retryable": false, "typ |
| `aitable.record.query` | `0` | `pass` | { "data": {}, "error": {}, "meta": {}, "status": "success", "summary": "Successfully queried 0 record(s) from table h6pp9yr in base wva2dxOW4kO6dpRacBYe6XA78bkz3BRL" } |
@@ -1,33 +0,0 @@
# CLI 第五轮清障报告(5条失败定向)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:20:17 |
| 命令数 | `17` |
| pass | `8` |
| fail_exit | `0` |
| fail_business | `9` |
- `event-id`: `UnlJR0l0YXZNMTVqSU9JNTljVkEzQT09`
- `base-id`: `7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3`
- `table-id`: `i7zsObk`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596001303 |
| `calendar.participant.add(plain)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(plain)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bb7c36217745960023866596e04c8" } |
| `calendar.participant.add(csv)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(csv)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2127d89817745960035161714e0aa2" } |
| `calendar.participant.add(jsonarr)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(jsonarr)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2104a64c17745960050053458e0acc" } |
| `calendar.room.add(1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745960058146858e054a" } |
| `calendar.room.delete(1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2104a64c17745960064643041e0a69" } |
| `calendar.room.add(1)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745960071086603e04a5" } |
| `calendar.room.delete(1)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2104a64c17745960080577877e0a8b" } |
| `calendar.room.add(A1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2127d89817745960087162927e09fc" } |
| `calendar.room.delete(A1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0b5deb3217745960096788390e0c07" } |
| `aitable.base.create` | `0` | `pass` | { "data": { "baseId": "7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3", "baseName": "v5-base-20260327-152000" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base 'v5-base-20260327-152000' (id= |
| `aitable.table.create` | `0` | `pass` | { "data": { "baseId": "7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3", "tableId": "i7zsObk", "tableName": "v5-table-20260327-152000" }, "error": {}, "meta": {}, "status": "success", "summary": "create_table su |
| `aitable.field.create` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "ZfncUO3", "fieldName": "自动化字段B", "success": true } ], "successCount": 1 }, "error": {}, "meta": {}, " |
| `aitable.record.create(cells)` | `0` | `pass` | { "data": { "newRecordIds": [ "Ji0akBZIwI" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table i7zsObk of base 7dx2rn0Jbakrq9O5t6NY541PVMGjLR |
@@ -1,33 +0,0 @@
# CLI 第五轮清障报告(5条失败定向)
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:20:17 |
| 命令数 | `17` |
| pass | `8` |
| fail_exit | `0` |
| fail_business | `9` |
- `event-id`: `UnlJR0l0YXZNMTVqSU9JNTljVkEzQT09`
- `base-id`: `7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3`
- `table-id`: `i7zsObk`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596001303 |
| `calendar.participant.add(plain)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(plain)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bb7c36217745960023866596e04c8" } |
| `calendar.participant.add(csv)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(csv)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2127d89817745960035161714e0aa2" } |
| `calendar.participant.add(jsonarr)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete(jsonarr)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "2104a64c17745960050053458e0acc" } |
| `calendar.room.add(1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745960058146858e054a" } |
| `calendar.room.delete(1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2104a64c17745960064643041e0a69" } |
| `calendar.room.add(1)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0bb7c36217745960071086603e04a5" } |
| `calendar.room.delete(1)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2104a64c17745960080577877e0a8b" } |
| `calendar.room.add(A1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "2127d89817745960087162927e09fc" } |
| `calendar.room.delete(A1001)` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: roomId invalid", "result": {}, "success": false, "trace_id": "0b5deb3217745960096788390e0c07" } |
| `aitable.base.create` | `0` | `pass` | { "data": { "baseId": "7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3", "baseName": "v5-base-20260327-152000" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base 'v5-base-20260327-152000' (id= |
| `aitable.table.create` | `0` | `pass` | { "data": { "baseId": "7dx2rn0Jbakrq9O5t6NY541PVMGjLRb3", "tableId": "i7zsObk", "tableName": "v5-table-20260327-152000" }, "error": {}, "meta": {}, "status": "success", "summary": "create_table su |
| `aitable.field.create` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "ZfncUO3", "fieldName": "自动化字段B", "success": true } ], "successCount": 1 }, "error": {}, "meta": {}, " |
| `aitable.record.create(cells)` | `0` | `pass` | { "data": { "newRecordIds": [ "Ji0akBZIwI" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table i7zsObk of base 7dx2rn0Jbakrq9O5t6NY541PVMGjLR |
@@ -1,53 +0,0 @@
# CLI 第六轮失败集修复回归报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:25:41 |
| 样本数 | `33` |
| pass | `23` |
| fail_exit | `0` |
| fail_business | `10` |
- `uid`: `061978`
- `event-id`: `d1RYWVpPZ1MwSVIxWnRRUnNFbWtJUT09`
- `room-id`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
- `base-id`: `Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq`
- `table-id`: `i6sTftc`
- `report-id`: `(无)`
- `task-id`: `(无)`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `auth.status` | `0` | `pass` | 状态: 已登录 ✅ 有效期: 2026-03-27T09:17:05Z |
| `contact.user.get-self` | `0` | `pass` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptId": 1037045267, "deptName": |
| `calendar.event.create(seed)` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596318405 |
| `calendar.room.search(seed-96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `aitable.base.create(seed)` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-20260327-152517" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base 'v6-base-20260327-152517' (id= |
| `aitable.table.create(seed)` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "tableId": "i6sTftc", "tableName": "v6-table-20260327-152517" }, "error": {}, "meta": {}, "status": "success", "summary": "create_table su |
| `aitable.field.create(seed)` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "zKUcAsV", "fieldName": "自动化字段V6", "success": true } ], "successCount": 1 }, "error": {}, "meta": {}, |
| `report.template.list(seed)` | `0` | `pass` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.dingtalkapps.com/alid/app/report/images/i |
| `attendance.record.get` | `0` | `pass` | { "code": "0", "message": "success", "result": { "approveList": [], "group": { "name": "创新项目-QM", "type": "FIXED" }, "isHasSchedule": false, "isRest": false, "isUnSigned": false, |
| `attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "2132f5ca17745963243085228e0a19" } |
| `calendar.event.get` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "categories": [], "c |
| `calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.participant.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bab027317745963274351337e0761" } |
| `calendar.participant.list` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ] }, "success": true } |
| `calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2132f5ca177459632895 |
| `calendar.room.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `aitable.base.get` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-20260327-152517", "dashboards": [], "tables": [ { "tableId": "i6sTftc", "tableName": "v6-table-202603 |
| `aitable.base.update` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-upd-20260327-152517", "updatedAt": "2026-03-27T15:25:31+08:00" }, "error": {}, "meta": {}, "status": "success", "summ |
| `aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "UmGsxF5", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "zKU |
| `aitable.table.update` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "tableId": "i6sTftc", "tableName": "v6-table-upd-20260327-152517", "updatedAt": "2026-03-27T15:25:33+08:00" }, "error": {}, "meta": {}, |
| `aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "ZkEj7TNe5G" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table i6sTftc of base Exel2BLV5gOAdXr1uDpB0mrB8gk9rp |
| `aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "ZkEj7TNe5G", "records": [ { "cells": { "zKUcAsV": "ok" }, "recordId": "ZkEj7TNe5G" } ] }, "error": {}, "meta": {}, "status": |
| `chat.group.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `chat.message.list` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `report.template.detail` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "allowAddReceivers": 0, "lastModifiedTime": 1650879711000, "report_template_fields": [ { "field_name": "今日完成工作", "field_sort": 0, |
| `report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
| `todo.task.create` | `0` | `fail_business` | { "arguments": [], "errorCode": "500", "errorMsg": "TodoServiceImpl#createTask: Unrecognized priority type: 1", "success": false, "trace_id": "0bab027317745963398617211e07a4" } |
| `ding.message.send` | `0` | `fail_business` | { "dingOpenErrcode": 400009, "errorMsg": "robotCode is in not valid or not in the org", "result": {}, "success": false, "trace_id": "2132f5ca17745963404804743e0a7c" } |
| `ding.message.recall` | `0` | `fail_business` | { "dingOpenErrcode": 500100, "errorMsg": "system error", "result": {}, "success": false, "trace_id": "2106d98117745963413161346e0b34" } |
@@ -1,53 +0,0 @@
# CLI 第六轮失败集修复回归报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:25:41 |
| 样本数 | `33` |
| pass | `23` |
| fail_exit | `0` |
| fail_business | `10` |
- `uid`: `061978`
- `event-id`: `d1RYWVpPZ1MwSVIxWnRRUnNFbWtJUT09`
- `room-id`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
- `base-id`: `Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq`
- `table-id`: `i6sTftc`
- `report-id`: `(无)`
- `task-id`: `(无)`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `auth.status` | `0` | `pass` | 状态: 已登录 ✅ 有效期: 2026-03-27T09:17:05Z |
| `contact.user.get-self` | `0` | `pass` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptId": 1037045267, "deptName": |
| `calendar.event.create(seed)` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596318405 |
| `calendar.room.search(seed-96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `aitable.base.create(seed)` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-20260327-152517" }, "error": {}, "meta": {}, "status": "success", "summary": "Created base 'v6-base-20260327-152517' (id= |
| `aitable.table.create(seed)` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "tableId": "i6sTftc", "tableName": "v6-table-20260327-152517" }, "error": {}, "meta": {}, "status": "success", "summary": "create_table su |
| `aitable.field.create(seed)` | `0` | `pass` | { "data": { "failedCount": 0, "results": [ { "fieldId": "zKUcAsV", "fieldName": "自动化字段V6", "success": true } ], "successCount": 1 }, "error": {}, "meta": {}, |
| `report.template.list(seed)` | `0` | `pass` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.dingtalkapps.com/alid/app/report/images/i |
| `attendance.record.get` | `0` | `pass` | { "code": "0", "message": "success", "result": { "approveList": [], "group": { "name": "创新项目-QM", "type": "FIXED" }, "isHasSchedule": false, "isRest": false, "isUnSigned": false, |
| `attendance.summary` | `0` | `fail_business` | { "code": "C0002", "message": "统计类型错误", "result": {}, "success": false, "trace_id": "2132f5ca17745963243085228e0a19" } |
| `calendar.event.get` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "categories": [], "c |
| `calendar.event.update` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.participant.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "success": true } |
| `calendar.participant.delete` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: can not remove organizer.", "result": {}, "success": false, "trace_id": "0bab027317745963274351337e0761" } |
| `calendar.participant.list` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ] }, "success": true } |
| `calendar.room.add` | `0` | `fail_business` | { "arguments": [], "errorCode": "300000", "errorMsg": "code: 300000, developerMessage: Cannot patch event that is not in 'confirmed' status.", "result": {}, "success": false, "trace_id": "2132f5ca177459632895 |
| `calendar.room.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `aitable.base.get` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-20260327-152517", "dashboards": [], "tables": [ { "tableId": "i6sTftc", "tableName": "v6-table-202603 |
| `aitable.base.update` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "baseName": "v6-base-upd-20260327-152517", "updatedAt": "2026-03-27T15:25:31+08:00" }, "error": {}, "meta": {}, "status": "success", "summ |
| `aitable.table.get` | `0` | `pass` | { "data": { "tables": [ { "fields": [ { "fieldId": "UmGsxF5", "fieldName": "标题", "type": "primaryDoc" }, { "fieldId": "zKU |
| `aitable.table.update` | `0` | `pass` | { "data": { "baseId": "Exel2BLV5gOAdXr1uDpB0mrB8gk9rpMq", "tableId": "i6sTftc", "tableName": "v6-table-upd-20260327-152517", "updatedAt": "2026-03-27T15:25:33+08:00" }, "error": {}, "meta": {}, |
| `aitable.record.create` | `0` | `pass` | { "data": { "newRecordIds": [ "ZkEj7TNe5G" ] }, "error": {}, "meta": {}, "status": "success", "summary": "Successfully created 1 record(s) in table i6sTftc of base Exel2BLV5gOAdXr1uDpB0mrB8gk9rp |
| `aitable.record.query` | `0` | `pass` | { "data": { "nextCursor": "ZkEj7TNe5G", "records": [ { "cells": { "zKUcAsV": "ok" }, "recordId": "ZkEj7TNe5G" } ] }, "error": {}, "meta": {}, "status": |
| `chat.group.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `chat.message.send` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `chat.message.list` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "Tool metadata API error: PARAM_ERROR - 未找到指定工具", "trace_id": |
| `report.template.detail` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "allowAddReceivers": 0, "lastModifiedTime": 1650879711000, "report_template_fields": [ { "field_name": "今日完成工作", "field_sort": 0, |
| `report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `report.list` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "hasMore": false, "nextCursor": 0, "report_list": [], "size": 10 }, "success": true } |
| `todo.task.create` | `0` | `fail_business` | { "arguments": [], "errorCode": "500", "errorMsg": "TodoServiceImpl#createTask: Unrecognized priority type: 1", "success": false, "trace_id": "0bab027317745963398617211e07a4" } |
| `ding.message.send` | `0` | `fail_business` | { "dingOpenErrcode": 400009, "errorMsg": "robotCode is in not valid or not in the org", "result": {}, "success": false, "trace_id": "2132f5ca17745963404804743e0a7c" } |
| `ding.message.recall` | `0` | `fail_business` | { "dingOpenErrcode": 500100, "errorMsg": "system error", "result": {}, "success": false, "trace_id": "2106d98117745963413161346e0b34" } |
@@ -1,30 +0,0 @@
# CLI 第七轮定向修复重跑报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:29:25 |
| 样本数 | `11` |
| pass | `9` |
| fail_exit | `0` |
| fail_business | `2` |
- `uid`: `061978`
- `todo priority` 命中值: `LOW`
- `task-id`: `51469483424`
- `template`: `日报` / `18b46f75236c558cc63be07419f8d65f`
- `event-id`: `bVBwVWRCZDhSenhzdmwvcDNzYkQxQT09`
- `room-id`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `contact.user.get-self` | `0` | `pass` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptId": 1037045267, "deptName": |
| `todo.task.create(priority=LOW)` | `0` | `pass` | { "arguments": [], "result": { "subject": "v7-retry-20260327-152915-LOW", "taskId": "51469483424" }, "success": true } |
| `todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12839806740", "cr |
| `report.template.list` | `0` | `pass` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.dingtalkapps.com/alid/app/report/images/i |
| `report.template.detail` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "allowAddReceivers": 0, "lastModifiedTime": 1650879711000, "report_template_fields": [ { "field_name": "今日完成工作", "field_sort": 0, |
| `report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596561911 |
| `calendar.room.search(96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `calendar.room.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.room.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `ding.message.send(placeholder)` | `0` | `fail_business` | { "dingOpenErrcode": 400009, "errorMsg": "robotCode is in not valid or not in the org", "result": {}, "success": false, "trace_id": "0bb7c36217745965657028317e058c" } |
@@ -1,30 +0,0 @@
# CLI 第七轮定向修复重跑报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:29:25 |
| 样本数 | `11` |
| pass | `9` |
| fail_exit | `0` |
| fail_business | `2` |
- `uid`: `061978`
- `todo priority` 命中值: `LOW`
- `task-id`: `51469483424`
- `template`: `日报` / `18b46f75236c558cc63be07419f8d65f`
- `event-id`: `bVBwVWRCZDhSenhzdmwvcDNzYkQxQT09`
- `room-id`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `contact.user.get-self` | `0` | `pass` | { "result": [ { "isAdmin": true, "orgEmployeeModel": { "corpId": "ding8196cd9a2b2405da24f2f5cc6abecb85", "depts": [ { "deptId": 1037045267, "deptName": |
| `todo.task.create(priority=LOW)` | `0` | `pass` | { "arguments": [], "result": { "subject": "v7-retry-20260327-152915-LOW", "taskId": "51469483424" }, "success": true } |
| `todo.task.get` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": { "todoDetailModel": { "activities": [ { "action": "task.create", "activityId": "12839806740", "cr |
| `report.template.list` | `0` | `pass` | { "items": [ { "last_modified_time": 1697702695000, "report_template_id": "18b46f75236c558cc63be07419f8d65f", "report_template_logo_url": "https://landray.dingtalkapps.com/alid/app/report/images/i |
| `report.template.detail` | `0` | `pass` | { "errcode": 0, "errorMsg": "ok", "result": { "allowAddReceivers": 0, "lastModifiedTime": 1650879711000, "report_template_fields": [ { "field_name": "今日完成工作", "field_sort": 0, |
| `report.create` | `0` | `fail_business` | { "code": "PARAM_ERROR", "error": "参数错误", "message": "参数错误。请检查输入参数是否正确,参考工具说明调整参数后重试", "retryable": false, "success": false, "technical_detail": "调用失败,原因: 调用失败,原因: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预 |
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596561911 |
| `calendar.room.search(96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `calendar.room.add` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.room.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `ding.message.send(placeholder)` | `0` | `fail_business` | { "dingOpenErrcode": 400009, "errorMsg": "robotCode is in not valid or not in the org", "result": {}, "success": false, "trace_id": "0bb7c36217745965657028317e058c" } |
@@ -1,43 +0,0 @@
# CLI 第七轮定向修复报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:28:17 |
| 样本数 | `23` |
| pass | `0` |
| fail_exit | `23` |
| fail_business | `0` |
- `uid`: `061978`
- `todo priority` 可用值: `(未探测到)`
- `task-id`: `(无)`
- `report template`: `日报`
- `template-id`: `1`
- `calendar event-id`: `(无)`
- `calendar room-id`: `(无)`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `contact.user.get-self` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=1)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=2)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=3)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=4)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P0)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P1)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P2)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P3)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=HIGH)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=MEDIUM)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=LOW)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=URGENT)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=NORMAL)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.template.list` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.template.detail` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.create(with_template_fields)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.event.create(confirmed_seed)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(96)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(41)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(74)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `ding.message.send(robot_placeholder)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `ding.message.recall(robot_placeholder)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,43 +0,0 @@
# CLI 第七轮定向修复报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:28:17 |
| 样本数 | `23` |
| pass | `0` |
| fail_exit | `23` |
| fail_business | `0` |
- `uid`: `061978`
- `todo priority` 可用值: `(未探测到)`
- `task-id`: `(无)`
- `report template`: `日报`
- `template-id`: `1`
- `calendar event-id`: `(无)`
- `calendar room-id`: `(无)`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `contact.user.get-self` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=1)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=2)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=3)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=4)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P0)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P1)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P2)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=P3)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=HIGH)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=MEDIUM)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=LOW)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=URGENT)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `todo.task.create(priority=NORMAL)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.template.list` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.template.detail` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `report.create(with_template_fields)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.event.create(confirmed_seed)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(96)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(41)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `calendar.room.search(74)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `ding.message.send(robot_placeholder)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
| `ding.message.recall(robot_placeholder)` | `1` | `fail_exit` | { "error": { "actions": [ "Check authentication, permissions, and parameters, then retry" ], "category": "api", "code": 1, "hint": "Request was rejected by upstream service; check parameters, |
@@ -1,48 +0,0 @@
# 会议室ID实采链路专项报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:22:35 |
| 步骤数 | `32` |
| pass | `32` |
| fail_exit | `0` |
| fail_business | `0` |
- `event-id`: `bjRTVjdjSlliZHpiblp5TVB4TDlGQT09`
- `发现的 roomId 数量`: `2`
- `成功验证 roomId`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596132153 |
| `calendar.room.list-groups` | `0` | `pass` | { "result": { "groupList": [ { "groupId": 41, "groupName": "绿城·未来park", "parentId": 0 }, { "groupId": 74, "groupName": "西溪C区", "parentId": 0 } |
| `calendar.room.search(group=41)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=74)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `calendar.room.search(group=42)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=43)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=44)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=45)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=50)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=51)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=52)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=53)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=54)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=55)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=58)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=59)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=60)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=61)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=62)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=63)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=64)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=65)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=46)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=48)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=75)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=76)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=77)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=78)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.add(room=bdff146f0172e49511c91904cf69b186003e6834fdd7fee7)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.room.delete(room=bdff146f0172e49511c91904cf69b186003e6834fdd7fee7)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
@@ -1,48 +0,0 @@
# 会议室ID实采链路专项报告
| 指标 | 值 |
|---|---|
| 时间 | 2026-03-27 15:22:35 |
| 步骤数 | `32` |
| pass | `32` |
| fail_exit | `0` |
| fail_business | `0` |
- `event-id`: `bjRTVjdjSlliZHpiblp5TVB4TDlGQT09`
- `发现的 roomId 数量`: `2`
- `成功验证 roomId`: `bdff146f0172e49511c91904cf69b186003e6834fdd7fee7`
| 步骤 | exit | 语义 | 摘要 |
|---|---:|---|---|
| `calendar.event.create` | `0` | `pass` | { "arguments": [], "result": { "attendees": [ { "displayName": "天雷", "optional": false, "responseStatus": "accepted", "self": true } ], "created": 1774596132153 |
| `calendar.room.list-groups` | `0` | `pass` | { "result": { "groupList": [ { "groupId": 41, "groupName": "绿城·未来park", "parentId": 0 }, { "groupId": 74, "groupName": "西溪C区", "parentId": 0 } |
| `calendar.room.search(group=41)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=74)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=96)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "capacity": null, "fullGroupPath": "阿里中心-杭州未科", "labels": [], "roomId": "bdff146f0172e49511c91904cf69b186003e6834fdd7fee7", |
| `calendar.room.search(group=42)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=43)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=44)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=45)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=50)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=51)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=52)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=53)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=54)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=55)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=58)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=59)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=60)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=61)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=62)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=63)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=64)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=65)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=46)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=48)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=75)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=76)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=77)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.search(group=78)` | `0` | `pass` | { "arguments": [], "result": { "result": [ { "labels": null } ] }, "success": true } |
| `calendar.room.add(room=bdff146f0172e49511c91904cf69b186003e6834fdd7fee7)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.room.delete(room=bdff146f0172e49511c91904cf69b186003e6834fdd7fee7)` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
| `calendar.event.delete` | `0` | `pass` | { "arguments": [], "errorCode": null, "errorMsg": null, "result": {}, "success": true } |
@@ -1,43 +0,0 @@
# report.create 深度修复结论
## 目标
- 继续修复 `fix.report.create`
- 同时确认以下项按白名单处理:
- `attendance.summary`(统计类型业务限制)
- `calendar.participant.delete`(不能删除组织者)
- `calendar.room.add`(会议室冲突规则)
## 执行结果
- 已对 `report.create` 做多轮参数矩阵探测:
- `template-id` 使用了两组真实值:
- `18b46f75236c558cc63be07419f8d65f`
- `180601946fdafa15424d9d84b5e8c33a`
- `contents` 试了 5 种结构:
- `[{ "content": "..." }]`
- `[{ "key": "...", "content": "..." }, ...]`
- `[{ "field_name": "...", "content": "..." }, ...]`
- `[{ "name": "...", "value": "..." }, ...]`
- `{ "今日完成工作": "...", ... }`
- 每种都分别试了是否带 `--dd-from 0`
- 最终结果:
- 所有组合均 `exit=0`,但业务返回均为 `success=false`
- 错误统一为 `PARAM_ERROR`(服务端业务校验未通过)
## 结论
- `fix.report.create` 在当前可见 CLI 参数维度下仍无法修复通过。
- 当前更可能是服务端对 `contents` 的协议要求与 CLI 暴露参数存在缺口,或需额外上下文(当前命令参数未暴露)。
## 当前白名单
- `attendance.summary`
- `calendar.participant.delete`
- `calendar.room.add`
- `chat.*`
- `ding.*`
> 注:`calendar event list-mine` 已按你的要求继续探测,但在不同时间格式和参数组合下均返回 `Tool metadata API error: 未找到指定工具`,现阶段可视为服务端侧阻塞。