Hide shortcuts that did not pass real testing from public help/list discovery while keeping commands available for internal retest. Record real shortcut inputs/outputs, backend issue summaries, next-release hidden list, and refresh skill guidance to mirror the lark-cli shortcut integration pattern.
4974 lines
448 KiB
JSON
4974 lines
448 KiB
JSON
{
|
||
"generated_at": "2026-07-15T16:13:24.234893",
|
||
"summary": {
|
||
"total": 204,
|
||
"ok": 162,
|
||
"error": 41,
|
||
"timeout": 0,
|
||
"held": 1
|
||
},
|
||
"failure_categories": {
|
||
"input-or-business-validation": 16,
|
||
"backend-or-mcp-error": 9,
|
||
"missing-real-resource": 7,
|
||
"auth-or-permission": 6,
|
||
"missing-real-minutes-fixture": 3,
|
||
"held": 1
|
||
},
|
||
"results": [
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +base-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"baseName\": \"Real共创版设备去向登记\",\n \"dashboards\": [\n {\n \"chartCount\": 8,\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"dashboardName\": \"仪表盘\",\n \"meta\": {}\n }\n ],\n \"documents\": [],\n \"tables\": [\n {\n \"tableId\": \"hERWDMS\",\n \"tableName\": \"Mac Mini\"\n },\n {\n \"tableId\": \"k8d898q\",\n \"tableName\": \"手机\"\n },\n {\n \"tableId\": \"zyLRwwa\",\n \"tableName\": \"SIM卡\"\n },\n {\n \"tableId\": \"L53jNZz\",\n \"tableName\": \"机箱\"\n },\n {\n \"tableId\": \"zTiHNDL\",\n \"tableName\": \"磁吸片\"\n },\n {\n \"tableId\": \"anMdihs\",\n \"tableName\": \"手机线\"\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got base 'Real共创版设备去向登记' with 6 table(s). URL rules: AI 表格访问地址: https://docs.dingtalk.com/i/nodes/{baseId}; AI 表格数据表访问地址: https://docs.dingtalk.com/i/nodes/{baseId}?iframeQuery=sheetId%3D{tableId}; AI 表格仪表盘访问地址: https://docs.dingtalk.com/i/nodes/{baseId}?iframeQuery=applicationId%3D{dashboardId}; AI 表格说明文档地址: https://pre-alidocs.dingtalk.com/i/nodes/{baseId}?iframeQuery=applicationId%3D{documentId}. User-facing guidance: 面向用户时要以人为本、友好直观,优先展示 **实体名称**、可点击链接和必要上下文,尽量隐藏 `baseId`、`tableId`、`viewId`、`dashboardId`、`documentId` 等技术细节;除非用户明确索要或排障必须,否则不要直接呈现这些 ID。\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1773
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +base-list --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-list",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"bases\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1289
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +base-search --query '测试' --cursor 0 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-search",
|
||
"--query",
|
||
"测试",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"bases\": [\n {\n \"baseId\": \"yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-27 21:27:03\"\n },\n {\n \"baseId\": \"3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm\",\n \"baseName\": \"文件扫描测试 -20260414\"\n },\n {\n \"baseId\": \"QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N\",\n \"baseName\": \"文件扫描测试(25)\"\n },\n {\n \"baseId\": \"Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq\",\n \"baseName\": \"文件扫描测试(5)\"\n },\n {\n \"baseId\": \"OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4\",\n \"baseName\": \"文件扫描测试(24)\"\n },\n {\n \"baseId\": \"OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4\",\n \"baseName\": \"文件扫描测试(22)\"\n },\n {\n \"baseId\": \"l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4\",\n \"baseName\": \"文件扫描测试(26)(2)\"\n },\n {\n \"baseId\": \"MyQA2dXW7oOA63Yac5lMpzxkWzlwrZgb\",\n \"baseName\": \"文件扫描测试\"\n },\n {\n \"baseId\": \"9E05BDRVQePjzLkZtyX1L6vmV63zgkYA\",\n \"baseName\": \"工作目录文件扫描测试\"\n },\n {\n \"baseId\": \"y20BglGWOGQgpOj6u0GaqL3EWA7depqY\",\n \"baseName\": \"case-0055-数据导入测试\"\n },\n {\n \"baseId\": \"14dA3GK8gkP4oNl0cKqRz7jy89ekBD76\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-22 19:41:26\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSGLpk7EdJMwvDqPk\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-22 18:41:20\"\n },\n {\n \"baseId\": \"7dx2rn0Jbakrq9O5t2GbL30XVMGjLRb3\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-22 16:33:50\"\n },\n {\n \"baseId\": \"OG9lyrgJPL7M2ONQSzPgGxwvJzN67Mw4\",\n \"baseName\": \"case-0052-临时测试\"\n },\n {\n \"baseId\": \"wva2dxOW4kO6dpRac0jppNE58bkz3BRL\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-21 22:11:30\"\n },\n {\n \"baseId\": \"0eMKjyp81MrAdNmPu4NvYXAE8xAZB1Gv\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-20 21:24:44\"\n },\n {\n \"baseId\": \"dxXB52LJqwZrolvyFMkR2MDPWqjMp697\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-20 16:53:48\"\n },\n {\n \"baseId\": \"bva6QBXJwZenolNyS2Gwg2NxVn4qY5Pr\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-20 15:53:56\"\n },\n {\n \"baseId\": \"bva6QBXJwZenolNyS2G3bNnOVn4qY5Pr\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-20 09:09:21\"\n },\n {\n \"baseId\": \"pYLaezmVNGmDXOMxuGjwevPqJrMqPxX6\",\n \"baseName\": \"🧪测试 工作区目录扫描 - 2026-04-20 08:09:11\"\n }\n ],\n \"count\": 20\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1628
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --dashboard-id KY9tlWg5NEHgfs8WT6IO2 --chart-id widget-dlxFo0tNSImp4ITpDn5fQ --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--dashboard-id",
|
||
"KY9tlWg5NEHgfs8WT6IO2",
|
||
"--chart-id",
|
||
"widget-dlxFo0tNSImp4ITpDn5fQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-dlxFo0tNSImp4ITpDn5fQ\",\n \"chartName\": \"各业务线未部署数\",\n \"chartType\": \"BAR\",\n \"config\": {\n \"axisLabelShow\": false,\n \"categoryAxisMaxRatio\": \"0.3\",\n \"chartType\": \"BAR\",\n \"colors\": \"COLOR_PALETTE_1\",\n \"dimension\": [\n {\n \"value\": \"rjwzzIu\"\n }\n ],\n \"fillType\": \"solid\",\n \"filter\": [],\n \"gridShow\": false,\n \"group\": [\n {\n \"value\": \"none\"\n }\n ],\n \"label\": true,\n \"labelHideOverlap\": true,\n \"legend\": \"top\",\n \"measure\": [\n {\n \"externalValue\": [\n {\n \"type\": \"formula\",\n \"value\": \"count\"\n }\n ],\n \"value\": \"kFwb8br\"\n }\n ],\n \"measureType\": \"field\",\n \"nullValue\": \"ignore\",\n \"sheet\": \"hERWDMS\",\n \"sortRule\": \"asc\",\n \"view\": \"\",\n \"xAbbr\": {\n \"abbr\": \"\",\n \"decimal\": \"\",\n \"numberType\": \"default\"\n },\n \"xAxisLabel\": true,\n \"xAxisLabelRotate\": \"auto\",\n \"xAxisLine\": false,\n \"xAxisShow\": true,\n \"xSortBy\": \"x\",\n \"xSortCustom\": [],\n \"yAbbr\": {\n \"abbr\": \"\",\n \"decimal\": \"\",\n \"numberType\": \"default\"\n },\n \"yAxisLabel\": true,\n \"yAxisLine\": false,\n \"yAxisRange\": {\n \"range\": [],\n \"type\": \"absolute\"\n },\n \"yAxisShow\": true,\n \"yRightAbbr\": {\n \"abbr\": \"\",\n \"decimal\": \"\",\n \"numberType\": \"default\"\n },\n \"ySortCustom\": []\n },\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"layout\": {\n \"h\": 5,\n \"i\": \"widget-dlxFo0tNSImp4ITpDn5fQ\",\n \"w\": 6,\n \"x\": 0,\n \"y\": 4\n }\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got chart widget-dlxFo0tNSImp4ITpDn5fQ\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1038
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-widgets-example",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-widgets-example --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-widgets-example",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": \"// 注意\\n// 1. 下述 JSON 示例中的注释(// 开头的注释)仅用于说明,实际使用时请删除,否则会导致解析错误\\n// 2. 所有图表类型的 widget config 示例,key 是图表类型,value 是对应的完整 config\\n// 3. 创建图表时,必需使用示例中的图表类型和配置格式\\n\\n\\n{\\n// 聚合列表视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"AGGREGATE_LIST_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"AGGREGATE_LIST_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"聚合列表视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 列表自定义配置,用于设置聚合列表的自定义样式和行为\\n \\\"listCustom\\\": {},\\n // 列表配置,用于设置聚合列表的显示方式和布局\\n \\\"listConfig\\\": {},\\n // 字段聚合映射,用于设置字段的聚合方式(如 sum、count、avg 等)\\n \\\"fieldAggregateMap\\\": {},\\n // 工具栏配置,用于控制聚合列表视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n },\\n },\\n// AI 分析卡片配置格式,必须按照此格式配置,否则会导致解析错误\\n // 注意:AI 分析卡片不依赖数据表,无需配置 sheet / view / filter\\n \\\"AI_ANALYZE\\\": {\\n // 必填,图表类型,固定值 \\\"AI_ANALYZE\\\"\\n \\\"chartType\\\": \\\"AI_ANALYZE\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"AI 分析卡片\\\",\\n // 可选,AI 提示词,用自然语言描述希望 AI 分析的内容和问题,\\n // 例如:\\\"分析本月各产品线的销售额趋势,找出增长最快的类别并给出建议\\\"\\n \\\"prompt\\\": \\\"\\\",\\n // 可选,需要 AI 参考分析的图表 ID 列表,数组中每个元素必须是当前仪表盘中已存在的图表 ID;\\n // 不填或传空数组时 AI 将基于提示词独立分析,不关联具体图表数据\\n \\\"analyzeChartIds\\\": [],\\n // 可选,指定 AI 模型 ID;不填时使用系统默认模型\\n \\\"modelId\\\": \\\"\\\",\\n // 只读,AI 生成的 Markdown 分析内容,由系统写入,创建时无需填写\\n \\\"content\\\": \\\"\\\",\\n // 只读,AI 分析结果的最后更新时间戳(毫秒),由系统写入,创建时无需填写\\n \\\"lastUpdatedAt\\\": null\\n },\\n// 面积图配置格式\\n \\\"AREA\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"AREA\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"面积图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"smooth\\\": false,\\n \\\"symbolType\\\": \\\"always\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": false,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n }\\n// 条形图配置格式\\n \\\"BAR\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"BAR\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"条形图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"record-count\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"nullValue\\\": \\\"ignore\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"gridShow\\\": false,\\n \\\"label\\\": true,\\n \\\"labelHideOverlap\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"xAxisLine\\\": false,\\n \\\"xAxisLabel\\\": true,\\n \\\"categoryAxisMaxRatio\\\": \\\"0.3\\\",\\n \\\"yAxisShow\\\": true,\\n \\\"yAxisLine\\\": false,\\n \\\"yAxisLabel\\\": true,\\n \\\"fillType\\\": \\\"solid\\\",\\n \\\"filter\\\": []\\n }\\n// 按钮配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"BUTTON\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"BUTTON\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"按钮\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 可选,按钮样式类型,合法值有:type1 到 type10,默认为 type1\\n \\\"buttonStyleType\\\": \\\"type1\\\",\\n // 可选,边框宽度,默认为 1\\n \\\"borderWidth\\\": 1,\\n // 可选,按钮大小,合法值有:default(默认)/ small(小)/ large(大),默认为 default\\n \\\"buttonSize\\\": \\\"default\\\",\\n // 可选,按钮图标,合法值有:link / download / refresh 等\\n \\\"buttonIcon\\\": \\\"link\\\",\\n // 可选,按钮图标背景类型,合法值有:light(浅色)/ dark(深色),默认为 light\\n \\\"buttonIconBackgroundType\\\": \\\"light\\\",\\n // 可选,按钮字体配置\\n \\\"buttonFontSetting\\\": {\\n // 字体大小,默认为 14\\n \\\"size\\\": 14,\\n // 字体颜色\\n \\\"color\\\": \\\"\\\",\\n // 字间距,默认为 0\\n \\\"letterSpacing\\\": 0,\\n // 是否加粗,默认为 false\\n \\\"bold\\\": false,\\n // 是否斜体,默认为 false\\n \\\"italic\\\": false,\\n // 是否下划线,默认为 false\\n \\\"underline\\\": false\\n }\\n },\\n// 日历视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"CALENDAR_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"CALENDAR_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"日历视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 视图分组配置,用于设置视图的默认分组规则\\n \\\"viewGroup\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 日历自定义配置,这是日历视图的核心配置\\n \\\"calendarCustom\\\": {\\n // 必填,显示字段 ID(必须是该表中真实存在的字段 ID)\\n // 用于在日历中显示事件标题或描述\\n \\\"displayFieldId\\\": \\\"fld_text_01\\\",\\n // 必填,开始时间字段 ID(必须是该表中真实存在的日期字段 ID)\\n // 用于设置事件的开始时间\\n \\\"startField\\\": \\\"fld_date_01\\\",\\n // 必填,结束时间字段 ID(必须是该表中真实存在的日期字段 ID)\\n // 用于设置事件的结束时间\\n \\\"endField\\\": \\\"fld_date_02\\\",\\n // 标记配置,用于在日历中添加特殊标记或样式\\n \\\"markers\\\": [],\\n // 时间轴刻度,合法值有:day(日)/ week(周)/ month(月)\\n // 用于设置日历的显示粒度\\n \\\"timelineScale\\\": \\\"month\\\",\\n // 列宽度映射,key 为 fieldId,value 为列宽度(像素)\\n \\\"widthMap\\\": {},\\n // 单元格高度,单位为像素,默认为 32\\n \\\"cellHeight\\\": 32\\n },\\n // 工具栏配置,用于控制日历视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// 卡片列表视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"CARD_LIST_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"CARD_LIST_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"卡片列表视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 列表自定义配置,用于设置卡片列表的自定义样式和行为\\n \\\"listCustom\\\": {},\\n // 列表配置,用于设置卡片列表的显示方式和布局\\n \\\"listConfig\\\": {},\\n // 工具栏配置,用于控制卡片列表视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n },\\n },\\n// 折叠列表视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"COLLAPSIBLE_LIST_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"COLLAPSIBLE_LIST_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"折叠列表视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 列表自定义配置,用于设置折叠列表的自定义样式和行为\\n \\\"listCustom\\\": {},\\n // 列表配置,用于设置折叠列表的显示方式和布局\\n \\\"listConfig\\\": {},\\n // 工具栏配置,用于控制折叠列表视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n },\\n },\\n// 组合布局配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"COMPOSITE_LAYOUT\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"COMPOSITE_LAYOUT\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"组合布局\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\"\\n // 组合布局容器,无特殊配置字段,用于承载其他图表组件\\n },\\n// 组合图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"COMPOSITION\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"COMPOSITION\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"组合图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ],\\n \\\"composition\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"HISTOGRAM\\\",\\n \\\"yAxisPosition\\\": \\\"left\\\"\\n }\\n },\\n {\\n \\\"value\\\": \\\"fld_number_02\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"average\\\"\\n }\\n ],\\n \\\"composition\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"LINE\\\",\\n \\\"yAxisPosition\\\": \\\"right\\\"\\n }\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"gridShow\\\": false,\\n \\\"label\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n },\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:倒计时(COUNTDOWN)\\n // 别名/同义词:倒计时、正计时、计时器、倒计时卡片\\n // 用途:用于展示距离某个目标日期的剩余时间或已过时间,\\n // 支持倒计时和正计时两种模式。适合展示活动截止时间、\\n // 项目里程碑、重要日期提醒等场景。\\n // ═══════════════════════════════════════════════════════════════════\\n // ⚠️ 重要注意事项:\\n // 1. fixedDatetime 必须是毫秒时间戳(如 1746028800000),不是日期字符串(如 \\\"2026-05-01\\\")!\\n // 2. unit 是一个对象(Object),不是字符串!不要写成 \\\"天\\\" 或 \\\"day\\\"!\\n // 3. 背景色字段名是 \\\"background\\\",不是 \\\"backgroundColor\\\"\\n // 4. 时间数字颜色字段名是 \\\"timeColor\\\",不是 \\\"numberColor\\\"\\n // 5. 描述文字颜色字段名是 \\\"descColor\\\",不是 \\\"titleColor\\\"\\n // 6. 不存在 \\\"countdownType\\\"、\\\"endDate\\\"、\\\"numberColor\\\"、\\\"titleColor\\\" 等字段,使用这些字段会导致图表渲染异常\\n \\\"COUNTDOWN\\\": {\\n // 必填,图表类型,固定值 \\\"COUNTDOWN\\\"\\n \\\"chartType\\\": \\\"COUNTDOWN\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"倒计时\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": null,\\n // 可选,描述文本,显示在倒计时数字上方\\n \\\"desc\\\": \\\"倒计时\\\",\\n // 必填,数据来源类型,合法值:fixed(固定日期时间)/ field(从数据表日期字段取值)\\n \\\"sourceType\\\": \\\"fixed\\\",\\n // sourceType = \\\"fixed\\\" 时必填,目标日期的毫秒时间戳\\n // ⚠️ 必须是毫秒时间戳数字(如 1746028800000),不是日期字符串(如 \\\"2026-05-01\\\")!\\n // 示例:2026-05-01 00:00:00 → 1746028800000\\n \\\"fixedDatetime\\\": 1746028800000,\\n // sourceType = \\\"field\\\" 时填写,日期字段的 fieldId\\n \\\"fieldId\\\": null,\\n // sourceType = \\\"field\\\" 时填写,日期选择方式,合法值:earliest(最早日期)/ latest(最晚日期)\\n \\\"fieldChoice\\\": \\\"earliest\\\",\\n // 必填,计时模式,合法值:countdown(倒计时,目标时间在未来)/ countup(正计时,目标时间在过去)\\n \\\"timingMode\\\": \\\"countdown\\\",\\n // 必填,显示的时间单位开关(是一个对象,不是字符串!)\\n // ⚠️ 不要写成 \\\"天\\\" 或 \\\"day\\\",必须是如下对象格式:\\n \\\"unit\\\": {\\n // 是否显示月,默认 false\\n \\\"month\\\": false,\\n // 是否显示周,默认 false\\n \\\"week\\\": false,\\n // 是否显示天,默认 true\\n \\\"day\\\": true,\\n // 是否显示小时,默认 true\\n \\\"hour\\\": true,\\n // 是否显示分钟,默认 true\\n \\\"minute\\\": true,\\n // 是否显示秒,默认 true\\n \\\"second\\\": true\\n },\\n\\n // ── 样式配置 ──────────────────────────────────────────────────────────────\\n // 可选,卡片背景颜色(⚠️ 字段名是 \\\"background\\\",不是 \\\"backgroundColor\\\")\\n \\\"background\\\": \\\"\\\",\\n // 可选,描述文字颜色(⚠️ 字段名是 \\\"descColor\\\",不是 \\\"titleColor\\\")\\n \\\"descColor\\\": \\\"\\\",\\n // 可选,时间块背景颜色\\n \\\"timeBlockColor\\\": \\\"\\\",\\n // 可选,倒计时数字颜色(⚠️ 字段名是 \\\"timeColor\\\",不是 \\\"numberColor\\\")\\n \\\"timeColor\\\": \\\"\\\",\\n // 可选,计时完成是否显示动效,默认 false\\n \\\"showFinishEffect\\\": false\\n },\\n// 详情列表视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"DETAIL_LIST_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"DETAIL_LIST_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"详情列表视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 列表自定义配置,用于设置详情列表的自定义样式和行为\\n \\\"listCustom\\\": {},\\n // 列表配置,用于设置详情列表的显示方式和布局\\n \\\"listConfig\\\": {},\\n // 工具栏配置,用于控制详情列表视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n },\\n },\\n// 嵌入网页配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"EMBED_WEBPAGE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"EMBED_WEBPAGE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"嵌入网页\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 必填,嵌入的网页 URL(必须是有效的 URL 地址)\\n \\\"url\\\": \\\"https://example.com\\\"\\n },\\n// 漏斗图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"FUNNEL\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"FUNNEL\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"漏斗图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"record-count\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"sumValue\\\": true,\\n \\\"funnelType\\\": \\\"normal\\\",\\n \\\"filter\\\": []\\n },\\n// 画册视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"GALLERY_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"GALLERY_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"画册视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 画册自定义配置,用于设置画册的显示样式\\n \\\"galleryCustom\\\": {\\n // 卡片设置,用于配置画册中卡片的显示方式\\n \\\"cardSetting\\\": {\\n // 封面模式,合法值有:none(无封面)/ cover(封面)等\\n \\\"coverMode\\\": \\\"none\\\"\\n }\\n },\\n // 工具栏配置,用于控制画册视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// 甘特视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"GANTT_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"GANTT_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"甘特视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 视图分组配置,用于设置视图的默认分组规则\\n \\\"viewGroup\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 是否折叠网格,默认为 false\\n \\\"collapsedGrid\\\": false,\\n // 甘特自定义配置,这是甘特视图的核心配置\\n \\\"ganttCustom\\\": {\\n // 必填,显示字段 ID(必须是该表中真实存在的字段 ID)\\n // 用于在甘特图中显示任务名称或描述\\n \\\"displayFieldId\\\": \\\"fld_text_01\\\",\\n // 必填,开始时间字段 ID(必须是该表中真实存在的日期字段 ID)\\n // 用于设置任务的开始时间\\n \\\"startField\\\": \\\"fld_date_01\\\",\\n // 必填,结束时间字段 ID(必须是该表中真实存在的日期字段 ID)\\n // 用于设置任务的结束时间\\n \\\"endField\\\": \\\"fld_date_02\\\",\\n // 标记配置,用于在甘特图中添加里程碑或重要时间点\\n \\\"markers\\\": [],\\n // 时间轴刻度,合法值有:day(日)/ week(周)/ month(月)/ quarter(季)/ year(年)\\n // 用于设置甘特图的时间轴显示粒度\\n \\\"timelineScale\\\": \\\"month\\\",\\n // 列宽度映射,key 为 fieldId,value 为列宽度(像素)\\n \\\"widthMap\\\": {},\\n // 单元格高度,单位为像素,默认为 32\\n \\\"cellHeight\\\": 32\\n },\\n // 工具栏配置,用于控制甘特视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// 表格视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"GRID_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"GRID_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"表格视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 视图分组配置,用于设置视图的默认分组规则\\n \\\"viewGroup\\\": [],\\n // 单元格高度,单位为像素,默认为 32\\n \\\"cellHeight\\\": 32,\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列宽度映射,key 为 fieldId,value 为列宽度(像素)\\n \\\"widthMap\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 冻结列数,默认为 1,表示冻结左侧的列数\\n \\\"frozenColCount\\\": 1,\\n // 工具栏配置,用于控制表格视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 创建行按钮的文本内容\\n \\\"createRowText\\\": \\\"\\\",\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:柱状图(HISTOGRAM)\\n // 别名/同义词:竖向柱图、垂直柱图、分组柱图\\n // 用途:以垂直柱子展示多个分类维度的数值对比,适合比较不同类别之间的\\n // 数量差异,如各月销售额对比、各部门人数对比、各产品销量排名等。\\n // 核心特征:有 X 轴(分类维度)和 Y 轴(数值),每个类别对应一根柱子。\\n // 与\\\"统计数字(SUMMARY)\\\"的关键区别:\\n // - 柱状图(HISTOGRAM):展示多个分类的对比,有坐标轴,是\\\"多值图表\\\"\\n // - 统计数字(SUMMARY):只展示一个聚合数字,无坐标轴,是\\\"单值卡片\\\"\\n // 重要:当用户说\\\"柱状图\\\"、\\\"柱图\\\"、\\\"分组柱图\\\"时,\\n // 必须使用 chartType = \\\"HISTOGRAM\\\",不要使用 SUMMARY 或其他图表类型。\\n // ═══════════════════════════════════════════════════════════════════\\n \\\"HISTOGRAM\\\": {\\n // 必填,图表类型,固定值 \\\"HISTOGRAM\\\"(柱状图)\\n \\\"chartType\\\": \\\"HISTOGRAM\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"柱状图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"record-count\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_02\\\"\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"xSortCustom\\\": [],\\n \\\"ySortCustom\\\": [],\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"nullValue\\\": \\\"ignore\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"gridShow\\\": false,\\n \\\"axisLabelShow\\\": false,\\n \\\"label\\\": true,\\n \\\"labelHideOverlap\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"xAxisLine\\\": false,\\n \\\"xAxisLabel\\\": true,\\n \\\"xAxisLabelRotate\\\": \\\"auto\\\",\\n \\\"categoryAxisMaxRatio\\\": \\\"0.2\\\",\\n \\\"yAxisShow\\\": true,\\n \\\"yAxisLine\\\": false,\\n \\\"yAxisLabel\\\": true,\\n \\\"fillType\\\": \\\"solid\\\",\\n \\\"yAxisRange\\\": {\\n \\\"type\\\": \\\"absolute\\\",\\n \\\"range\\\": []\\n },\\n \\\"xAbbr\\\": {\\n \\\"numberType\\\": \\\"default\\\",\\n \\\"abbr\\\": \\\"\\\",\\n \\\"decimal\\\": \\\"\\\"\\n },\\n \\\"yAbbr\\\": {\\n \\\"numberType\\\": \\\"default\\\",\\n \\\"abbr\\\": \\\"\\\",\\n \\\"decimal\\\": \\\"\\\"\\n },\\n \\\"yRightAbbr\\\": {\\n \\\"numberType\\\": \\\"default\\\",\\n \\\"abbr\\\": \\\"\\\",\\n \\\"decimal\\\": \\\"\\\"\\n },\\n \\\"filter\\\": []\\n }\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:图片(IMAGE)\\n // 别名/同义词:图片卡、图片展示、图片轮播、Banner 图\\n // 用途:在仪表盘中展示一张或多张静态图片,支持多图轮播(滑动/淡入淡出),\\n // 可为每张图片配置标题、描述和点击跳转链接。适合展示品牌 Banner、\\n // 产品图、说明图、装饰图等不依赖数据表的纯图片内容。\\n // 重要:当用户说\\\"图片\\\"、\\\"图片卡\\\"、\\\"图片展示\\\"、\\\"Banner\\\"、\\\"轮播图\\\"时,\\n // 必须使用 chartType = \\\"IMAGE\\\",不要使用其他图表类型。\\n // 此图表类型不依赖数据表,无需配置 sheet / view / filter。\\n // ═══════════════════════════════════════════════════════════════════\\n \\\"IMAGE\\\": {\\n // 必填,图表类型,固定值 \\\"IMAGE\\\"(图片)\\n \\\"chartType\\\": \\\"IMAGE\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"图片\\\",\\n // 必填,图片列表,至少包含一张图片;多张图片时支持轮播\\n \\\"img_images\\\": [\\n {\\n // 必填,图片的访问 URL\\n \\\"url\\\": \\\"https://example.com/image.png\\\",\\n // 可选,图片标题,显示在图片上方(需 img_showImgText=true)\\n \\\"title\\\": \\\"\\\",\\n // 可选,图片描述,显示在标题下方(需 img_showImgText=true)\\n \\\"desc\\\": \\\"\\\",\\n // 可选,点击图片后跳转的链接 URL\\n \\\"toUrl\\\": \\\"\\\",\\n // 必填,图片填充模式,合法值:cover(裁剪铺满)/ contain(等比缩放留白)/ fill(拉伸铺满)\\n \\\"fillMode\\\": \\\"cover\\\"\\n }\\n ],\\n // 可选,是否在图片上显示标题和描述文字,默认 true;\\n // 设为 false 时 img_titleStyle / img_descStyle / img_textAlign 均不生效\\n \\\"img_showImgText\\\": true,\\n // 可选,图片文字的对齐位置,合法值:\\n // leftTop / top / rightTop / left / center / right / leftBottom / bottom / rightBottom\\n \\\"img_textAlign\\\": \\\"center\\\",\\n // 可选,图片标题的字体样式(仅 img_showImgText=true 时生效)\\n \\\"img_titleStyle\\\": {\\n // 字体大小(px),合法范围 16~56,步长 4\\n \\\"size\\\": 16,\\n // 字体颜色,十六进制色值,如 \\\"#FFFFFF\\\"\\n \\\"color\\\": \\\"\\\",\\n // 是否加粗\\n \\\"bold\\\": true,\\n // 是否斜体\\n \\\"italic\\\": false,\\n // 是否下划线\\n \\\"underline\\\": false\\n },\\n // 可选,图片描述的字体样式(仅 img_showImgText=true 时生效)\\n \\\"img_descStyle\\\": {\\n // 字体大小(px),合法范围 16~56,步长 4\\n \\\"size\\\": 14,\\n // 字体颜色,十六进制色值\\n \\\"color\\\": \\\"\\\",\\n // 是否加粗\\n \\\"bold\\\": false,\\n // 是否斜体\\n \\\"italic\\\": false,\\n // 是否下划线\\n \\\"underline\\\": false\\n },\\n // 可选,多图时是否自动轮播,默认 false;单张图片时此配置无效\\n \\\"img_autoPlay\\\": false,\\n // 可选,多图轮播切换动效,合法值:slide(滑动)/ fade(淡入淡出),默认 slide;单张图片时无效\\n \\\"img_imgTransitionType\\\": \\\"slide\\\",\\n // 可选,多图自动轮播间隔(秒),合法范围 0.1~1000,默认 1;仅 img_autoPlay=true 时生效\\n \\\"img_imgTransitionInterval\\\": 1\\n },\\n// 看板视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"KANBAN_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"KANBAN_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"看板视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 看板自定义配置,这是看板视图的核心配置\\n \\\"kanbanCustom\\\": {\\n // 分组基础配置,用于设置看板的分组字段\\n \\\"groupBase\\\": {\\n // 必填,分组字段 ID(必须是该表中真实存在的字段 ID)\\n // 看板将按照此字段的值进行分组显示\\n \\\"baseFieldId\\\": \\\"fld_select_01\\\"\\n }\\n },\\n // 工具栏配置,用于控制看板视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// 排行榜配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"LEADERBOARD\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"LEADERBOARD\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"排行榜\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"record-count\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_text_01\\\"\\n }\\n ],\\n \\\"showType\\\": \\\"podium\\\", // 展示类型:podium 领奖台/list 列表\\n \\\"showCount\\\": 10, // 显示条数\\n \\\"hideValue\\\": false,\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"filter\\\": []\\n },\\n// 折线图配置格式\\n \\\"LINE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"LINE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"折线图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"nullValue\\\": \\\"ignore\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"gridShow\\\": false,\\n \\\"label\\\": true,\\n \\\"labelHideOverlap\\\": true,\\n \\\"smooth\\\": false,\\n \\\"symbolType\\\": \\\"always\\\",\\n \\\"xAxisShow\\\": true,\\n \\\"xAxisLine\\\": false,\\n \\\"xAxisLabel\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"yAxisLine\\\": false,\\n \\\"yAxisLabel\\\": true,\\n \\\"fillType\\\": \\\"solid\\\",\\n \\\"filter\\\": []\\n }\\n// 抽奖配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"LOTTERY\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"LOTTERY\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"抽奖\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 必填,指标类型,合法值有:record-count(记录数)/ field(字段)\\n \\\"measureType\\\": \\\"record-count\\\",\\n // 必填,指标配置数组\\n \\\"measure\\\": [],\\n // 可选,输出表 ID,用于记录中奖结果\\n \\\"outputSheet\\\": \\\"\\\",\\n // 可选,滚动速度,默认为 5\\n \\\"speed\\\": 5,\\n // 可选,字体大小,默认为 20\\n \\\"fontSize\\\": 20,\\n // 可选,颜色主题,合法值有:COLOR_PALETTE_1 到 COLOR_PALETTE_10\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n // 必填,奖项配置数组,每个元素格式为 [数量, 名称]\\n \\\"gameRounds\\\": [\\n [\\n 1,\\n \\\"一等奖\\\"\\n ]\\n ],\\n // 可选,是否包含已中奖者,默认为 false\\n \\\"includeWinners\\\": false\\n },\\n// 跑马灯配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"MARQUEE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"MARQUEE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"跑马灯\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 可选,滚动文本内容\\n \\\"content\\\": \\\"这是一条滚动消息\\\",\\n // 可选,字体大小,默认为 14\\n \\\"fontSize\\\": 14,\\n // 可选,滚动速度,数值越小速度越快,默认为 50\\n \\\"speed\\\": 50,\\n // 可选,字体配置\\n \\\"fontSetting\\\": {\\n // 字体颜色\\n \\\"color\\\": \\\"\\\",\\n // 是否加粗,默认为 false\\n \\\"bold\\\": false,\\n // 是否斜体,默认为 false\\n \\\"italic\\\": false,\\n // 是否下划线,默认为 false\\n \\\"underline\\\": false\\n }\\n },\\n// NPS评分配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"NPS\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"NPS\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"NPS评分\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\"\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"showLabel\\\": true,\\n \\\"showList\\\": false,\\n \\\"threshold\\\": [ // 评分阈值数组\\n 2,\\n 3\\n ],\\n \\\"colorSetName\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"filter\\\": []\\n },\\n// 百分比堆叠面积图配置格式\\n \\\"PERCENT_STACKED_AREA\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PERCENT_STACKED_AREA\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"百分比堆叠面积图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"smooth\\\": false,\\n \\\"symbolType\\\": \\\"always\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n }\\n// 百分比堆叠条形图配置格式\\n \\\"PERCENT_STACKED_BAR\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PERCENT_STACKED_BAR\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"百分比堆叠条形图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_02\\\"\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"categoryAxisMaxRatio\\\": \\\"0.3\\\",\\n \\\"filter\\\": []\\n }\\n// 百分比堆叠柱状图配置格式\\n \\\"PERCENT_STACKED_HISTOGRAM\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PERCENT_STACKED_HISTOGRAM\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"百分比堆叠柱状图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_02\\\"\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n }\\n// 饼图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"PIE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PIE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"饼图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\", // 必须使用示例中的默认值如 COLOR_PALETTE_1,禁止自行编造\\n \\\"legend\\\": \\\"none\\\",\\n \\\"label\\\": true, // 必须设为 true 以默认显示数据标签\\n \\\"innerRadius\\\": 0, // 内半径,0 为实心饼图\\n \\\"outerRadius\\\": 60, // 外半径百分比\\n \\\"filter\\\": []\\n },\\n// 透视表配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"PIVOT\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PIVOT\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"透视表\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 透视表配置,这是透视表的核心配置\\n \\\"pivotConfig\\\": {\\n // 必填,rows 是行字段列表,至少要有一个行字段,\\n // 每个字段配置中 fieldId 必须是该表中真实存在的字段 ID\\n // 如果多层分组,行字段列表中多个字段的 fieldId 依次对应每层分组的字段 ID\\n \\\"rows\\\": [\\n {\\n // 必填,行字段 ID(必须是该表中真实存在的字段 ID)\\n \\\"fld\\\": \\\"fld_01\\\",\\n // 可选,排序方式,合法值有:1(升序)和 -1(降序),默认为 1 升序\\n \\\"srt\\\": 1\\n }\\n ],\\n // 可选,columns 是列字段列表,默认为空数组,\\n // 每个字段配置中 fieldId 必须是该表中真实存在的字段 ID\\n // 如果多层分组,列字段列表中多个字段的 fieldId 依次对应每层分组的字段 ID\\n \\\"columns\\\": [\\n {\\n // 必填,列字段 ID(必须是该表中真实存在的字段 ID)\\n \\\"fld\\\": \\\"fld_02\\\",\\n // 可选,排序方式,合法值有:1(升序)和 -1(降序),默认为 1 升序\\n \\\"srt\\\": 1\\n }\\n ],\\n // 必填,values 是值字段列表,至少要有一个值字段,\\n // 每个字段配置中 fieldId 必须是该表中真实存在的字段 ID\\n // 值字段,是用于计算值的字段,通常是数值字段,但也可以是其他类型的字段(如文本字段),具体取决于聚合函数的要求\\n \\\"values\\\": [\\n {\\n // 必填,值字段 ID(必须是该表中真实存在的字段 ID)\\n \\\"fld\\\": \\\"fld_03\\\",\\n //必填,聚合函数,合法值有:sum /count / count_distinct / avg / min / max / median / population_variance / sample_variance / population_stddev / sample_stddev / first / last / range / mode / sum_of_squares / harmonic_mean / geometric_mean / interquartile_range / centered_mean / weighted_mean / kurtosis / skewness / quartile_median / range_median / coefficient_of_variation / adjusted_stddev / weighted_sum / weighted_count / weighted_count_distinct / weighted_avg / centered_weighted_mean / weighted_harmonic_mean / weighted_geometric_mean / weighted_range / weighted_range_median / weighted_interquartile_range / weighted_quartile_median / weighted_centered_mean / weighted_adjusted_stddev\\n \\\"agg\\\": \\\"sum\\\",\\n //可选,后聚合函数,合法值有:default / percent_of_row_total / percent_of_col_total / percent_of_grand_total\\n \\\"pgg\\\": \\\"string\\\",\\n //可选,格式化函数,合法值有:default / percentage / thousands / currency / scientific / fixed / integer\\n \\\"fmt\\\": \\\"\\\",\\n //可选,字段别名\\n \\\"als\\\": \\\"string\\\"\\n }\\n ],\\n // 是否显示行总计,默认为 true\\n \\\"rowTotals\\\": true,\\n // 是否显示列总计,默认为 true\\n \\\"columnTotals\\\": true\\n },\\n \\\"pivotStyle\\\": {\\n // 可选,透视表在卡片中的对齐方式,合法值有: start(上部)/ center(中间)\\n \\\"verticalAlign\\\": \\\"start\\\"\\n }\\n },\\n// 地图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"PLOT_MAP\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"PLOT_MAP\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"地图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 地图配置,这是地图的核心配置\\n \\\"plotMapConfig\\\": {\\n // 数据源配置\\n \\\"source\\\": {\\n // 数据源类型,合法值有:view(视图)\\n \\\"type\\\": \\\"view\\\",\\n // 数据源名称,格式为 \\\"sheetId:viewId\\\"\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"sheet_001:view_001\\\"\\n },\\n // 渲染器类型,合法值有:marker(标记点)/ heatmap(热力图)等\\n // 用于设置地图的渲染方式\\n \\\"renderer\\\": \\\"marker\\\",\\n // 处理器,用于对数据进行预处理\\n \\\"processor\\\": \\\"\\\",\\n // 维度配置,用于设置地图的维度字段(如地理位置字段)\\n \\\"dimensions\\\": [\\n {\\n // 必填,维度字段 ID(必须是该表中真实存在的字段 ID)\\n // 通常为位置字段,用于在地图上定位\\n \\\"fieldId\\\": \\\"fld_location_01\\\"\\n }\\n ],\\n // 度量配置,用于设置地图的度量字段(如数值字段)\\n \\\"measures\\\": [\\n {\\n // 必填,度量字段 ID(必须是该表中真实存在的字段 ID)\\n // 用于在地图上显示数值大小或颜色\\n \\\"fieldId\\\": \\\"fld_number_01\\\"\\n }\\n ],\\n // 样式配置,用于设置地图的显示样式\\n \\\"styles\\\": []\\n },\\n },\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:进度图(PROGRESS)\\n // 别名/同义词:进度条、进度环、进度卡、进度图表\\n // 用途:用于展示某项目标的完成进度,支持当前值 vs 目标值的对比,\\n // 可视化呈现完成百分比。适合展示销售目标达成率、任务完成度、\\n // 日期时间进度等场景。\\n // 重要:当用户说\\\"进度图\\\"、\\\"进度条\\\"、\\\"进度环\\\"、\\\"目标完成度\\\"时,\\n // 必须使用 chartType = \\\"PROGRESS\\\",不要使用其他图表类型。\\n // ═══════════════════════════════════════════════════════════════════\\n //\\n // ⚠️⚠️⚠️ 极其重要的注意事项(不遵守会导致图表渲染报错):\\n //\\n // 1. currentMeasure / targetMeasure 的格式是一个对象(Object),绝对不是数组(Array)!\\n // 不要使用普通图表的 measure 数组格式 [{ externalValue, value }],否则图表会报错!\\n //\\n // 2. 必须包含以下顶层通用字段,否则图表校验会失败并报「表格字段发生变化」错误:\\n // - \\\"measureType\\\": \\\"record-count\\\" ← 必填!缺少此字段图表必定报错\\n // - \\\"sheet\\\": \\\"\\u003csheetId\\u003e\\\" ← 必填!设置为 currentSheet 相同的值\\n // - \\\"view\\\": \\\"\\\" ← 必填!设置为空字符串\\n // - \\\"filter\\\": [] ← 必填!设置为空数组\\n //\\n // 3. currentFilter / targetFilter 中的每个筛选条件必须包含 \\\"link\\\" 字段:\\n // 正确:{ \\\"fieldId\\\": \\\"xxx\\\", \\\"symbol\\\": \\\"EQ\\\", \\\"value\\\": \\\"yyy\\\", \\\"link\\\": \\\"AND\\\" }\\n // 错误:{ \\\"fieldId\\\": \\\"xxx\\\", \\\"symbol\\\": \\\"EQ\\\", \\\"value\\\": \\\"yyy\\\" } ← 缺少 link!\\n // 注意:单选字段的 value 必须是选项的 ID(如 \\\"PO5PWsAqQi\\\"),不能是选项的显示文本(如 \\\"影院观影\\\")!\\n // 使用文本作为 value 会导致筛选条件无法匹配任何记录,当前值始终为 0。\\n //\\n // 4. 即使 targetSource 为 \\\"custom\\\",也必须提供 targetSheet、targetView、targetFilter、targetMeasure 的默认值\\n // 即使 currentSource 为 \\\"custom\\\",也必须提供 currentSheet、currentView、currentFilter、currentMeasure 的默认值\\n //\\n // 5. 必须包含 numberFormat 和 fixedCount 字段,否则当前值/目标值会显示异常(数值被乘以100、出现双%%、文案被挤掉不显示):\\n // - \\\"numberFormat\\\": { \\\"digits\\\": 0, \\\"format\\\": \\\"number\\\", \\\"thousandSeparator\\\": true } ← format 必须是 \\\"number\\\"!\\n // - \\\"fixedCount\\\": 0\\n //\\n \\\"PROGRESS\\\": {\\n // ── 顶层通用字段(必填,缺少会导致图表校验失败)─────────────────────────\\n // 必填,图表类型,固定值 \\\"PROGRESS\\\"(进度图)\\n \\\"chartType\\\": \\\"PROGRESS\\\",\\n // ⚠️ 必填,统计类型,进度图固定为 \\\"record-count\\\"\\n \\\"measureType\\\": \\\"record-count\\\",\\n // ⚠️ 必填,顶层数据表 ID,设置为 currentSheet 相同的值\\n \\\"sheet\\\": \\\"\\u003csheetId\\u003e\\\",\\n // ⚠️ 必填,顶层视图 ID,设置为空字符串\\n \\\"view\\\": \\\"\\\",\\n // ⚠️ 必填,顶层筛选条件,设置为空数组\\n \\\"filter\\\": [],\\n\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"进度图\\\",\\n // 必填,数据类型,合法值:number(数值进度)/ date(日期进度)\\n \\\"dataType\\\": \\\"number\\\",\\n // 必填,图表形状,合法值:bar(条形)/ semi-circle(半环)/ circle(圆环)\\n \\\"progressType\\\": \\\"bar\\\",\\n\\n // ── 目标值配置 ──────────────────────────────────────────────────────────\\n // 目标值来源,合法值:custom(自定义数值)/ sheet(从数据表字段聚合)\\n \\\"targetSource\\\": \\\"custom\\\",\\n // targetSource = \\\"custom\\\" 时填写,目标值的固定数值字符串\\n \\\"target\\\": \\\"500\\\",\\n // 必填,目标值来源的数据表 ID,即使 targetSource = \\\"custom\\\" 也要填写,设置为 currentSheet 相同的值\\n \\\"targetSheet\\\": \\\"\\u003csheetId\\u003e\\\",\\n // 必填,目标值来源的视图 ID,设置为空字符串\\n \\\"targetView\\\": \\\"\\\",\\n // 必填,目标值来源的过滤条件,targetSource = \\\"custom\\\" 时设置为空数组\\n \\\"targetFilter\\\": [],\\n // 必填,目标值聚合字段配置,targetSource = \\\"custom\\\" 时设置为默认值\\n // ⚠️ 格式必须是对象,不是数组!详见下方 currentMeasure 的格式说明,targetMeasure 格式完全相同\\n \\\"targetMeasure\\\": { \\\"type\\\": \\\"record-count\\\", \\\"fields\\\": [] },\\n // 可选,目标值的标签文字,显示在目标值旁边\\n \\\"targetText\\\": \\\"\\\",\\n\\n // ── 当前值配置 ──────────────────────────────────────────────────────────\\n // 当前值来源,合法值:custom(自定义数值)/ sheet(从数据表字段聚合)\\n \\\"currentSource\\\": \\\"custom\\\",\\n // currentSource = \\\"custom\\\" 时填写,当前值的固定数值字符串\\n \\\"current\\\": \\\"100\\\",\\n // 必填,当前值来源的数据表 ID\\n \\\"currentSheet\\\": \\\"\\u003csheetId\\u003e\\\",\\n // 必填,当前值来源的视图 ID,设置为空字符串表示全部数据\\n \\\"currentView\\\": \\\"\\\",\\n // 必填,当前值来源的过滤条件,currentSource = \\\"custom\\\" 时设置为空数组\\n // ⚠️ 每个筛选条件必须包含 \\\"link\\\" 字段!格式:\\n // { \\\"fieldId\\\": \\\"\\u003cfieldId\\u003e\\\", \\\"symbol\\\": \\\"EQ\\\", \\\"value\\\": \\\"\\u003c选项ID\\u003e\\\", \\\"link\\\": \\\"AND\\\" }\\n // 多个条件时,第一个条件的 link 也必须填 \\\"AND\\\"\\n \\\"currentFilter\\\": [],\\n // 必填,当前值聚合字段配置\\n // ═══════════════════════════════════════════════════════════════════\\n // ⚠️⚠️⚠️ 极其重要:currentMeasure 是一个 Object,不是 Array!\\n // 绝对不要写成 [{ externalValue: [...], value: \\\"xxx\\\" }] 这种数组格式!\\n // 正确格式如下:\\n //\\n // 方式一:记录计数(统计满足条件的记录总数)\\n // { \\\"type\\\": \\\"record-count\\\", \\\"fields\\\": [] }\\n //\\n // 方式二:字段聚合(对某个字段做聚合计算)\\n // { \\\"type\\\": \\\"field\\\", \\\"fields\\\": [{ \\\"value\\\": \\\"\\u003cfieldId\\u003e\\\", \\\"formula\\\": \\\"\\u003c聚合函数\\u003e\\\" }] }\\n // formula 合法值:count / unique-count / sum / average / max / min\\n //\\n // 错误示例(绝对禁止):\\n // [{ \\\"externalValue\\\": [{ \\\"type\\\": \\\"formula\\\", \\\"value\\\": \\\"count\\\" }], \\\"value\\\": \\\"fieldId\\\" }]\\n // ═══════════════════════════════════════════════════════════════════\\n \\\"currentMeasure\\\": { \\\"type\\\": \\\"record-count\\\", \\\"fields\\\": [] },\\n // 可选,当前值的标签文字,显示在当前值旁边\\n \\\"currentText\\\": \\\"\\\",\\n\\n // ── 数值格式配置 ──────────────────────────────────────────────────────────\\n // ⚠️ 必填,百分比小数位数,缺少会导致小数位数异常,默认填 0\\n \\\"fixedCount\\\": 0,\\n // ⚠️ 必填,数字格式化配置(作用于当前值和目标值的显示)\\n // 缺少此字段会导致数值显示异常(数值被乘以100、出现双%%符号、文案被挤掉不显示)\\n \\\"numberFormat\\\": {\\n // 小数位数,默认 0\\n \\\"digits\\\": 0,\\n // ⚠️ 格式类型,进度图必须填 \\\"number\\\"!绝对不要填 \\\"percent\\\",否则数值会被乘以100并多出%符号\\n // 合法值:number / percent / thousand,进度图固定填 \\\"number\\\"\\n \\\"format\\\": \\\"number\\\",\\n // 是否显示千位分隔符\\n \\\"thousandSeparator\\\": true\\n },\\n // 可选,数值单位,如 \\\"¥\\\" / \\\"$\\\" / \\\"人\\\" / \\\"%\\\" 等自定义字符串,不填则无单位\\n \\\"modifier\\\": \\\"\\\",\\n // 可选,单位位置,合法值:left(左)/ right(右),默认 left\\n \\\"modifierPosition\\\": \\\"left\\\",\\n // 可选,目标方向,合法值:increase(越大越好)/ decrease(越小越好),影响进度条配色逻辑\\n \\\"targetDirection\\\": \\\"increase\\\",\\n\\n // ── 日期进度(dataType = \\\"date\\\")专属配置 ────────────────────────────────\\n // 目标日期范围,合法值:month(本月)/ quarter(本季度)/ year(今年)/ custom(自定义)\\n \\\"targetDateSelected\\\": \\\"month\\\",\\n // targetDateSelected = \\\"custom\\\" 时填写,自定义目标日期范围 [开始时间戳, 结束时间戳]\\n \\\"targetDateRange\\\": null,\\n // 当前日期,合法值:today(今日)/ yesterday(昨日)/ custom(自定义)\\n \\\"currentDateSelected\\\": \\\"today\\\",\\n // currentDateSelected = \\\"custom\\\" 时填写,自定义当前日期时间戳\\n \\\"currentDate\\\": null,\\n // 日期格式,如 \\\"YYYY-MM-DD\\\",仅在 targetDateSelected 或 currentDateSelected 为 custom 时生效\\n \\\"dateFormat\\\": \\\"YYYY-MM-DD\\\",\\n\\n // ── 样式配置 ──────────────────────────────────────────────────────────────\\n // 可选,卡片背景颜色,十六进制色值,如 \\\"#F0F5FF\\\"\\n \\\"background\\\": \\\"\\\",\\n // 可选,百分比数字颜色,十六进制色值,如 \\\"#1677FF\\\"\\n \\\"percentageColor\\\": \\\"\\\",\\n // 可选,进度条填充颜色,支持两种形式:\\n // 1. 固定色值字符串,如 \\\"#1677FF\\\",或渐变色 \\\"linear-gradient(...)\\\"(圆环图支持渐变)\\n // 2. 条件配色对象(根据百分比区间动态变色),格式参考 dashboard-config-example 中的 colors 配置\\n \\\"strokeColor\\\": \\\"\\\",\\n // 可选,进度条背景颜色\\n \\\"strokeBgColor\\\": \\\"\\\",\\n // 可选,当前值文字颜色(仅 dataType=number 时生效)\\n \\\"currentColor\\\": \\\"\\\",\\n // 可选,目标值文字颜色\\n \\\"targetColor\\\": \\\"\\\"\\n },\\n// 查询页配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"QUERY_PAGE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"QUERY_PAGE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"查询页\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"\\\",\\n // 查询页无其他特殊配置字段,\\n // 主要用于提供数据查询和展示的基础功能\\n },\\n// 雷达图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"RADAR\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"RADAR\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"雷达图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"xSortBy\\\": \\\"y\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"radarShape\\\": \\\"circle\\\",\\n \\\"isFilled\\\": true,\\n \\\"gridShow\\\": true,\\n \\\"yAxisLine\\\": true,\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": true,\\n \\\"filter\\\": []\\n },\\n// 富文本配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"RICH_TEXT\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"RICH_TEXT\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"富文本\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 可选,富文本内容,支持 HTML 格式\\n \\\"content\\\": \\\"\\\"\\n },\\n// 玫瑰图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"ROSE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"ROSE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"玫瑰图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"none\\\",\\n \\\"label\\\": true,\\n \\\"innerRadius\\\": 0,\\n \\\"outerRadius\\\": 60,\\n \\\"filter\\\": []\\n },\\n// 散点图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"SCATTER\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"SCATTER\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"散点图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_02\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"smooth\\\": false,\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"gridShow\\\": false,\\n \\\"label\\\": false,\\n \\\"xAxisShow\\\": true,\\n \\\"xAxisLine\\\": false,\\n \\\"xAxisLabel\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"yAxisLine\\\": false,\\n \\\"yAxisLabel\\\": true,\\n \\\"filter\\\": []\\n },\\n// 筛选器配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"SLICER\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"SLICER\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"筛选器\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 可选,筛选器样式,合法值有:button(按钮)/ dropdown(下拉),默认为 button\\n \\\"sli_filterStyle\\\": \\\"button\\\",\\n // 可选,排序方式,合法值有:asc(升序)/ desc(降序),默认为 asc\\n \\\"sli_orderBy\\\": \\\"asc\\\",\\n // 可选,是否多选,默认为 true\\n \\\"sli_multiple\\\": true,\\n // 可选,是否显示数量,默认为 true\\n \\\"sli_showCount\\\": true,\\n // 可选,日期操作符,合法值有:BEFORE / AFTER / BETWEEN 等\\n \\\"sli_dateOperator\\\": \\\"BEFORE\\\",\\n // 可选,数字操作符,合法值有:EQ(等于)/ NE(不等于)/ GT(大于)等\\n \\\"sli_numberOperator\\\": \\\"EQ\\\",\\n // 可选,关联到图表的方式,合法值有:auto(自动)/ manual(手动),默认为 auto\\n \\\"sli_2Chart\\\": \\\"auto\\\",\\n // 可选,关联到其他筛选器的方式,合法值有:auto(自动)/ manual(手动),默认为 auto\\n \\\"sli_2Slicer\\\": \\\"auto\\\",\\n // 可选,对齐方式,合法值有:top(顶部)/ bottom(底部),默认为 top\\n \\\"sli_align\\\": \\\"top\\\",\\n // 可选,选择样式,合法值有:1 / 2 / 3 等,默认为 1\\n \\\"sli_selectStyle\\\": \\\"1\\\",\\n // 必填,绑定的字段 ID(必须是该表中真实存在的字段 ID)\\n \\\"sli_fieldId\\\": \\\"fld_select_01\\\"\\n },\\n// 堆叠面积图配置格式\\n \\\"STACKED_AREA\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"STACKED_AREA\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"堆叠面积图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"smooth\\\": false,\\n \\\"symbolType\\\": \\\"always\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": false,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n }\\n// 堆叠条形图配置格式\\n \\\"STACKED_BAR\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"STACKED_BAR\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"堆叠条形图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_02\\\"\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"bottom\\\",\\n \\\"label\\\": false,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"categoryAxisMaxRatio\\\": \\\"0.3\\\",\\n \\\"filter\\\": []\\n }\\n// 堆叠柱状图配置格式\\n \\\"STACKED_HISTOGRAM\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"STACKED_HISTOGRAM\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"堆叠柱状图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"xSortBy\\\": \\\"x\\\",\\n \\\"sortRule\\\": \\\"asc\\\",\\n \\\"nullValue\\\": \\\"ignore\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"bottom\\\",\\n \\\"gridShow\\\": false,\\n \\\"label\\\": false,\\n \\\"labelHideOverlap\\\": true,\\n \\\"xAxisShow\\\": true,\\n \\\"xAxisLine\\\": false,\\n \\\"xAxisLabel\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"yAxisLine\\\": false,\\n \\\"yAxisLabel\\\": true,\\n \\\"fillType\\\": \\\"solid\\\",\\n \\\"filter\\\": []\\n }\\n// 堆叠折线图配置格式\\n \\\"STACKED_LINE\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"STACKED_LINE\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"堆叠折线图\\\",\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_date_01\\\",\\n \\\"externalValue\\\": []\\n }\\n ],\\n \\\"group\\\": [\\n {\\n \\\"value\\\": \\\"fld_select_01\\\"\\n }\\n ],\\n \\\"smooth\\\": false,\\n \\\"symbolType\\\": \\\"always\\\",\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"legend\\\": \\\"top\\\",\\n \\\"label\\\": false,\\n \\\"xAxisShow\\\": true,\\n \\\"yAxisShow\\\": true,\\n \\\"filter\\\": []\\n }\\n// 标准列表视图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"STANDARD_LIST_VIEW\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"STANDARD_LIST_VIEW\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"标准列表视图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId\\n \\\"view\\\": \\\"view_001\\\",\\n // 无 filter 时请传空数组,\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置) 中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 视图排序配置,用于设置视图的默认排序规则\\n \\\"viewSort\\\": [],\\n // 隐藏字段配置,key 为 fieldId,value 为 true/false\\n \\\"hiddenFields\\\": {},\\n // 列排序配置,用于设置列的显示顺序\\n \\\"columnSort\\\": [],\\n // 列表自定义配置,用于设置列表的自定义样式和行为\\n \\\"listCustom\\\": {},\\n // 列表配置,用于设置列表的显示方式和布局\\n \\\"listConfig\\\": {},\\n // 字段聚合映射,用于设置字段的聚合方式\\n \\\"fieldAggregateMap\\\": {},\\n // 工具栏配置,用于控制标准列表视图中工具栏的功能按钮\\n \\\"toolbarConfig\\\": {\\n // 是否显示创建行按钮\\n \\\"enableCreateRow\\\": false,\\n // 是否显示筛选按钮\\n \\\"enableFilter\\\": true,\\n // 是否显示分组按钮\\n \\\"enableGroup\\\": true,\\n // 是否显示排序按钮\\n \\\"enableSort\\\": true,\\n // 是否显示查找按钮\\n \\\"enableFind\\\": true,\\n // 是否显示详情记录按钮\\n \\\"enableDetailRecord\\\": true,\\n // 是否显示编辑记录按钮\\n \\\"enableEditRecord\\\": false\\n },\\n },\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:指标卡(STATISTICS)\\n // 别名/同义词:KPI 卡、指标图、数据指标卡、关键指标卡\\n // 用途:以大号数字展示核心指标,并可附加环同比(与上期对比的涨跌幅)\\n // 和趋势折线图,适合展示销售额、DAU、转化率等需要对比分析的 KPI 指标。\\n // 与\\\"统计数字(SUMMARY)\\\"的区别:指标卡支持环同比对比和趋势图,\\n // 功能更丰富;统计数字仅展示单一数字,更简洁。\\n // 重要:当用户说\\\"指标卡\\\"、\\\"KPI 卡\\\"、\\\"指标图\\\"、\\\"关键指标\\\"、\\\"带趋势的数字\\\"时,\\n // 必须使用 chartType = \\\"STATISTICS\\\",不要使用其他图表类型。\\n // ═══════════════════════════════════════════════════════════════════\\n \\\"STATISTICS\\\": {\\n // 必填,图表类型,固定值 \\\"STATISTICS\\\"(指标卡)\\n \\\"chartType\\\": \\\"STATISTICS\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"指标卡\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时为 null,传入时必须是该表中真实存在的 viewId\\n \\\"view\\\": null,\\n // 无 filter 时请传空数组;\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置)中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 统计指标配置,measureType 与 measure 二选一:\\n // measureType = \\\"record-count\\\" 时统计记录总数,无需填 measure;\\n // measureType = \\\"field\\\" 时需填 measure,指定聚合字段和聚合函数\\n \\\"measureType\\\": \\\"field\\\",\\n // 可选,当 measureType = \\\"field\\\" 时必填,指定聚合字段\\n \\\"measure\\\": [\\n {\\n // 必填,字段 ID(必须是该表中真实存在的数值类字段 ID)\\n \\\"value\\\": \\\"fld_number_01\\\",\\n // 必填,聚合函数配置\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n // formula 合法值:count (计数), unique-count (去重计数), sum (求和), average (平均值), max (最大值), min (最小值)'\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n // 可选,指标说明文字,显示在数值下方\\n \\\"desc\\\": \\\"\\\",\\n // 可选,数字格式化配置\\n \\\"numberFormat\\\": {\\n // 小数位数,默认 0\\n \\\"digits\\\": 0,\\n // 格式类型,合法值:number / percent / thousand\\n \\\"format\\\": \\\"number\\\",\\n // 是否显示千位分隔符\\n \\\"thousandSeparator\\\": true\\n },\\n // 可选,是否显示环同比,默认 false\\n \\\"showComparison\\\": false,\\n // 可选,showComparison=true 时填写,环同比对比的日期字段 ID\\n \\\"comparisonField\\\": null,\\n // 可选,环同比时间范围,如 \\\"this_week\\\" / \\\"this_month\\\" / \\\"this_year\\\"\\n \\\"comparisonDateRange\\\": null,\\n // 可选,环同比类型,合法值:sequential(环比)/ year-on-year(同比)/ month-on-month(月比)/ week-on-week(周比)/ custom(自定义)\\n \\\"comparisonType\\\": \\\"sequential\\\",\\n // 可选,时间统计方式,合法值:same_period(同期)/ cumulative(累计)\\n \\\"comparisonPeriodType\\\": \\\"same_period\\\",\\n // 可选,环同比计算类型,合法值:difference-rate(差值率)/ difference-value(差值)/ original-value(原值)\\n \\\"comparisonCalculationType\\\": \\\"difference-rate\\\",\\n // 可选,环同比布局方向(仅 showComparison=true 且 showTrend=false 时生效),合法值:bottom(下方)/ right(右侧)\\n \\\"comparisonLayout\\\": \\\"bottom\\\",\\n // 可选,是否显示趋势图,默认 false\\n \\\"showTrend\\\": false,\\n // 可选,showTrend=true 时填写,趋势图使用的日期字段 ID\\n \\\"trendField\\\": null,\\n // 可选,趋势图时间范围,如 \\\"this_week\\\" / \\\"this_month\\\" / \\\"this_year\\\"\\n \\\"trendDateRange\\\": null,\\n // 可选,趋势图布局方向(仅 showTrend=true 且 showComparison=false 时生效),合法值:bottom(下方)/ right(右侧)\\n \\\"trendLayout\\\": \\\"bottom\\\",\\n // 可选,趋势图颜色,十六进制色值,如 \\\"#1677FF\\\"\\n \\\"trendColor\\\": \\\"\\\",\\n // 可选,环同比图标样式,合法值:1 / 2 / 3 / 4 / 5 / 6 / 7 / 8\\n \\\"iconStyle\\\": \\\"5\\\",\\n // 可选,卡片标题颜色,十六进制色值\\n \\\"titleColor\\\": \\\"\\\",\\n // 可选,指标说明文字颜色,十六进制色值\\n \\\"descColor\\\": \\\"\\\",\\n // 可选,环同比描述颜色,十六进制色值\\n \\\"comparisonDescColor\\\": \\\"\\\",\\n // 可选,数值颜色配置,支持两种形式:\\n // 1. 固定色值字符串,如 \\\"#1677FF\\\",或渐变色 \\\"linear-gradient(...)\\\"\\n // 2. 条件配色对象(根据数值区间动态变色),格式参考 dashboard-config-example 中的 colors 配置\\n \\\"colors\\\": \\\"\\\"\\n },\\n// ═══════════════════════════════════════════════════════════════════\\n // 图表类型:统计数字(SUMMARY)\\n // 别名/同义词:汇总数字、统计卡、数字卡、计数卡\\n // 用途:以大号数字形式展示单一聚合指标(如记录总数、字段求和/均值等),\\n // 是最简洁的数据汇总展示方式,适合展示总销售额、总订单数、平均分等。\\n // 与其他图表的关键区别:\\n // - 与\\\"指标卡(STATISTICS)\\\"的区别:统计数字更简洁,无环同比、无趋势图;\\n // 指标卡功能更丰富,支持环同比对比和趋势折线图。\\n // - 与\\\"柱状图(HISTOGRAM)\\\"的关键区别:统计数字只展示一个聚合数字(单值卡片),\\n // 无坐标轴、无分类对比;柱状图展示多个分类的数值对比,有 X/Y 轴(多值图表)。\\n // 重要:当用户说\\\"统计数字\\\"、\\\"汇总数字\\\"、\\\"数字卡\\\"、\\\"计数\\\"、\\\"总数\\\"时,\\n // 必须使用 chartType = \\\"SUMMARY\\\",不要使用 HISTOGRAM 或其他图表类型。\\n // ═══════════════════════════════════════════════════════════════════\\n \\\"SUMMARY\\\": {\\n // 必填,图表类型,固定值 \\\"SUMMARY\\\"(统计数字)\\n \\\"chartType\\\": \\\"SUMMARY\\\",\\n // 必填,卡片标题,用户在仪表盘中看到的图表名称,应准确且见名知意\\n \\\"name\\\": \\\"统计数字\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时为 null,传入时必须是该表中真实存在的 viewId\\n \\\"view\\\": null,\\n // 无 filter 时请传空数组;\\n // 如果传入 filter,可参考 dashboard-config-example(仪表盘示例配置)中 filters 的 filter 格式,\\n // 注意 filter 中的 fieldId 必须是该表中真实存在的字段 ID\\n \\\"filter\\\": [],\\n // 统计指标配置,measureType 与 measure 二选一:\\n // measureType = \\\"record-count\\\" 时统计记录总数,无需填 measure;\\n // measureType = \\\"field\\\" 时需填 measure,指定聚合字段和聚合函数\\n \\\"measureType\\\": \\\"field\\\",\\n // 可选,当 measureType = \\\"field\\\" 时必填,指定聚合字段\\n \\\"measure\\\": [\\n {\\n // 必填,字段 ID(必须是该表中真实存在的数值类字段 ID)\\n \\\"value\\\": \\\"fld_number_01\\\",\\n // 必填,聚合函数配置\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n // formula 合法值:count (计数), unique-count (去重计数), sum (求和), average (平均值), max (最大值), min (最小值)'\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n // 可选,数字格式化配置\\n \\\"numberFormat\\\": {\\n // 小数位数,默认 0\\n \\\"digits\\\": 0,\\n // 格式类型,合法值:number / percent / thousand\\n \\\"format\\\": \\\"number\\\",\\n // 是否显示千位分隔符\\n \\\"thousandSeparator\\\": true\\n },\\n // 可选,指标说明文字,由用户在编辑器中输入,传给服务端后显示在数值下方\\n \\\"desc\\\": \\\"\\\",\\n // 可选,数值颜色配置,支持两种形式:\\n // 1. 固定色值字符串,如 \\\"#1677FF\\\",或渐变色 \\\"linear-gradient(...)\\\"\\n // 2. 条件配色对象(根据数值区间动态变色),格式参考 dashboard-config-example 中的 colors 配置\\n \\\"colors\\\": \\\"\\\"\\n },\\n// 标签页配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"TABS\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"TABS\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"标签页\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n // 可选,标签页样式类型,合法值有:type1 到 type10,默认为 type1\\n \\\"tabsStyleType\\\": \\\"type1\\\",\\n // 可选,标签页对齐方式,合法值有:left(左对齐)/ center(居中)/ right(右对齐),默认为 left\\n \\\"tabsAlignType\\\": \\\"left\\\",\\n // 可选,默认激活的标签页 ID,必须与 tabs 数组中的某个 id 匹配\\n \\\"activeTabId\\\": \\\"tab_001\\\",\\n // 必填,标签页数组\\n \\\"tabs\\\": [\\n {\\n // 必填,标签页 ID(必须唯一)\\n \\\"id\\\": \\\"tab_001\\\",\\n // 必填,标签页名称\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"标签页 1\\\"\\n },\\n {\\n \\\"id\\\": \\\"tab_002\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"标签页 2\\\"\\n },\\n {\\n \\\"id\\\": \\\"tab_003\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"标签页 3\\\"\\n }\\n ]\\n },\\n// 词云图配置格式,必须按照此格式配置,否则会导致解析错误\\n \\\"WORD_CLOUD\\\": {\\n // 必填,图表的类型,不传或传错图表将渲染异常\\n \\\"chartType\\\": \\\"WORD_CLOUD\\\",\\n // 必填,图表的名称,是仪表盘中用户看到的图表卡片的标题,应该准确且见名知意\\n \\\"name\\\": \\\"词云图\\\",\\n // 必填,数据表 ID(必须是真实存在的 tableId),可通过 get_base 获取\\n \\\"sheet\\\": \\\"sheet_001\\\",\\n // 可选,视图 ID,不传时直接 null 或 undefined,如果传 viewId 必须是真实存在的 viewId)\\n \\\"view\\\": \\\"view_001\\\",\\n \\\"measureType\\\": \\\"field\\\",\\n \\\"measure\\\": [\\n {\\n \\\"value\\\": \\\"fld_number_01\\\",\\n \\\"externalValue\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"value\\\": \\\"sum\\\"\\n }\\n ]\\n }\\n ],\\n \\\"dimension\\\": [\\n {\\n \\\"value\\\": \\\"fld_text_01\\\"\\n }\\n ],\\n \\\"disableParticiple\\\": false, // 是否禁用分词\\n \\\"colors\\\": \\\"COLOR_PALETTE_1\\\",\\n \\\"filter\\\": []\\n },\\n}\\n\",\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Dashboard widgets config example returned. Each key is a chart type (e.g. HISTOGRAM, PIE), and the value is the corresponding widget config example. Use the matching chart type's config as a reference when calling create_chart.\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1286
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-config-example",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-config-example --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-config-example",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": \"// 注意\\n// 1. 下述 JSON 示例中的注释(// 开头的注释)仅用于说明,实际使用时请删除,否则会导致解析错误\\n// 2. 当一个仪表盘创建完成,并添加图表完成后,检查一下布局,如果有空白或不对齐的图表,请调用 update_chart 优化布局\\n// 3. 当一个仪表盘完整创建后,包括图表也添加完成后,可通过 get_dashboard 接口查看仪表盘详情,检查布局是合适(没有空白或不对齐),如果有问题,调用 update_chart 优化布局\\n// 4. 仪表盘创建好并优化布局后,向用户输出仪表盘链接 URL(注意是仪表盘 URL),方便用户直接访问和使用仪表盘\\n\\n{\\n // 服务端自动生成,调用方传入会被忽略\\n \\\"id\\\": \\\"dashboard_001\\\",\\n // 必填,dashboard 名称,是整个仪表盘的标题,一定要传入,且清晰明确,方便用户使用\\n \\\"name\\\": \\\"示例仪表盘\\\",\\n // 必须使用本示例中的默认主题,禁止自行编造,随意生成的主题无法解析和渲染\\n \\\"theme\\\": {\\n // 必须为 DEFAULT\\n \\\"key\\\": \\\"DEFAULT\\\",\\n // 主题背景色,大部分情况下「传入 null 或 undefined」,使用默认即可\\n \\\"background\\\": null,\\n \\\"image\\\": \\\"\\\"\\n },\\n // 可选,全局筛选条件数组;每个元素对应一张数据表的筛选规则\\n \\\"filters\\\": [\\n {\\n // 要筛选的数据表 ID(必须是真实存在的 tableId)\\n \\\"sheetId\\\": \\\"sheet_001\\\",\\n // 筛选条件数组;第一个条件的 link 必须为 null,后续条件用 \\\"AND\\\" 或 \\\"OR\\\" 连接\\n \\\"filter\\\": [\\n {\\n // 要筛选的字段 ID(必须是该表中真实存在的 fieldId)\\n \\\"fieldId\\\": \\\"fld_001\\\",\\n // 条件连接符:第一个条件必须为 null,后续条件为 \\\"AND\\\" 或 \\\"OR\\\"\\n \\\"link\\\": null,\\n // 固定为 1\\n \\\"version\\\": 1,\\n // 比较符号,合法值按字段类型分组如下:\\n // 文本类: EQ(等于), NE(不等于), CONTAIN(包含), EXCLUSIVE(不包含) — value 为字符串\\n // 数字类: EQ, NE, GT(大于), LT(小于), GTE(大于等于), LTE(小于等于) — value 为数字\\n // 日期类: DATE_EQ(日期等于), BEFORE(早于), AFTER(晚于), NOT_AFTER(不晚于), NOT_BEFORE(不早于) — value 为 \\\"yyyy-MM-dd\\\" 格式字符串\\n // 选项类: ANY_OF(包含任一), ALL_OF(包含全部), NONE_OF(不包含任一) — value 为选项 ID 字符串数组,如 [\\\"opt_001\\\", \\\"opt_002\\\"]\\n // 存在性: EXIST(有值), UN_EXIST(无值) — value 为 null\\n \\\"symbol\\\": \\\"EQ\\\",\\n // value 的类型取决于 symbol,参见上方说明\\n \\\"value\\\": \\\"已完成\\\"\\n }\\n ]\\n }\\n ],\\n // 图表布局数组;创建时会被忽略(默认空数组),更新时有效\\n // 每个元素描述一个图表在网格中的位置和尺寸\\n // layout 的更新,需要通过 update_chart 接口更新到每个图表上,update_chart 接口会自动根据 layout 调整仪表盘布局\\n // 无法通过 update_dashboard 接口直接更新布局,必须通过 update_chart 接口更新图表来间接更新布局\\n \\\"layout\\\": [\\n {\\n // 对应的 widget/chart ID\\n \\\"i\\\": \\\"widget_001\\\",\\n // 横坐标(列位置,从 0 开始,取值范围 0~11)\\n \\\"x\\\": 0,\\n // 纵坐标(行位置,从 0 开始,无上限)\\n \\\"y\\\": 0,\\n // 宽度(占几列,网格总宽 12 列,取值范围 1~12,同一行所有图表的 w 之和应等于 12)\\n \\\"w\\\": 12,\\n // 高度(占几行,取值范围 1~N,同一行的图表必须保持相同高度)\\n \\\"h\\\": 6,\\n // 最小宽度(可选,限制用户拖拽缩放的下限)\\n \\\"minW\\\": 4,\\n // 最小高度(可选,限制用户拖拽缩放的下限)\\n \\\"minH\\\": 3,\\n // 可选,所属分组 ID(用于 COMPOSITE_LAYOUT 组合布局,不使用分组时省略)\\n \\\"parentId\\\": \\\"group_001\\\"\\n }\\n ]\\n}\",\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Dashboard config example returned. The 'id' field is for structure reference only; it will be auto-generated by the server when creating a dashboard. The 'layout' field is ignored when creating (defaults to empty array), but effective when updating.\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1064
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --dashboard-id KY9tlWg5NEHgfs8WT6IO2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--dashboard-id",
|
||
"KY9tlWg5NEHgfs8WT6IO2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartCount\": 8,\n \"charts\": [\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-dlxFo0tNSImp4ITpDn5fQ\",\n \"chartName\": \"各业务线未部署数\",\n \"chartType\": \"BAR\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-OQW55ZoOPT3abjYxQbdBo\",\n \"chartName\": \"部署完成率\",\n \"chartType\": \"PIE\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"0ed6ae150c7e43508d504b741ca1b19a\",\n \"chartName\": \"设备付费情况分布\",\n \"chartType\": \"PIE\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-dqjTHaYZdhbSTwRk3JEjI\",\n \"chartName\": \"领取人未部署排行\",\n \"chartType\": \"LEADERBOARD\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-qqMeLF69BEVnKCglPUPRw\",\n \"chartName\": \"验证情况分析\",\n \"chartType\": \"BAR\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-tIkpYHZqciaEu0ypokSEt\",\n \"chartName\": \"部署时间趋势\",\n \"chartType\": \"LINE\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-PcnRUOqW5RzJHFZ1BxQJe\",\n \"chartName\": \"客户未部署分布\",\n \"chartType\": \"HISTOGRAM\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n },\n {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"chartId\": \"widget-8LICblz3EqyoLbkyM22Bw\",\n \"chartName\": \"付费状态漏斗\",\n \"chartType\": \"FUNNEL\",\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\"\n }\n ],\n \"dashboardId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"dashboardName\": \"仪表盘\",\n \"filters\": [],\n \"layout\": [\n {\n \"h\": 4,\n \"i\": \"widget-05w7XiwviqQgWrMxmvP20\",\n \"w\": 12,\n \"x\": 0,\n \"y\": 0\n },\n {\n \"h\": 5,\n \"i\": \"widget-dlxFo0tNSImp4ITpDn5fQ\",\n \"w\": 6,\n \"x\": 0,\n \"y\": 4\n },\n {\n \"h\": 5,\n \"i\": \"widget-PcnRUOqW5RzJHFZ1BxQJe\",\n \"w\": 6,\n \"x\": 6,\n \"y\": 4\n },\n {\n \"h\": 5,\n \"i\": \"widget-qqMeLF69BEVnKCglPUPRw\",\n \"w\": 6,\n \"x\": 0,\n \"y\": 9\n },\n {\n \"h\": 5,\n \"i\": \"widget-tIkpYHZqciaEu0ypokSEt\",\n \"w\": 6,\n \"x\": 6,\n \"y\": 9\n },\n {\n \"h\": 5,\n \"i\": \"widget-OQW55ZoOPT3abjYxQbdBo\",\n \"w\": 4,\n \"x\": 0,\n \"y\": 14\n },\n {\n \"h\": 5,\n \"i\": \"widget-dqjTHaYZdhbSTwRk3JEjI\",\n \"w\": 4,\n \"x\": 4,\n \"y\": 14\n },\n {\n \"h\": 5,\n \"i\": \"widget-8LICblz3EqyoLbkyM22Bw\",\n \"w\": 4,\n \"x\": 8,\n \"y\": 14\n },\n {\n \"h\": 4,\n \"i\": \"0ed6ae150c7e43508d504b741ca1b19a\",\n \"w\": 6,\n \"x\": 0,\n \"y\": 0\n }\n ],\n \"meta\": {}\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got dashboard KY9tlWg5NEHgfs8WT6IO2. URL rules: AI 表格仪表盘访问地址: https://docs.dingtalk.com/i/nodes/{baseId}?iframeQuery=applicationId%3D{dashboardId}. User-facing guidance: 面向用户时要以人为本、友好直观,优先展示 **实体名称**、可点击链接和必要上下文,尽量隐藏 `baseId`、`tableId`、`viewId`、`dashboardId`、`documentId` 等技术细节;除非用户明确索要或排障必须,否则不要直接呈现这些 ID。\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1179
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+field-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +field-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --field-ids 01ZM8y7 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+field-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--field-ids",
|
||
"01ZM8y7",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"fields\": [\n {\n \"aiConfig\": {\n \"autoRecompute\": false,\n \"computeOnEmptyRef\": false,\n \"enableThinking\": false,\n \"enableWebSearch\": false,\n \"imageConfig\": {\n \"aiGeneratedWatermark\": true,\n \"count\": 1,\n \"resolution\": \"1024*1024\"\n },\n \"outputType\": \"text\",\n \"prompt\": [\n {\n \"type\": \"text\",\n \"value\": \"你是一位贴心的文字识别助手,当用户需要识别图片中的文字时(如菜单、传单、说明书),清晰识别出内容。\\n\\n执行前严格验证输入:\\n- 如果未提供图片,立即回复:\\\"请上传需要识别文字的图片,我帮您快速查看内容!\\\"\\n- 如果图片模糊/黑暗,回复:\\\"图片不太清楚,建议:1) 重新拍摄 2) 对准文字区域 3) 确保光线充足\\\"\\n当输入有效时,按以下规则生成结果(禁用任何技术格式):\\n1. 识别原则(像真人一样读图)\\n - 严格按阅读顺序朗读文字,保留原换行与空格\\n - 模糊处标注\\\"(看不清)\\\",不猜测内容(例:\\\"价(格)\\\")\\n - 保留所有标点、符号和大小写(如\\\"¥25\\\"不改为\\\"25元\\\")\\n - 表格按\\\"从左到右、从上到下\\\"顺序朗读\\n2. 输出格式要求(必须遵守)\\n - 禁用JSON/XML/代码块,仅用**模拟纸质文档**的直观格式\\n - 示例(基于用户输入):\\n 欢迎光临\\n ABC咖啡店\\n 今日特惠:\\n 拿铁 ¥25\\n 卡布奇诺 ¥28\\n 营业时间:8:00-22:00\\n3. 关键控制规则\\n - 排版还原:用空行分隔段落,保留项目符号(如\\\"•\\\")\\n - 模糊处理:单个模糊字符→\\\"(看不清)\\\",连续模糊→\\\"(此处有文字但看不清)\\\"\\n - 语言提示:仅列出主要语言(如\\\"中文为主,含少量英文\\\")\\n - 空结果处理:写\\\"未检测到清晰文字,请检查图片\\\"\\n - 绝对禁止:不添加任何解释(如\\\"根据OCR技术...\\\")\\n4. 禁止行为\\n × 生成任何JSON/XML代码 \\n × 使用术语如\\\"full_text\\\"、\\\"lines\\\" \\n × 修改原始文字内容(如\\\"¥25\\\"不改为\\\"25元\\\")\\n\\n下面是你要总结和分析的原始内容\"\n },\n {\n \"fieldId\": \"2hfk5Hd\",\n \"type\": \"fieldRef\"\n },\n {\n \"type\": \"text\",\n \"value\": \",只保留识别结果中的“序列号”或者“Serial No\\\"\"\n }\n ],\n \"type\": \"ai-agent\"\n },\n \"fieldId\": \"01ZM8y7\",\n \"fieldName\": \"序列号\",\n \"type\": \"text\"\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got 1 fields from table hERWDMS\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1402
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+find-record",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +find-record --base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table hERWDMS --query '测试' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+find-record",
|
||
"--base",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table",
|
||
"hERWDMS",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"nextCursor\": \"oXh7WgGooe\",\n \"records\": [\n {\n \"cells\": {\n \"01ZM8y7\": \"N0QWY69QN4\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4048.HEIC.JPG\",\n \"resourceId\": \"479e4321-3d6a-42f0-91de-583c6ea41d9f\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5268e3736ebad509e7fcef9dcd108f495a911ef939606b63dc103944eb9062bae7f23148f19bc87f4\",\n \"size\": 1753393,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"8LVOssPz6Q\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"CDQD7CN97V\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4054.HEIC.JPG\",\n \"resourceId\": \"7d68adf9-ec88-4192-8728-5de240f17fc8\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d57cd5cd33059ea9b3d2766775dd1ba8096b8c5a9cb3defd6f5321c276624c51f602fba57aca34bc6d\",\n \"size\": 1801325,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\\nAI营销借用\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"133206\"\n }\n ]\n },\n \"recordId\": \"AjOk0hu1pe\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"RY7LCW719Q\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4213.HEIC.JPG\",\n \"resourceId\": \"0022f2cc-bd93-49f0-8039-04ac2909dd32\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d59a2750fefa807e0cfc41158e98407c864f1745537f406fcb0e02c76b1696b84f8bac5e1298eba711\",\n \"size\": 1763574,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"DUDacJdQ2X\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"D54X6C7WH6\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"image.png\",\n \"resourceId\": \"e7dea77f-0f65-4266-a3fd-e401b80a9582\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5d45d39275c65656906af57b60be7002feaf431efea862523554a56545a2e6ac55d17ee7f4c9382c9\",\n \"size\": 9795238,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ],\n \"ty1M3J4\": {\n \"markdown\": \"已归还\\n\"\n }\n },\n \"recordId\": \"Dt8KZX7Nt2\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"MN7V04VVD4\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4044.HEIC.JPG\",\n \"resourceId\": \"82903e20-99ca-4497-8596-64b8a9511347\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5585fe6169387aa3767c7e8d94f1e6b2bdcb910b90a359120b13c8f9d1a59101157155a75536e1183\",\n \"size\": 1965625,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"FA0TZMthqI\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"CYY9PQRXJ5\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4216.HEIC.JPG\",\n \"resourceId\": \"3dfd0bec-a06a-4580-a9a2-b8ae450df2a4\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d52f04469c6bb09596caffbbac393c775d8db27175749aef18fb6444ef163ea9d17fb0a232eda6495f\",\n \"size\": 2290335,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"IyGa4g01n1\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"K30F574N0W\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4071.HEIC.JPG\",\n \"resourceId\": \"8f970cbb-9e4d-4abb-bc2e-bae127a6231a\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5988e57da667e94ed89271196611e117503f232ffda40509efa8b2836f86122df894b0282d28e9bd0\",\n \"size\": 1883600,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"UJwTYA3uNw\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"Y7CXVJ9XWD\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4072.HEIC.JPG\",\n \"resourceId\": \"68b711bd-e972-445a-be79-bf4954b52000\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d581be5bba89215dfa8bf27c7a750a77959fc36654d351427344ca8cee273282f51f530a2b9381f2f5\",\n \"size\": 1856927,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"Uygc2paXj3\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"GMQW2JLWVY\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4214.HEIC.JPG\",\n \"resourceId\": \"ca4deb91-17d6-43e7-9812-72101643deb9\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d57860f934d7f4ae4fd1379962b8f251e8357d71880d1389e2b613f13514ac39fcfcb2a6a1fcb68a65\",\n \"size\": 1640058,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"ewj09NwU1z\",\n \"name\": \"AI招聘\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"429676\"\n }\n ]\n },\n \"recordId\": \"Xjj4e7GgG8\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"Y0V7Y2N2YD\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4074.HEIC.JPG\",\n \"resourceId\": \"5b8d3006-280e-41af-a4b0-3320e6a5d596\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5f3f03272cd3d6f49910031a2e873f763b035f6f21d03abba7ab038475a5ab532635226d96df6a64e\",\n \"size\": 1964512,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"Y056lsOG61\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"P24GFQN7YT\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4033.HEIC.JPG\",\n \"resourceId\": \"38656067-b7b7-45fd-8bea-64f4c89dc4f7\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d50c8666278c495a44ef70265cd8adb7f504b841c8f61607d92f11852026cd92eff88db6bf5a5d630c\",\n \"size\": 2028953,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"YVaPzcuGBa\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"N7Q33L77WR\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"image.png\",\n \"resourceId\": \"4abf67c0-ad03-4a81-a3db-3794d15453e9\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d53aa03710ddc5973e4df2b4d6c72f04177dd7b5a30206f588777548a9d514bbd2a1bdc9489688a5fb\",\n \"size\": 9870487,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"hXTMF9el7v\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"HFk9Y9TYQD\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4043.HEIC.JPG\",\n \"resourceId\": \"d6786a91-bca7-4c09-8225-9503cb66610f\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5fe8628219f060fbe50542a5616689036033b038792e8d5a77e12f7fc37630879073a357b1dacf1ae\",\n \"size\": 2110186,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试\",\n \"6B78kgr\": \"2\",\n \"ARoUEWW\": {\n \"id\": \"P6GYJKc3t0\",\n \"name\": \"未付费\"\n },\n \"Str3hFF\": {\n \"id\": \"m4Y2qZ07Yk\",\n \"name\": \"领取两台\"\n },\n \"ZoCsF67\": \"2026-02-09T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"lpH5zwRv5D\",\n \"name\": \"AI差旅\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"151705\"\n }\n ]\n },\n \"recordId\": \"kk7eQt1kJB\"\n },\n {\n \"cells\": {\n \"01ZM8y7\": \"TX6377KGFH\",\n \"2hfk5Hd\": [\n {\n \"filename\": \"IMG_4064.HEIC.JPG\",\n \"resourceId\": \"850e1a7f-aa0a-4ba8-9b54-5bc9c66a5a63\",\n \"resourceUrl\": \"/core/api/resources/img/5eecdaf48460cde5e74cc918372d9be934282a6fcde347f775b8339e1c4c24834322b4c2cdd63b4d6b58639871ed7e1ba156a98577f418d5716c6100d05323cbd2151a4b9cf8174b09cf0ac1af356178c4572bfa55a8c065f499293f0f9b00e2\",\n \"size\": 1963615,\n \"type\": \"image\",\n \"url\": \"[REDACTED_OSS_URL]\"\n }\n ],\n \"47bTcjO\": \"内部测试--恒飞\",\n \"ARoUEWW\": {\n \"id\": \"Zw0fFCNl8e\",\n \"name\": \"付费\"\n },\n \"ZoCsF67\": \"2026-01-23T00:00:00+08:00\",\n \"j1Zwe1c\": [\n {\n \"id\": \"s9UKjSzdLg\",\n \"name\": \"业务方自主\"\n }\n ],\n \"kFwb8br\": {\n \"id\": \"1ZiuS5Wlgz\",\n \"name\": \"内部部署\"\n },\n \"rjwzzIu\": [\n {\n \"id\": \"ewj09NwU1z\",\n \"name\": \"AI招聘\"\n }\n ],\n \"t9n9SDE\": [\n {\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"userId\": \"103262\"\n }\n ],\n \"ty1M3J4\": {\n \"markdown\": \"目前看设备离线\\n\"\n }\n },\n \"recordId\": \"oXh7WgGooe\"\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Successfully queried 14 record(s) from table hERWDMS in base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2849
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-field-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +form-field-list --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-id lmeV1cb --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-field-list",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"lmeV1cb",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"fields\": [\n {\n \"fieldId\": \"t9n9SDE\",\n \"hidden\": false,\n \"name\": \"领取人\",\n \"required\": true,\n \"type\": \"user\"\n },\n {\n \"fieldId\": \"j1Zwe1c\",\n \"hidden\": false,\n \"name\": \"验证情况\",\n \"required\": true,\n \"type\": \"multipleSelect\"\n },\n {\n \"fieldId\": \"2hfk5Hd\",\n \"hidden\": false,\n \"name\": \"商品图片\",\n \"required\": false,\n \"type\": \"file\"\n },\n {\n \"fieldId\": \"ZoCsF67\",\n \"hidden\": false,\n \"name\": \"领取时间\",\n \"required\": true,\n \"type\": \"date\"\n },\n {\n \"fieldId\": \"47bTcjO\",\n \"hidden\": false,\n \"name\": \"交付客户\",\n \"required\": true,\n \"type\": \"text\"\n },\n {\n \"description\": \"填写:客户业务介绍,老板是谁,实际使用部门,使用人数,主要解决客户什么问题,客户原声\",\n \"fieldId\": \"3p4hbFh\",\n \"hidden\": false,\n \"name\": \"客户背景\",\n \"required\": true,\n \"type\": \"richText\"\n }\n ],\n \"tableId\": \"hERWDMS\",\n \"viewId\": \"lmeV1cb\"\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Found 6 field(s) in form view lmeV1cb\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1139
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +form-list --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-list",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 2,\n \"forms\": [\n {\n \"viewId\": \"lmeV1cb\",\n \"viewName\": \"设备登记\"\n },\n {\n \"viewId\": \"HaFV1LW\",\n \"viewName\": \"客户使用情况\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1003
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-share-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +form-share-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-id lmeV1cb --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-share-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"lmeV1cb",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"anonymousSubmit\": false,\n \"authTypeCode\": 0,\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"enabled\": true,\n \"formName\": \"Mac Mini领取信息登记\",\n \"loadLastSubmit\": true,\n \"punished\": false,\n \"replyNotice\": false,\n \"shareFormUuid\": \"v01ZWGl05mvrY0PMn34_hERWDMS_lmeV1cb\",\n \"status\": 1,\n \"submitTimesUserLimit\": 0,\n \"tableId\": \"hERWDMS\",\n \"viewId\": \"lmeV1cb\"\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Fetched share form config for view lmeV1cb: enabled=true\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1067
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+list-tables",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +list-tables --base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+list-tables",
|
||
"--base",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"tables\": [\n {\n \"tableId\": \"hERWDMS\",\n \"tableName\": \"Mac Mini\"\n },\n {\n \"tableId\": \"k8d898q\",\n \"tableName\": \"手机\"\n },\n {\n \"tableId\": \"zyLRwwa\",\n \"tableName\": \"SIM卡\"\n },\n {\n \"tableId\": \"L53jNZz\",\n \"tableName\": \"机箱\"\n },\n {\n \"tableId\": \"zTiHNDL\",\n \"tableName\": \"磁吸片\"\n },\n {\n \"tableId\": \"anMdihs\",\n \"tableName\": \"手机线\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1452
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-history-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +record-history-list --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --record-id 1015oH3OXy --offset 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-history-list",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--record-id",
|
||
"1015oH3OXy",
|
||
"--offset",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"histories\": [\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"47bTcjO\\\":{\\\"dataType\\\":\\\"STRING\\\",\\\"value\\\":\\\"山东梅格彤\\\"}}\",\n \"oldValue\": \"{\\\"47bTcjO\\\":{\\\"dataType\\\":\\\"STRING\\\",\\\"value\\\":\\\"内部测试\\\"}}\",\n \"operateTime\": 1772700326253,\n \"type\": \"row\",\n \"version\": 2455\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"ARoUEWW\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"Zw0fFCNl8e\\\",\\\"sequence\\\":\\\"Zw0fFCNl8e\\\",\\\"data\\\":\\\"Zw0fFCNl8e\\\",\\\"filterFactor\\\":\\\"Zw0fFCNl8e\\\"}}}\",\n \"oldValue\": \"{\\\"ARoUEWW\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"sequence\\\":\\\"P6GYJKc3t0\\\",\\\"identifier\\\":\\\"P6GYJKc3t0\\\",\\\"data\\\":\\\"P6GYJKc3t0\\\",\\\"filterFactor\\\":\\\"P6GYJKc3t0\\\"}}}\",\n \"operateTime\": 1772700311648,\n \"type\": \"row\",\n \"version\": 2454\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"kFwb8br\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"uvZmbeb5RH\\\",\\\"sequence\\\":\\\"uvZmbeb5RH\\\",\\\"data\\\":\\\"uvZmbeb5RH\\\",\\\"filterFactor\\\":\\\"uvZmbeb5RH\\\"}}}\",\n \"oldValue\": \"{}\",\n \"operateTime\": 1772700308342,\n \"type\": \"row\",\n \"version\": 2453\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{}\",\n \"oldValue\": \"{\\\"kFwb8br\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"sequence\\\":\\\"1ZiuS5Wlgz\\\",\\\"identifier\\\":\\\"1ZiuS5Wlgz\\\",\\\"data\\\":\\\"1ZiuS5Wlgz\\\",\\\"filterFactor\\\":\\\"1ZiuS5Wlgz\\\"}}}\",\n \"operateTime\": 1772700305961,\n \"type\": \"row\",\n \"version\": 2452\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{}\",\n \"oldValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"sequence\\\":\\\"给不挠了\\\",\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"给不挠了\\\\\\\"]]]]\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"给不挠了\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"给不挠了\\\"]}}}\",\n \"operateTime\": 1772700303480,\n \"type\": \"row\",\n \"version\": 2451\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"给不挠了\\\\\\\"]]]]\\\",\\\"sequence\\\":\\\"给不挠了\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"给不挠了\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"给不挠了\\\"]}}}\",\n \"oldValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"sequence\\\":\\\"闲置\\\",\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"闲置\\\\\\\"]]]]\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"闲置\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"闲置\\\"]}}}\",\n \"operateTime\": 1772003207333,\n \"type\": \"row\",\n \"version\": 2377\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"闲置\\\\\\\"]]]]\\\",\\\"sequence\\\":\\\"闲置\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"闲置\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"闲置\\\"]}}}\",\n \"oldValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"目前查是离线\\\\\\\"]]]]\\\",\\\"sequence\\\":\\\"目前查是离线\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"目前查是离线\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"目前查是离线\\\"]}}}\",\n \"operateTime\": 1770990377587,\n \"type\": \"row\",\n \"version\": 2241\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"kFwb8br\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"1ZiuS5Wlgz\\\",\\\"sequence\\\":\\\"1ZiuS5Wlgz\\\",\\\"data\\\":\\\"1ZiuS5Wlgz\\\",\\\"filterFactor\\\":\\\"1ZiuS5Wlgz\\\"}}}\",\n \"oldValue\": \"{}\",\n \"operateTime\": 1770875502420,\n \"type\": \"row\",\n \"version\": 2162\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{}\",\n \"oldValue\": \"{\\\"kFwb8br\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"8G9fnUmdKY\\\",\\\"sequence\\\":\\\"8G9fnUmdKY\\\",\\\"data\\\":\\\"8G9fnUmdKY\\\",\\\"filterFactor\\\":\\\"8G9fnUmdKY\\\"}}}\",\n \"operateTime\": 1770875501255,\n \"type\": \"row\",\n \"version\": 2161\n },\n {\n \"action\": \"updateRecords\",\n \"newValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"目前查是离线\\\\\\\"]]]]\\\",\\\"sequence\\\":\\\"目前查是离线\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"目前查是离线\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"目前查是离线\\\"]}}}\",\n \"oldValue\": \"{\\\"ty1M3J4\\\":{\\\"dataType\\\":\\\"OBJECT\\\",\\\"value\\\":{\\\"sequence\\\":\\\"\\\",\\\"identifier\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"\\\\\\\"]]]]\\\",\\\"data\\\":\\\"[\\\\\\\"root\\\\\\\",{},[\\\\\\\"p\\\\\\\",{},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"text\\\\\\\"},[\\\\\\\"span\\\\\\\",{\\\\\\\"data-type\\\\\\\":\\\\\\\"leaf\\\\\\\"},\\\\\\\"\\\\\\\"]]]]\\\",\\\"filterFactor\\\":[\\\"\\\"]}}}\",\n \"operateTime\": 1770868083188,\n \"type\": \"row\",\n \"version\": 2139\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got 10 history record(s) for record 1015oH3OXy\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1156
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-query",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +record-query --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --record-ids 1015oH3OXy --field-ids 01ZM8y7 --filters '{}' --sort '[]' --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-query",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--record-ids",
|
||
"1015oH3OXy",
|
||
"--field-ids",
|
||
"01ZM8y7",
|
||
"--filters",
|
||
"{}",
|
||
"--sort",
|
||
"[]",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {},\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Successfully queried 0 record(s) from table hERWDMS in base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1241
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-query-empty",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +record-query-empty --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-query-empty",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"nextCursor\": \"4lLnbs69uY\",\n \"records\": []\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Scanned 10 record(s) from table hERWDMS in base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk, 0 of them are empty.\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2057
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-share-links",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +record-share-links --base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table hERWDMS --record-ids 1015oH3OXy --view-id qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-share-links",
|
||
"--base",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table",
|
||
"hERWDMS",
|
||
"--record-ids",
|
||
"1015oH3OXy",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"base\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"batches\": 1,\n \"items\": [\n {\n \"recordId\": \"1015oH3OXy\",\n \"shareUrl\": \"https://alidocs.dingtalk.com/notable/record?dentryUuid=gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk&sheetId=hERWDMS&rowId=1015oH3OXy&viewId=qvGDAH2\"\n }\n ],\n \"table\": \"hERWDMS\",\n \"total\": 1\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1249
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-share-url",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +record-share-url --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --record-ids 1015oH3OXy --view-id qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-share-url",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--record-ids",
|
||
"1015oH3OXy",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"items\": [\n {\n \"recordId\": \"1015oH3OXy\",\n \"shareUrl\": \"https://alidocs.dingtalk.com/notable/record?dentryUuid=gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\\u0026sheetId=hERWDMS\\u0026rowId=1015oH3OXy\\u0026viewId=qvGDAH2\"\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got share urls for 1 record(s)\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1130
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+resolve-base",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +resolve-base --name 'Real共创版设备去向登记' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+resolve-base",
|
||
"--name",
|
||
"Real共创版设备去向登记",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"name\": \"Real共创版设备去向登记\",\n \"resolved\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1228
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+resolve-table",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +resolve-table --base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --name 'Mac Mini' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+resolve-table",
|
||
"--base",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--name",
|
||
"Mac Mini",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"base\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"name\": \"Mac Mini\",\n \"resolved\": true,\n \"tableId\": \"hERWDMS\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1425
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+role-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +role-list --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+role-list",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"defaultRole\": {\n \"mode\": 2\n },\n \"enabled\": true,\n \"roles\": [\n {\n \"name\": \"所有者\",\n \"roleId\": \"owner\",\n \"roleType\": \"5000\",\n \"subRoles\": [],\n \"system\": true\n },\n {\n \"name\": \"管理员\",\n \"roleId\": \"manager\",\n \"roleType\": \"4000\",\n \"subRoles\": [],\n \"system\": true\n },\n {\n \"name\": \"可查看角色\",\n \"roleId\": \"10181777133\",\n \"roleType\": \"custom\",\n \"subRoles\": [\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 255\n },\n \"display\": {\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,该目标可见但不可编辑,无细粒度 actions/rows/cells 配置\",\n \"targetTypeLabel\": \"仪表盘\"\n },\n \"targetId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"targetType\": \"dashboard\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"hERWDMS\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"k8d898q\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"zyLRwwa\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"L53jNZz\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"zTiHNDL\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"anMdihs\",\n \"targetType\": \"sheet\"\n }\n ],\n \"system\": false\n },\n {\n \"name\": \"notable_biz_advanced_permission_role_editor\",\n \"roleId\": \"10181777134\",\n \"roleType\": \"system_editor\",\n \"subRoles\": [\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 255\n },\n \"display\": {\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,该目标可见但不可编辑,无细粒度 actions/rows/cells 配置\",\n \"targetTypeLabel\": \"仪表盘\"\n },\n \"targetId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"targetType\": \"dashboard\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"hERWDMS\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"k8d898q\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"zyLRwwa\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"L53jNZz\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"zTiHNDL\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"manage\",\n \"display\": {\n \"authLevelLabel\": \"可管理\",\n \"permissionScopeNote\": \"可管理级别下,数据表拥有全部操作权限,actions/rows/cells 仅作为配置回显,不参与权限判断\",\n \"targetTypeLabel\": \"数据表\"\n },\n \"targetId\": \"anMdihs\",\n \"targetType\": \"sheet\"\n }\n ],\n \"system\": true\n },\n {\n \"name\": \"notable_biz_advanced_permission_role_reader\",\n \"roleId\": \"10181777135\",\n \"roleType\": \"system_reader\",\n \"subRoles\": [\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 255\n },\n \"display\": {\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,该目标可见但不可编辑,无细粒度 actions/rows/cells 配置\",\n \"targetTypeLabel\": \"仪表盘\"\n },\n \"targetId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"targetType\": \"dashboard\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"hERWDMS\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"k8d898q\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"zyLRwwa\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"L53jNZz\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"zTiHNDL\",\n \"targetType\": \"sheet\"\n },\n {\n \"authLevel\": \"read\",\n \"config\": {\n \"actions\": 268435455\n },\n \"display\": {\n \"actionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ],\n \"actionsNote\": \"actions 位图取哨兵值 0x0FFFFFFF,在仅查看级别下表示视图配置项可见,不代表可对视图执行操作\",\n \"authLevelLabel\": \"仅查看\",\n \"permissionScopeNote\": \"仅查看级别下,actions/rows/cells 描述的是可见数据范围,不代表实际可执行的操作\",\n \"targetTypeLabel\": \"数据表\",\n \"viewActionsLabels\": [\n \"新增视图\",\n \"删除视图\",\n \"修改视图\"\n ]\n },\n \"targetId\": \"anMdihs\",\n \"targetType\": \"sheet\"\n }\n ],\n \"system\": true\n }\n ]\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Listed 5 roles for base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1483
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-list-empty",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +section-list-empty --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-list-empty",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"items\": [],\n \"total\": 0\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Found 0 empty sections in base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1202
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-list-nodes",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +section-list-nodes --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-list-nodes",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"items\": [\n {\n \"nodeId\": \"L53jNZz\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"zTiHNDL\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"TG566ix\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"hERWDMS-HaFV1LW\",\n \"nodeType\": \"form_view\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"KY9tlWg5NEHgfs8WT6IO2\",\n \"nodeType\": \"dashboard\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"TWB385A\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"hERWDMS-lmeV1cb\",\n \"nodeType\": \"form_view\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"anMdihs\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"qid57iq\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"k8d898q-mkGX58x\",\n \"nodeType\": \"form_view\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"k8d898q\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"zyLRwwa\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n },\n {\n \"nodeId\": \"hERWDMS\",\n \"nodeType\": \"sheet\",\n \"parentSectionId\": \"\"\n }\n ],\n \"total\": 13\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Found 13 nsheet nodes in base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 969
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+table-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +table-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-ids x --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+table-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-ids",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"tables\": []\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Got 0 tables from base gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk. Requested tableIds not returned: x. URL rules: AI 表格数据表访问地址: https://docs.dingtalk.com/i/nodes/{baseId}?iframeQuery=sheetId%3D{tableId}; AI 表格视图访问地址: https://docs.dingtalk.com/i/nodes/{baseId}?iframeQuery=sheetId%3D{tableId}%26viewId%3D{viewId}. User-facing guidance: 面向用户时要以人为本、友好直观,优先展示 **实体名称**、可点击链接和必要上下文,尽量隐藏 `baseId`、`tableId`、`viewId`、`dashboardId`、`documentId` 等技术细节;除非用户明确索要或排障必须,否则不要直接呈现这些 ID。\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1301
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+template-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +template-search --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+template-search",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 2,\n \"templates\": [\n {\n \"templateId\": \"513\",\n \"templateName\": \"随堂小测试\"\n },\n {\n \"templateId\": \"425\",\n \"templateName\": \"随堂小测试\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 953
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +view-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-ids qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-ids",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"views\": [\n {\n \"viewId\": \"qvGDAH2\",\n \"viewName\": \"Mac Mini\",\n \"viewType\": \"Grid\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1137
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-get-frozen-cols",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +view-get-frozen-cols --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-id qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-get-frozen-cols",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"count\": 1,\n \"tableId\": \"hERWDMS\",\n \"viewId\": \"qvGDAH2\"\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"Frozen column count of view 'Mac Mini' is 1\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1097
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-get-lock",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +view-get-lock --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-id qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-get-lock",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"locked\": false,\n \"tableId\": \"hERWDMS\",\n \"viewId\": \"qvGDAH2\"\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"View 'Mac Mini' is unlocked\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1063
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-get-row-height",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test aitable +view-get-row-height --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --view-id qvGDAH2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-get-row-height",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"data\": {\n \"baseId\": \"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk\",\n \"tableId\": \"hERWDMS\",\n \"viewId\": \"qvGDAH2\"\n },\n \"error\": {},\n \"meta\": {},\n \"status\": \"success\",\n \"success\": true,\n \"summary\": \"View 'Mac Mini' has no explicit cell height\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1284
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+check-record",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +check-record --users 202397 --start 2026-07-14 --end 2026-07-15 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+check-record",
|
||
"--users",
|
||
"202397",
|
||
"--start",
|
||
"2026-07-14",
|
||
"--end",
|
||
"2026-07-15",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 998
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+check-result",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +check-result --users 202397 --start 2026-07-14 --end 2026-07-15 --offset 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+check-result",
|
||
"--users",
|
||
"202397",
|
||
"--start",
|
||
"2026-07-14",
|
||
"--end",
|
||
"2026-07-15",
|
||
"--offset",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1134
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-adjustment-rule",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-adjustment-rule --adjustment-id 1 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-adjustment-rule",
|
||
"--adjustment-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"success\": true,\n \"有效期类型\": \"工作日\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 950
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-approve-template",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-approve-template --type leave --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-approve-template",
|
||
"--type",
|
||
"leave",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [\n {\n \"approveType\": \"LEAVE\",\n \"formName\": \"请假\",\n \"processCode\": \"PROC-940F2B1F-845D-4F39-A92E-FA5F45D1BF87\",\n \"submitUrl\": \"dingtalk://dingtalkclient/action/openapp?app_id=-4\\u0026container_type=work_platform\\u0026corpid=ding8196cd9a2b2405da24f2f5cc6abecb85\\u0026ddtab=true\\u0026redirect_type=jump\\u0026redirect_url=https%3A%2F%2Faflow.dingtalk.com%2Fdingtalk%2Fmobile%2Fhomepage.htm%3FappUuid%3Dding8196cd9a2b2405da24f2f5cc6abecb85%26backcontrol%3Dfalse%26corpid%3Dding8196cd9a2b2405da24f2f5cc6abecb85%26dd_progress%3Dfalse%26dd_share%3Dfalse%26ddtab%3Dtrue%26showmenu%3Dfalse%23%2Fcustom%3Fpcredirect%3Dself%26processCode%3DPROC-940F2B1F-845D-4F39-A92E-FA5F45D1BF87\"\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1080
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-checkin-record",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-checkin-record --operator-corp-id x --operator-staff-id 202397 --staff-ids 202397 --start '2026-07-15 10:00:00' --end '2026-07-15 16:00:00' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-checkin-record",
|
||
"--operator-corp-id",
|
||
"x",
|
||
"--operator-staff-id",
|
||
"202397",
|
||
"--staff-ids",
|
||
"202397",
|
||
"--start",
|
||
"2026-07-15 10:00:00",
|
||
"--end",
|
||
"2026-07-15 16:00:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"list\": []\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1116
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-leave-records",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-leave-records --user 202397 --leave-code 731ed089-62ff-4734-a6c7-3c8fcc8294fc --start 2026-07-14 --end 2026-07-15 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-leave-records",
|
||
"--user",
|
||
"202397",
|
||
"--leave-code",
|
||
"731ed089-62ff-4734-a6c7-3c8fcc8294fc",
|
||
"--start",
|
||
"2026-07-14",
|
||
"--end",
|
||
"2026-07-15",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1009
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-overtime-rule",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-overtime-rule --overtime-id 1 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-overtime-rule",
|
||
"--overtime-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [\n {\n \"advanceSettingDays\": [],\n \"content\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"durationSettings\": {\n \"holiday\": {\n \"calcType\": 1,\n \"durationType\": 1,\n \"holidayPlanOvertimeRedress\": null,\n \"holidayPlanOvertimeRedressBy\": null,\n \"holidayPlanVacationRate\": null,\n \"overtimeRedress\": true,\n \"overtimeRedressBy\": \"vacation\",\n \"roundType\": null,\n \"settings\": {},\n \"skipTime\": \"none\",\n \"skipTimeByDurations\": [],\n \"skipTimeByFrames\": [],\n \"stepType\": null,\n \"stepValue\": null,\n \"vacationRate\": \"1.0\",\n \"warningSettings\": [],\n \"workMinutesPerDay\": null\n },\n \"restDay\": {\n \"calcType\": 1,\n \"durationType\": 1,\n \"holidayPlanOvertimeRedress\": null,\n \"holidayPlanOvertimeRedressBy\": null,\n \"holidayPlanVacationRate\": null,\n \"overtimeRedress\": true,\n \"overtimeRedressBy\": \"vacation\",\n \"roundType\": null,\n \"settings\": {},\n \"skipTime\": \"none\",\n \"skipTimeByDurations\": [],\n \"skipTimeByFrames\": [],\n \"stepType\": null,\n \"stepValue\": null,\n \"vacationRate\": \"1.0\",\n \"warningSettings\": [],\n \"workMinutesPerDay\": null\n },\n \"workDay\": {\n \"calcType\": 1,\n \"durationType\": 1,\n \"holidayPlanOvertimeRedress\": null,\n \"holidayPlanOvertimeRedressBy\": null,\n \"holidayPlanVacationRate\": null,\n \"overtimeRedress\": true,\n \"overtimeRedressBy\": \"vacation\",\n \"roundType\": null,\n \"settings\": {\n \"calcTypeBetweenDutyWorktime\": null,\n \"durationTypeBetweenDutyWorktime\": null,\n \"dutyWorktimeLieuTypeVacationCode\": null,\n \"dutyWorktimeOvertimeRedress\": null,\n \"dutyWorktimeOvertimeRedressBy\": null,\n \"dutyWorktimeVacationRate\": null,\n \"enableAfterOffDuty\": true,\n \"enableBeforeOnDuty\": true,\n \"enableBetweenDuty\": true,\n \"enableBetweenDutyWorktime\": null,\n \"startTime\": null,\n \"timeUnit\": null,\n \"timeUnitAfterOffDuty\": 30,\n \"timeUnitBeforeOnDuty\": 30,\n \"timeUnitBetweenDuty\": 0,\n \"timeUnitBetweenDutyWorktime\": null\n },\n \"skipTime\": \"none\",\n \"skipTimeByDurations\": [],\n \"skipTimeByFrames\": [],\n \"stepType\": null,\n \"stepValue\": null,\n \"vacationRate\": \"1.0\",\n \"warningSettings\": [],\n \"workMinutesPerDay\": null\n }\n },\n \"groupIdAndNames\": [],\n \"id\": 941615052,\n \"isDefault\": null,\n \"name\": \"以审批时间计算加班\",\n \"overtimeCheckSetting\": {},\n \"overtimeDivisions\": [],\n \"owner\": null,\n \"ownerList\": [],\n \"roundType\": \"floor\",\n \"scopes\": null,\n \"settingId\": 941615052,\n \"stepType\": 0,\n \"stepValue\": \"1.0\",\n \"warningSettings\": [],\n \"workMinutesPerDay\": 480\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 961
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-schedule",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-schedule --users 202397 --start 2026-07-14 --end 2026-07-15 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-schedule",
|
||
"--users",
|
||
"202397",
|
||
"--start",
|
||
"2026-07-14",
|
||
"--end",
|
||
"2026-07-15",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 929
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-self-setting",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-self-setting --setting-scene checkRemind --user 202397 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-self-setting",
|
||
"--setting-scene",
|
||
"checkRemind",
|
||
"--user",
|
||
"202397",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": {\n \"bossMonthReportType\": null,\n \"bossPushStartMin\": null,\n \"bossWeekReportType\": null,\n \"canUpdateOffDuty\": null,\n \"checkRemindSetting\": {},\n \"checkRemindUserOffDuty\": true,\n \"checkRemindUserOnDuty\": true,\n \"checkResultMsg\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"enableOffdutyCheckRemindOfPc\": true,\n \"enableOndutyCheckRemindOfPc\": true,\n \"fastCheckLateNeedConfirm\": null,\n \"lackRemindUser\": null,\n \"lackSendTodoMsg\": null,\n \"offdutyCheckType\": null,\n \"offdutyRemindEndMin\": null,\n \"offdutyRemindStartMin\": null,\n \"ondutyCheckType\": null,\n \"ondutyRemindEndMin\": null,\n \"ondutyRemindStartMin\": null,\n \"personDailyReportSwitch\": null,\n \"personMonthReportType\": null,\n \"personWeekReportType\": null,\n \"userId\": \"202397\",\n \"vibrationRemindSwitch\": null,\n \"voiceRemindSwitch\": null\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 989
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-summary",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +get-summary --user 202397 --date 2026-07-15 --stats-type week --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-summary",
|
||
"--user",
|
||
"202397",
|
||
"--date",
|
||
"2026-07-15",
|
||
"--stats-type",
|
||
"week",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"errorCode\": \"0\",\n \"errorMessage\": \"success\",\n \"result\": {\n \"items\": [\n {\n \"name\": \"平均工时\",\n \"remark\": \"0小时\",\n \"unit\": \"小时\"\n },\n {\n \"name\": \"出勤天数\",\n \"remark\": \"0天\",\n \"unit\": null\n },\n {\n \"name\": \"出勤班次\",\n \"remark\": \"0个\",\n \"unit\": null\n },\n {\n \"name\": \"休息天数\",\n \"remark\": \"0天\",\n \"unit\": null\n },\n {\n \"name\": \"迟到\",\n \"remark\": \"0次\",\n \"unit\": \"次\"\n },\n {\n \"name\": \"早退\",\n \"remark\": \"0次\",\n \"unit\": \"次\"\n },\n {\n \"name\": \"缺卡\",\n \"remark\": \"0次\",\n \"unit\": \"次\"\n },\n {\n \"name\": \"旷工\",\n \"remark\": \"0天\",\n \"unit\": null\n },\n {\n \"name\": \"外勤\",\n \"remark\": \"0次\",\n \"unit\": null\n },\n {\n \"name\": \"加班\",\n \"remark\": \"0小时\",\n \"unit\": null\n },\n {\n \"name\": \"补卡申请\",\n \"remark\": \"0次\",\n \"unit\": null\n }\n ]\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1315
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+list-approve",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +list-approve --users 202397 --types leave --start 2026-07-14 --end 2026-07-15 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+list-approve",
|
||
"--users",
|
||
"202397",
|
||
"--types",
|
||
"leave",
|
||
"--start",
|
||
"2026-07-14",
|
||
"--end",
|
||
"2026-07-15",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1208
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+list-leave-types",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +list-leave-types --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+list-leave-types",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": [\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"754f72b4-0476-4e7d-ae4c-c46486268c5c\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"事假\",\n \"leaveStatisticType\": \"freedom\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_hour\",\n \"leaveViewUnit\": \"hour\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"a49f333e-275b-489a-8ec7-2c2000b81f35\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"调休\",\n \"leaveStatisticType\": \"balance_cycle_freedom\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_hour\",\n \"leaveViewUnit\": \"hour\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"5c4380ea-6f9c-4955-bbe6-bc0d114e4676\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"病假\",\n \"leaveStatisticType\": \"freedom\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_hour\",\n \"leaveViewUnit\": \"hour\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"731ed089-62ff-4734-a6c7-3c8fcc8294fc\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"年假\",\n \"leaveStatisticType\": \"balance_cycle\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"halfDay\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"8a551c65-d3e1-4671-9eaf-78dd4645b8c3\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"产假\",\n \"leaveStatisticType\": \"once_max\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"day\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"904d3f51-1f73-4161-a50a-300d0009676d\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"陪产假\",\n \"leaveStatisticType\": \"once_max\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"day\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"05e2ba99-1916-4be9-8166-54f6a652e3bc\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"婚假\",\n \"leaveStatisticType\": \"once_max\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"day\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"b168cb41-fbca-4f28-8234-fc62e0b66a2b\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"例假\",\n \"leaveStatisticType\": \"once_max\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"halfDay\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"9daf653b-b3dd-46ef-a2b0-dd160bbf08c4\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"丧假\",\n \"leaveStatisticType\": \"once_max\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_day\",\n \"leaveViewUnit\": \"day\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n },\n {\n \"allRecordCleanTime\": null,\n \"bizType\": null,\n \"corpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\",\n \"exsitFlag\": \"y\",\n \"gmtCreate\": 1650879712000,\n \"gmtModified\": 1650879712000,\n \"leaveBalanceRuleVO\": {},\n \"leaveCertificate\": {},\n \"leaveCode\": \"3730df36-c05c-45e7-bac1-26b2ba137a25\",\n \"leaveCycleStatisticInfoVO\": {},\n \"leaveHourCeil\": null,\n \"leaveName\": \"哺乳假\",\n \"leaveStatisticType\": \"freedom\",\n \"leaveStatus\": \"on\",\n \"leaveTimeCeil\": null,\n \"leaveTimeCeilMinUnit\": null,\n \"leaveUnit\": \"percent_hour\",\n \"leaveViewUnit\": \"hour\",\n \"maxLeaveTime\": null,\n \"minLeaveHour\": null,\n \"naturalDayLeave\": false,\n \"orderId\": null,\n \"paidLeave\": false,\n \"perHoursInDay\": 0,\n \"remindRuleVO\": {},\n \"source\": \"inner\",\n \"submitTimeRuleVO\": {},\n \"sysFlag\": \"n\",\n \"userId\": null,\n \"version\": \"1\",\n \"visibilityRules\": [],\n \"whenCanLeave\": \"entry\"\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1107
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+my-attendance",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +my-attendance --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+my-attendance",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1169
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+query-report-data",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +query-report-data --users 202397 --columns 1001 --start '2026-07-15 10:00:00' --end '2026-07-15 16:00:00' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+query-report-data",
|
||
"--users",
|
||
"202397",
|
||
"--columns",
|
||
"1001",
|
||
"--start",
|
||
"2026-07-15 10:00:00",
|
||
"--end",
|
||
"2026-07-15 16:00:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 998
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+search-adjustment-rule",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +search-adjustment-rule --query '测试' --page 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+search-adjustment-rule",
|
||
"--query",
|
||
"测试",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"rules\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 985
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+search-class",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +search-class --query '测试' --filter-type ALL --page 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+search-class",
|
||
"--query",
|
||
"测试",
|
||
"--filter-type",
|
||
"ALL",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"classes\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1043
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+search-group",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +search-group --query '测试' --type FIXED --query-position --query-ble --page 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+search-group",
|
||
"--query",
|
||
"测试",
|
||
"--type",
|
||
"FIXED",
|
||
"--query-position",
|
||
"--query-ble",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"groups\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 939
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+search-overtime-rule",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +search-overtime-rule --query '测试' --page 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+search-overtime-rule",
|
||
"--query",
|
||
"测试",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"rules\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 997
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+this-month",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test attendance +this-month --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+this-month",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"code\": \"0\",\n \"message\": \"success\",\n \"result\": [],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1108
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+agenda",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +agenda --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --calendar-id primary --cursor '' --limit 10 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+agenda",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--calendar-id",
|
||
"primary",
|
||
"--cursor",
|
||
"",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"events\": [\n {\n \"end\": {\n \"date\": null,\n \"dateTime\": \"2026-07-16T10:00:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784164500000\",\n \"location\": \"B310\",\n \"start\": {\n \"date\": null,\n \"dateTime\": \"2026-07-16T09:15:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"status\": \"confirmed\",\n \"summary\": \"中控专属钉&AI项目早会\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2094
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+attendee-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +attendee-list --event THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784078100000 --calendar-id primary --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+attendee-list",
|
||
"--event",
|
||
"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784078100000",
|
||
"--calendar-id",
|
||
"primary",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"attendees\": [\n {\n \"displayName\": \"秦天\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"崇幻(主用钉)\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"恩澈主用钉\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"楠者\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"栩铭-主账号\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"思敏\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"念晨\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"杨淑平\",\n \"responseStatus\": \"declined\"\n },\n {\n \"displayName\": \"李伟韬\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"王琳\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"千启\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"粤腾\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"石涤\",\n \"responseStatus\": \"declined\"\n },\n {\n \"displayName\": \"陈叙\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"李畅(主用钉)\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"徐海儿\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"袁航\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王伟明\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"巫利华\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"张彪\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"舒畅\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王晓璇\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"孙茂林\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"尤福海\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"杨凯\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"杨二磊\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"姚俊杰\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"王鑫杰\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"毛金权\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王国红\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"刘刚\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王福超\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"张海蛟\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"方胜新\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"邵嘉铭\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"孙龙飞\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"刘琦\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"申展\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"李光辉\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"蒋志恒\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"籍敏\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"黄徐贤\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王继光\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"裴美娟\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"闫铎功\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"陈江义\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"刘颖\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"杨旭[工作号]\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"刘少军\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王贵\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"付玉强\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"张振奎\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"武永江\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"沈体峰\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"孔维娜\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王东亮\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"李鑫\",\n \"responseStatus\": \"accepted\"\n },\n {\n \"displayName\": \"张磊\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"朱晓闪\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"吴斌\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"陈露鑫\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"陈永纯\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"李所清\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"盛超\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"王军超\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"曲宁涛\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"方美\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"杨帆\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"万以华\",\n \"responseStatus\": \"needsAction\"\n },\n {\n \"displayName\": \"毕晨\",\n \"responseStatus\": \"accepted\"\n }\n ],\n \"count\": 70\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1144
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+book-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +book-list --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+book-list",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"calendars\": [\n {\n \"calendarId\": \"primary\",\n \"description\": null,\n \"privilege\": \"owner\",\n \"summary\": \"我的日历(钉钉)\",\n \"type\": \"primary\"\n }\n ],\n \"count\": 1\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1033
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+book-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +book-search --query '测试' --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+book-search",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"calendars\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1036
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+conflicts",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +conflicts --in-days 1 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+conflicts",
|
||
"--in-days",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"conflictCount\": 0,\n \"conflicts\": [],\n \"date\": \"2026-07-16\",\n \"eventCount\": 3,\n \"hasConflict\": false\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2369
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+free",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +free --who '冬翔' --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+free",
|
||
"--who",
|
||
"冬翔",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"busy\": [],\n \"free\": true,\n \"userId\": \"103262\",\n \"who\": \"夏东翔\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1697
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+free-slots",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +free-slots --in-days 1 --from 9 --to 18 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+free-slots",
|
||
"--in-days",
|
||
"1",
|
||
"--from",
|
||
"9",
|
||
"--to",
|
||
"18",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"allBusy\": false,\n \"date\": \"2026-07-16\",\n \"freeSlots\": [\n {\n \"durationMin\": 15,\n \"end\": \"09:15\",\n \"start\": \"09:00\"\n },\n {\n \"durationMin\": 480,\n \"end\": \"18:00\",\n \"start\": \"10:00\"\n }\n ],\n \"slotCount\": 2,\n \"window\": \"09:00-18:00\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2195
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+freebusy",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +freebusy --users 103262 --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+freebusy",
|
||
"--users",
|
||
"103262",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": [\n {\n \"error\": null,\n \"roomId\": null,\n \"scheduleItems\": [],\n \"userId\": \"103262\"\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1154
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+my-free",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +my-free --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+my-free",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"busy\": [\n {\n \"end\": \"2026-07-16T10:00:00+08:00\",\n \"start\": \"2026-07-16T09:15:00+08:00\"\n }\n ],\n \"free\": false,\n \"userId\": \"202397\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1406
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+next-event",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +next-event --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+next-event",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"event\": {\n \"end\": \"2026-07-15 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784120400000\",\n \"start\": \"2026-07-15 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n }\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 5504
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+room-groups",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +room-groups --limit 10 --page 1 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+room-groups",
|
||
"--limit",
|
||
"10",
|
||
"--page",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"groups\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1224
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+room-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +room-search --room-name x --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+room-search",
|
||
"--room-name",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"rooms\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1298
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+suggest-time",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +suggest-time --with '冬翔' --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --duration x --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+suggest-time",
|
||
"--with",
|
||
"冬翔",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--duration",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"suggestions\": [\n {\n \"end\": \"2026-07-16T10:30:00+08:00\",\n \"start\": \"2026-07-16T10:00:00+08:00\"\n },\n {\n \"end\": \"2026-07-16T11:00:00+08:00\",\n \"start\": \"2026-07-16T10:30:00+08:00\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1711
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+today",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +today --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+today",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"events\": [\n {\n \"end\": \"2026-07-15 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784078100000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-15 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-15 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784120400000\",\n \"start\": \"2026-07-15 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1951
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+tomorrow",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +tomorrow --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+tomorrow",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"events\": [\n {\n \"end\": \"2026-07-16 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784164500000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-16 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-16 20:00\",\n \"eventId\": \"cVRhbUZsMzZscU1XQjd0NURFaEdnZz09\",\n \"location\": \"张功馆·桐庐菜(未来星宸永福店)\",\n \"start\": \"2026-07-16 18:00\",\n \"title\": \"搜问&搜索团队聚餐\"\n },\n {\n \"end\": \"2026-07-16 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784206800000\",\n \"start\": \"2026-07-16 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2254
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+week",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +week --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+week",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"events\": [\n {\n \"end\": \"2026-07-13 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1783905300000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-13 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-13 15:30\",\n \"eventId\": \"UTFidStpV3JUcnVQRDhHZThjZVJGQT09\",\n \"start\": \"2026-07-13 15:00\",\n \"title\": \"llm-wiki的能力共创快速对一下使用说明\"\n },\n {\n \"end\": \"2026-07-13 16:15\",\n \"eventId\": \"bjZWVmlieHVpUUJJMm15RGFUMlRIZz09\",\n \"start\": \"2026-07-13 15:30\",\n \"title\": \"聊聊\"\n },\n {\n \"end\": \"2026-07-13 16:30\",\n \"eventId\": \"elVnVE45K1YvcStEbEpvM2RxbGVYQT09\",\n \"location\": \"2003\",\n \"start\": \"2026-07-13 16:00\",\n \"title\": \"AI技术平台小周会\"\n },\n {\n \"end\": \"2026-07-13 18:00\",\n \"eventId\": \"RXJDc2RMNzNPWkRZRnpzTU1NZ1Nsdz09_1783933200000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-13 17:00\",\n \"title\": \"AI营销周会\"\n },\n {\n \"end\": \"2026-07-13 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1783947600000\",\n \"start\": \"2026-07-13 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n },\n {\n \"end\": \"2026-07-14 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1783991700000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-14 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-14 14:30\",\n \"eventId\": \"d1BpNmZOVkdJaFY5dXdIVE9SdkZPQT09\",\n \"location\": \"D1-2001\",\n \"start\": \"2026-07-14 13:30\",\n \"title\": \"简单聊一聊\"\n },\n {\n \"end\": \"2026-07-14 20:30\",\n \"eventId\": \"ZUtBTlQxNjY3TnJKM0JpVEx2T1Ardz09\",\n \"location\": \"D1-2004\",\n \"start\": \"2026-07-14 19:30\",\n \"title\": \"盘一下算法 x 搜索搜问合作\"\n },\n {\n \"end\": \"2026-07-14 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784034000000\",\n \"start\": \"2026-07-14 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n },\n {\n \"end\": \"2026-07-15 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784078100000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-15 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-15 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784120400000\",\n \"start\": \"2026-07-15 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n },\n {\n \"end\": \"2026-07-16 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784164500000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-16 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-16 20:00\",\n \"eventId\": \"cVRhbUZsMzZscU1XQjd0NURFaEdnZz09\",\n \"location\": \"张功馆·桐庐菜(未来星宸永福店)\",\n \"start\": \"2026-07-16 18:00\",\n \"title\": \"搜问&搜索团队聚餐\"\n },\n {\n \"end\": \"2026-07-16 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784206800000\",\n \"start\": \"2026-07-16 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n },\n {\n \"end\": \"2026-07-17 10:00\",\n \"eventId\": \"THN4YUtOTlplYU9sZzd2czE4YURLQT09_1784250900000\",\n \"location\": \"B310\",\n \"start\": \"2026-07-17 09:15\",\n \"title\": \"中控专属钉&AI项目早会\"\n },\n {\n \"end\": \"2026-07-17 18:00\",\n \"eventId\": \"bmVEbnArV25ITStSQlE5WU1QOHhJUT09_1784278800000\",\n \"location\": \"项目室(D1-1604)\",\n \"start\": \"2026-07-17 17:00\",\n \"title\": \"模型算法团队周会\"\n },\n {\n \"end\": \"2026-07-17 21:15\",\n \"eventId\": \"cy81YjB1eW1yMW9SeWRVdHNDVWFhZz09_1784293200000\",\n \"start\": \"2026-07-17 21:00\",\n \"title\": \"循环提醒:项目每日工作进展同步\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 6589
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+at-me",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +at-me --days 7 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+at-me",
|
||
"--days",
|
||
"7",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"messages\": [\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"粤腾\",\n \"text\": \"@梓寻 @崇幻(主用钉) @陈叙 @念晨 明天下午给孙总的蓝图汇报,最后一part是对本次AI营销项目的建议和求助。大家可以把每个模块目前遇到的问题和困难(例如:需要客户提供的资源、需求落地的阻力等),单独反馈给我。\",\n \"time\": \"2026-07-15 14:29:53\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 这个知识蓝图好了么?客户想先看一下材料\",\n \"time\": \"2026-07-15 13:41:25\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 @杨淑平 \\n1、**生产环境:补充一下是否需要域名**[图片消息](mediaId=@lQLPJxN0PcmAzMfNBfDNCuKwMJ8nHWzNI30KKoLRQapEAQ)**2、测试环境:**\\n(1)需要几台服务器,配置保持跟生产一样,还是改一下\\n(2)测试环境是否需要域名,(测试环境就写是否需要好了,可以让客户随机分配下)[图片消息](mediaId=@lQLPJwPJXqYLLMfNBf7NCqCw5iUu-ba7L7IKKoLRQapEAA)\",\n \"time\": \"2026-07-15 10:19:17\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"栩铭-主账号\",\n \"text\": \"@徐洪鑫(崇幻(主用钉)) @董鑫阳(念晨) @陈绪(陈叙) @杨淑平 @梓寻 \\n需要申请 测试服务器环境的同学,在https://alidocs.dingtalk.com/i/nodes/PwkYGxZV3ZEBnPvwI92oDm9rWAgozOKL?utm_scene=team_space&iframeQuery=sheet_range%3Dkgqie6hm_0_11_9_3 “测试环境”Sheet页登记下\\n需要域名的,填写在新增的“域名”栏目\",\n \"time\": \"2026-07-15 09:50:16\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"粤腾\",\n \"text\": \"@梓寻 @陈叙 @崇幻(主用钉) @念晨 各业务场景的蓝图素材还请大家统一补充到钉钉文档中 https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPzYvRArmHv23ye4kWzN67Mw4\",\n \"time\": \"2026-07-14 22:44:59\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@崇幻(主用钉) @陈叙 @念晨 @杨淑平 今日进展和明日计划记得发一下哈,\\n\\n另外再看一下情报助手、活动助手、解决方案助手、专家Agent什么时候可以让中控一线人员在自己的电脑上运行(最小MVP版本),要给下时间\",\n \"time\": \"2026-07-14 21:35:38\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 选李龙就是@粤腾 批啦[憨笑]\",\n \"time\": \"2026-07-14 20:33:28\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"粤腾\",\n \"text\": \"@崇幻(主用钉) @念晨 @梓寻 @陈叙 如果大家明天上午方便,最好能来中控现场,蓝图规划和场景demo录制两个事现场对齐高效输出。[抱拳]\",\n \"time\": \"2026-07-14 19:13:20\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"粤腾\",\n \"text\": \"@崇幻(主用钉) @陈叙 @梓寻 @念晨 明天要给新的分管It和营销业务副总裁孙总汇报整体项目蓝图规划,辛苦大家今天内把每个模块用户故事动线(产品原型图,demo界面,场景等)串起来的相关素材放到知识库。https://alidocs.dingtalk.com/i/nodes/QPGYqjpJYrlp4LN6IBEylmR48akx1Z5N?corpId=ding5bb1eba46e6a17d94ac5d6980864d335&utm_medium=im_card&iframeQuery=utm_medium%3Dim_card%26utm_source%3Dim&utm_scene=team_space&utm_source=im\",\n \"time\": \"2026-07-14 16:28:06\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 @陈叙 会议室在 E307\",\n \"time\": \"2026-07-14 13:12:04\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"崇幻这边可以现场演示,@念晨 @陈叙 你俩下午赶的过来么?\",\n \"time\": \"2026-07-14 11:13:17\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 @粤腾 @梓寻 @陈叙 @崇幻(主用钉) 崔总突然下午要看项目整体进度,需要汇报每个子项目的情况,大概2点半这样。\",\n \"time\": \"2026-07-14 11:11:28\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@念晨 明日计划给你加个知识蓝图输出中,然后约客户周三对焦哈\",\n \"time\": \"2026-07-13 23:14:03\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"千启\",\n \"text\": \"@陈叙 @念晨 @杨淑平 今日进展和明天计划记得同步下[送花花]\",\n \"time\": \"2026-07-13 21:40:08\"\n },\n {\n \"conversation\": \"【内】中控每日工作进展汇总群\",\n \"sender\": \"粤腾\",\n \"text\": \"还差一个情报助理和 知识库与中控制标Agent打通。 @杨淑平 情报助理看下周三能做到什么程度。 @念晨 知识库与中控制标Agent打通 需要在7 18 的demo演示中打通么。\",\n \"time\": \"2026-07-13 16:43:23\"\n },\n {\n \"conversation\": \"算法团队mentor群(内部讨论群)\",\n \"sender\": \"璟琦(主用钉)\",\n \"text\": \"@董鑫阳(念晨) https://acl.alibaba-inc.com/permission/datapermission/applyDetail.htm?spm=21540d8c.6248353e.0.0.6ae2264c9zDMFB&flowId=3cd438c0-2cee-4eac-a763-4625dbf2b51d\",\n \"time\": \"2026-07-15 10:54:23\"\n },\n {\n \"conversation\": \"算法团队mentor群(内部讨论群)\",\n \"sender\": \"九韶\",\n \"text\": \"@董鑫阳(念晨) 给你留了一个目标, 你抓紧更新,进去。 我给大哥先发一般\",\n \"time\": \"2026-07-14 16:15:16\"\n },\n {\n \"conversation\": \"算法团队mentor群(内部讨论群)\",\n \"sender\": \"璟琦(主用钉)\",\n \"text\": \"@董鑫阳(念晨) 你补一下 中控 及 专家agent 的部分\",\n \"time\": \"2026-07-14 15:48:29\"\n },\n {\n \"conversation\": \"算法团队mentor群(内部讨论群)\",\n \"sender\": \"璟琦(主用钉)\",\n \"text\": \"@董鑫阳(念晨) cli实现的时候这里面的能力最好都支持\",\n \"time\": \"2026-07-14 10:49:39\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"筱淘\",\n \"text\": \"@董鑫阳(念晨) 让客户再等等 明天见客户\",\n \"time\": \"2026-07-15 09:48:49\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 没事,下次星爷的美人鱼2要在2028年上映了,到时候我们再一起翘班去\",\n \"time\": \"2026-07-15 09:41:06\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@卢翮(龙衔) @董鑫阳(念晨) 去么去么\",\n \"time\": \"2026-07-15 09:22:09\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) @蒋志刚(穆伦) @卢翮(龙衔) 去么,去么\",\n \"time\": \"2026-07-15 09:16:18\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 哪个 HR 问你\",\n \"time\": \"2026-07-15 09:10:25\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"穆伦\",\n \"text\": \"@Dennis(念晨) 为啥这么问呢?你们那边没有好的位置?\",\n \"time\": \"2026-07-15 09:05:14\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"筱淘\",\n \"text\": \"@董鑫阳(念晨) 还等什么 来吧\",\n \"time\": \"2026-07-15 09:00:21\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 害怕\",\n \"time\": \"2026-07-14 22:01:18\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"穆伦\",\n \"text\": \"@Dennis(念晨) 展开说说\",\n \"time\": \"2026-07-14 16:39:26\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"龙衔\",\n \"text\": \"@董鑫阳(念晨) 聊啥\",\n \"time\": \"2026-07-14 16:36:03\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"穆伦\",\n \"text\": \"@Dennis(念晨) 什么评价\",\n \"time\": \"2026-07-14 16:33:04\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 我就说旁边有个车神经的滴滴我\",\n \"time\": \"2026-07-14 13:04:30\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 赛银\",\n \"time\": \"2026-07-14 12:51:33\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 刚才出来的车是你的呀\",\n \"time\": \"2026-07-14 12:51:27\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 你最后一条为什么只出现一半\",\n \"time\": \"2026-07-14 10:27:07\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) iPad or Mac?\",\n \"time\": \"2026-07-14 10:23:28\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"龙衔\",\n \"text\": \"@董鑫阳(念晨) 走,请你吃面\",\n \"time\": \"2026-07-13 18:26:51\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"龙衔\",\n \"text\": \"@董鑫阳(念晨) 茶叶忘了给你了 下次吃饭吧 头大 脑子不够了\",\n \"time\": \"2026-07-13 14:14:22\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 下午你来\",\n \"time\": \"2026-07-13 11:37:02\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 你是开个新卡,还是试试筱淘那个100多的\",\n \"time\": \"2026-07-13 11:33:47\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨)\",\n \"time\": \"2026-07-13 11:32:43\"\n },\n {\n \"conversation\": \"AI全栈\",\n \"sender\": \"怒龙\",\n \"text\": \"@董鑫阳(念晨) 我给你开个卡?\",\n \"time\": \"2026-07-13 11:28:36\"\n },\n {\n \"conversation\": \"元智,九韶,璟琦(主用钉),念晨\",\n \"sender\": \"元智\",\n \"text\": \"@董鑫阳(念晨) 给力,scope更大了\",\n \"time\": \"2026-07-14 15:39:19\"\n },\n {\n \"conversation\": \"元智,九韶,璟琦(主用钉),念晨\",\n \"sender\": \"九韶\",\n \"text\": \"@董鑫阳(念晨) 汇报过了吗? 怎么样?\",\n \"time\": \"2026-07-14 15:19:43\"\n },\n {\n \"conversation\": \"[会议群]销售知识库方案讨论\",\n \"sender\": \"赵瑞(玖霄)\",\n \"text\": \"我来约你时间@念晨\",\n \"time\": \"2026-07-14 12:37:23\"\n },\n {\n \"conversation\": \"[会议群]销售知识库方案讨论\",\n \"sender\": \"迦卢\",\n \"text\": \"@赵瑞(玖霄) 你把需求和@念晨 对焦下\",\n \"time\": \"2026-07-14 12:25:15\"\n },\n {\n \"conversation\": \"[会议群]销售知识库方案讨论\",\n \"sender\": \"迦卢\",\n \"text\": \"@赵瑞(玖霄) @念晨 是知识库这边的技术架构师,目前还没有产品,但是他来进行和我们共创\",\n \"time\": \"2026-07-13 17:48:48\"\n },\n {\n \"conversation\": \"FDE Go\",\n \"sender\": \"冬翔\",\n \"text\": \"@董鑫阳(念晨) 你的Claude还是不能用?\",\n \"time\": \"2026-07-14 10:22:12\"\n },\n {\n \"conversation\": \"FDE Go\",\n \"sender\": \"黎常\",\n \"text\": \"@董鑫阳(念晨) 这个确实太傻逼了,放着好好优势不用\",\n \"time\": \"2026-07-14 09:55:49\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2787
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+bot-find",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +bot-find --query '测试' --limit 10 --cursor '' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+bot-find",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"bots\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1312
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+bot-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +bot-search --page 1 --size 1 --name 'DWS shortcut 真实测试' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+bot-search",
|
||
"--page",
|
||
"1",
|
||
"--size",
|
||
"1",
|
||
"--name",
|
||
"DWS shortcut 真实测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"robots\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1191
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +category-list --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-list",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"categories\": [\n {\n \"categoryId\": 1561691365563,\n \"title\": \"大型摸鱼现场\"\n },\n {\n \"categoryId\": 1761880390389,\n \"title\": \"悟空\"\n },\n {\n \"categoryId\": 1561692216352,\n \"title\": \"钉钉\"\n },\n {\n \"categoryId\": 1761880350586,\n \"title\": \"RELU\"\n },\n {\n \"categoryId\": 1767577825401,\n \"title\": \"X Project\"\n },\n {\n \"categoryId\": 1770100726133,\n \"title\": \"A1合作\"\n },\n {\n \"categoryId\": 1764209474291,\n \"title\": \"CodeAgent\"\n },\n {\n \"categoryId\": 1764818531490,\n \"title\": \"DeepResearch\"\n },\n {\n \"categoryId\": 1765771015868,\n \"title\": \"J Project\"\n },\n {\n \"categoryId\": 1761881089886,\n \"title\": \"客户服务\"\n }\n ],\n \"count\": 10\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1326
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-bots",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-bots --group cid3Jijzhe2aqs9ysOXjhi05g== --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-bots",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"bots\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 907
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-invite-url",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-invite-url --group cid3Jijzhe2aqs9ysOXjhi05g== --expires-seconds 1 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-invite-url",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--expires-seconds",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"inviteUrl\": \"https://qr.dingtalk.com/action/joingroup?code=v1,k1,Rj9aR+97xuRdK0cKsvoU/daj0MZj7p02n7pETjkgcMo=\\u0026_dt_no_comment=1\\u0026origin=11\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 958
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-list-all",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-list-all --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-list-all",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 9,\n \"groups\": [\n {\n \"name\": \"浅曦-kida,Dennis,秋画\",\n \"openConversationId\": \"cid3Jijzhe2aqs9ysOXjhi05g==\"\n },\n {\n \"name\": \"Dennis,梨岚,浅曦,秋画\",\n \"openConversationId\": \"cidBRb3r823j/rs8mGdPervyQ==\"\n },\n {\n \"name\": \"HISTORE_DINGDING_VOIP_APP\",\n \"openConversationId\": \"cid68WRQRLAWFUvSWPjFTxQEg==\"\n },\n {\n \"name\": \"钉钉19届应届生校招群\",\n \"openConversationId\": \"cidsXjWvcYMguAWhhE6x1PsRw==\"\n },\n {\n \"name\": \"钉钉尖角班第21期欢迎你!\",\n \"openConversationId\": \"cid2YTSHeguqsO/PjSu33/IRA==\"\n },\n {\n \"name\": \"钉子户\",\n \"openConversationId\": \"cidCVNiNIaY1vsA6Hp0rUvk7w==\"\n },\n {\n \"name\": \"应用通知\",\n \"openConversationId\": \"cidPrcdDg1wZb3/0oQRIWxVRw==\"\n },\n {\n \"name\": \"三口之家\",\n \"openConversationId\": \"cid8eLJsKOY3EwulLUqD3jVbA==\"\n },\n {\n \"name\": \"工作通知:三口之家\",\n \"openConversationId\": \"cidAHnUfD5n2F+Ybdsqeu9ymQ==\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1043
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-list-join-requests",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-list-join-requests --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-list-join-requests",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"hasMore\": false,\n \"nextCursor\": 0,\n \"records\": []\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 960
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-list-mine",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-list-mine --role OWNER --limit 10 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-list-mine",
|
||
"--role",
|
||
"OWNER",
|
||
"--limit",
|
||
"10",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"groups\": [\n {\n \"name\": \"DING_VIBE_CODING没统计到token的问题\",\n \"openConversationId\": \"cidl/foiVj/HRZjBxQI4+Y81g==\"\n },\n {\n \"name\": \"钉钉 EveryDay X RELU 共创\",\n \"openConversationId\": \"cid7XlLm5toebOyqw0J3GJfmA==\"\n },\n {\n \"name\": \"中控测试\",\n \"openConversationId\": \"cidwnTdZmw2YMznZKLOmws9VQ==\"\n },\n {\n \"name\": \"国粹候选人\",\n \"openConversationId\": \"cidw+0WK0/N8nrKwvcgpg6AJQ==\"\n },\n {\n \"name\": \"X 项目算法支持\",\n \"openConversationId\": \"cidbDGRPLyhdI1/b85MiUSz5Q==\"\n },\n {\n \"name\": \"悟空 Agent Runtime Scrum\",\n \"openConversationId\": \"cidCAHeQDMT93RTArxiqBJLiA==\"\n },\n {\n \"name\": \"电商刊登接入CodeAgent\",\n \"openConversationId\": \"cid6IhuGpSIpuosGTGusYUc2g==\"\n },\n {\n \"name\": \"0529机器人 && 移动端中控问题跟进\",\n \"openConversationId\": \"cidXMfbCGTSiHzLLaRV5WDXgw==\"\n },\n {\n \"name\": \"念晨,伊玲,双数\",\n \"openConversationId\": \"cid/xM8a62lWiQGkfgLi4kfhA==\"\n },\n {\n \"name\": \"方齐,念晨,向尘\",\n \"openConversationId\": \"cidpG74/BF0DPbkIHS42XPZZg==\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1799
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-list --group cid3Jijzhe2aqs9ysOXjhi05g== --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-list",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"roles\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 928
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-query-user",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-query-user --group cid3Jijzhe2aqs9ysOXjhi05g== --user '冬翔' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-query-user",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--user",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"roles\": []\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 958
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-search --query '测试' --limit 10 --cursor 0 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-search",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"groups\": [\n {\n \"channel\": false,\n \"createAt\": \"2026-06-09 09:21:07\",\n \"extension\": {\n \"newCSpaceIdIM\": \"29001572040\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 4,\n \"openConversationId\": \"cidYmSrmbqMM/OseCzcs4cJdg==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"测试群已废弃\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-06-09 09:21:00\",\n \"extension\": {\n \"newCSpaceIdIM\": \"29001813316\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 3,\n \"openConversationId\": \"cidSIMPP2TD6HZcn1nO0mVNoA==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"测试群已废弃\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-05-13 16:22:30\",\n \"extension\": {\n \"newCSpaceIdIM\": \"28540426059\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 70,\n \"openConversationId\": \"cidU38vTWZbweyBRT71Md/KJQ==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UXSDzdMWL3Ls3VUvhTCwbT\",\n \"title\": \"测试项目沟通群\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-04-24 11:49:36\",\n \"extension\": {\n \"newCSpaceIdIM\": \"28740101247\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 2,\n \"openConversationId\": \"cidOpAz1EH8TLuD9H1Who48pw==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"测试项目沟通群\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-06-26 14:05:19\",\n \"extension\": {\n \"newCSpaceIdIM\": \"29101779299\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 2,\n \"openConversationId\": \"cidp+Oj7m1gJnx+bCtTn3vhcQ==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"Spur测试\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-07-02 11:26:29\",\n \"extension\": {\n \"newCSpaceIdIM\": \"29137611383\"\n },\n \"groupType\": \"NEW_EXTERNAL_GROUP\",\n \"memberCount\": 1,\n \"openConversationId\": \"cidwnTdZmw2YMznZKLOmws9VQ==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"中控测试\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-06-09 11:03:12\",\n \"extension\": {\n \"newCSpaceIdIM\": \"29002815625\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 2,\n \"openConversationId\": \"cid3hq0VEj6C6FtEtDsWCtNwg==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"title\": \"评测复盘讨论群-测试\"\n },\n {\n \"channel\": true,\n \"createAt\": \"2026-03-24 18:10:34\",\n \"extension\": {\n \"newCSpaceIdIM\": \"28494427717\"\n },\n \"groupType\": \"NEW_EXTERNAL_GROUP\",\n \"memberCount\": 2628,\n \"openConversationId\": \"cidm6kkku3iW/ddE/DuoWOEnQ==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3XSNFHTUgOrXFyf7hpLIgii2\",\n \"title\": \"悟空问题反馈群\"\n },\n {\n \"channel\": false,\n \"createAt\": \"2026-05-13 16:23:30\",\n \"extension\": {\n \"newCSpaceIdIM\": \"28540433569\"\n },\n \"groupType\": \"INTERNAL_GROUP\",\n \"memberCount\": 71,\n \"openConversationId\": \"cidzoNLz/wgp7gRm/mRph+MxA==\",\n \"ownerOpenDingtalkId\": \"D1jIqGatuH3UXSDzdMWL3Ls3VUvhTCwbT\",\n \"title\": \"日常消息同步群\"\n }\n ],\n \"hasMore\": true,\n \"nextCursor\": \"da8b2b5ea0a50c4ae90dcf38edde9f52425c3bb1dd7cb1eddf53e7db6b73b3c4299e03fd01b0cf917b20e2f46a4f5e13bb7a1bd722cf6c4a372c6971d3c37fb7a3301ae0e438d2556a38ae1fc9c6ee9c110732c3d5d829998a367dc7ebd3a0f639e2dc0841255be944cf07a406575e4cbee22cfca7f309a6bba4d6c35f7d3bd05ce9af894fd2f107f264c0c16d61f6c778e2c2e5c3ea05bc0f77ae6cd7bf402f77218ef7439e2483e5348b3cc40b6a28eeb87bc58925bff5a69d0b080d3818ef1eed93958ffb401cb286b4e885564950f46fa42ad85b4161fd5752f840865648c4e2a89a26f8e241ee476d17a8a2352feb4e1f7d97b28d69aeba429b1e6565fd9acc3e2aa71ec6c05d0a31d90c451aa3\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1176
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-info",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-info --group cid3Jijzhe2aqs9ysOXjhi05g== --open-dingtalk-id x --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-info",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--open-dingtalk-id",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"conversationInfo\": {\n \"createAt\": \"2018-11-13 12:39:07\",\n \"extension\": {\n \"newCSpaceIdIM\": \"1090404636\"\n },\n \"memberCount\": 3,\n \"openConversationId\": \"cid3Jijzhe2aqs9ysOXjhi05g==\",\n \"ownerNick\": \"浅曦\",\n \"singleChat\": false,\n \"title\": \"浅曦-kida,Dennis,秋画\"\n }\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 942
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-list --limit 10 --cursor 0 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-list",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"conversations\": [\n {\n \"conversationName\": \"AI全栈\",\n \"openConversationId\": \"cidGAcU1FHD+D2n3W6d+SXuhw==\"\n },\n {\n \"conversationName\": \"念晨\",\n \"openConversationId\": \"cidLw95vHkBXGePhIxRvleOUOtxfWW7v5vcWfa2fdxfxyg=\"\n },\n {\n \"conversationName\": \"九韶\",\n \"openConversationId\": \"cidJdiIbpqCvEjbCuwHaHwR4A==\"\n },\n {\n \"conversationName\": \"战友会\",\n \"openConversationId\": \"cidK7s9XRz94DFkk4raOLduFw==\"\n },\n {\n \"conversationName\": \"生煎包\",\n \"openConversationId\": \"cid2CMDRvYP+Aw5ioOfP+se4+txfWW7v5vcWfa2fdxfxyg=\"\n },\n {\n \"conversationName\": \"Wukong & Real 日志群\",\n \"openConversationId\": \"ciddYsoBxGQrFWR5zJ8lnpPBg==\"\n },\n {\n \"conversationName\": \"粤腾\",\n \"openConversationId\": \"cid72F2hVHMoijoL1CvmWp1ImIo0AJKl0bni7qLL0B05PA=\"\n },\n {\n \"conversationName\": \"算法团队全员群\",\n \"openConversationId\": \"cidXMThCvAfn35/JRu/JOr6BA==\"\n },\n {\n \"conversationName\": \"汇量问题反馈✖️skill/mcp\",\n \"openConversationId\": \"cidTm/YDFJ/jgGFYFe3UF6dzA==\"\n },\n {\n \"conversationName\": \"亲橙park舒婷水果优惠1群\",\n \"openConversationId\": \"cid9LvgVwAlIvDBduIER4jFQg==\"\n }\n ],\n \"count\": 10\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2857
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-list-top",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-list-top --limit 10 --cursor 0 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-list-top",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"conversations\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1091
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-list-direct",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-list-direct --user 103262 --time '2026-07-15 10:00:00' --forward --limit 10 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-list-direct",
|
||
"--user",
|
||
"103262",
|
||
"--time",
|
||
"2026-07-15 10:00:00",
|
||
"--forward",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 4,\n \"messages\": [\n {\n \"createTime\": \"2026-07-15 11:02:04\",\n \"messageId\": \"msgmsdyW4xAGL0iXVc9mR4V0g==\",\n \"senderId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"text\": \"[文档](https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO)\\nDWS shortcut 修复复测 20260715:验证 doc +share-doc,请忽略。\"\n },\n {\n \"createTime\": \"2026-07-15 11:01:49\",\n \"messageId\": \"msgj2fRqVeyvOLxrZ5EntlMIA==\",\n \"senderId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"text\": \"DWS shortcut 修复复测 20260715:验证 chat +broadcast,请忽略。\"\n },\n {\n \"createTime\": \"2026-07-15 11:01:34\",\n \"messageId\": \"msgEuOor1PmFBNlx9M06N9z1Q==\",\n \"senderId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"text\": \"DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。\"\n },\n {\n \"createTime\": \"2026-07-15 10:12:31\",\n \"messageId\": \"msg4cdzVyqpmXc9WAxnR3lcYQ==\",\n \"senderId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"text\": \"-1\\nDWS shortcut 真实测试 20260715 日程,可忽略\\nAsia/Shanghai\\ndingtalk://dingtalkclient/action/switchtab?index=1&name=ding&type=calendar&targetDateTime=1784172600000\\n1\\n1784173500000\\n日历使用手册\\n0\\ndingtalk://dingtalkclient/page/calendar_detail?uniqueId=c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09&corpId=ding8196cd9a2b2405da24f2f5cc6abecb85&from=im_card&redirect_url=https%3A%2F%2Fn.dingtalk.com%2Fdingding%2Fcalendar%2Fdetail%2Findex.html%3Fdd_full_screen%3Dtrue%26dd_progress%3Dfalse%26dd_darkmode%3Dtrue%26%26dd_android_full%3Dtrue%26uniqueId%3Dc0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09%26corpId%3Dding8196cd9a2b2405da24f2f5cc6abecb85%26from%3Dim_card\\n0\\n0\\n了解详情\\n1784172600000\\n1\\n439446171\\n1784172600000\\n1784081621092b363beb2-0536-4131-b9ca-935571fca90d\\ndingtalk://dingtalkclient/page/link?url=https%3A%2F%2Falidocs.dingtalk.com%2Fi%2Fp%2FY7kmbokZp3pgGLq2%2Fdocs%2F7Y36k14mK9AV3pKq5zA1J5NqapjblR2D\\nfalse\\n0\\n512653609\\n999\\n1784173500000\\ndingtalk://dingtalkclient/page/calendar_detail?uniqueId=c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09&corpId=ding8196cd9a2b2405da24f2f5cc6abecb85&from=im_card&redirect_url=https%3A%2F%2Fn.dingtalk.com%2Fdingding%2Fcalendar%2Fdetail%2Findex.html%3Fdd_full_screen%3Dtrue%26dd_progress%3Dfalse%26dd_darkmode%3Dtrue%26%26dd_android_full%3Dtrue%26uniqueId%3Dc0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09%26corpId%3Dding8196cd9a2b2405da24f2f5cc6abecb85%26from%3Dim_card\\nc0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1386
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-list-pin",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-list-pin --open-conversation-id cid3Jijzhe2aqs9ysOXjhi05g== --cursor 0 --size 1 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-list-pin",
|
||
"--open-conversation-id",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--cursor",
|
||
"0",
|
||
"--size",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"pins\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1105
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-list-unread-conversations",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-list-unread-conversations --count 1 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-list-unread-conversations",
|
||
"--count",
|
||
"1",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"conversations\": [\n {\n \"conversationId\": \"ciddYsoBxGQrFWR5zJ8lnpPBg==\",\n \"title\": \"Wukong & Real 日志群\"\n }\n ],\n \"count\": 1\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1575
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+my-groups",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +my-groups --type ALL --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+my-groups",
|
||
"--type",
|
||
"ALL",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"groups\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1499
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+unread-chats",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +unread-chats --count 1 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+unread-chats",
|
||
"--count",
|
||
"1",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"conversations\": [\n {\n \"conversationId\": \"ciddYsoBxGQrFWR5zJ8lnpPBg==\",\n \"name\": \"Wukong & Real 日志群\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1649
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+dept-members",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +dept-members --dept '模型算法' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+dept-members",
|
||
"--dept",
|
||
"模型算法",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"deptUserList\": [\n {\n \"userInfo\": {\n \"name\": \"冯铖喆\",\n \"userId\": \"453559\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"何佳瑶\",\n \"userId\": \"548493\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"陈梦媛\",\n \"userId\": \"378607\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"张俊韶\",\n \"userId\": \"030386\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"陈邦杰\",\n \"userId\": \"489149\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"王昊东\",\n \"userId\": \"548778\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"岑锦锋\",\n \"userId\": \"547857\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"彭智韩\",\n \"userId\": \"478801\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"王迎湃\",\n \"userId\": \"543875\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"段旭彬\",\n \"userId\": \"550582\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"牛康佳\",\n \"userId\": \"484887\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"符咏畅\",\n \"userId\": \"519483\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"代成俊\",\n \"userId\": \"167095\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"黄渊卓\",\n \"userId\": \"519019\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"董鑫阳\",\n \"userId\": \"202397\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"崔佳骐\",\n \"userId\": \"534975\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"郑琪欣\",\n \"userId\": \"543310\"\n }\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1539
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-dept-members",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +list-dept-members --depts x --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-dept-members",
|
||
"--depts",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"members\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 965
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-followings",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +list-followings --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-followings",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 13,\n \"followings\": [\n {\n \"openDingTalkId\": \"D1jIqGatuH3UbjK1S0jAZJrukgiPdVtRlZ\"\n },\n {\n \"openDingTalkId\": \"DS8iSxaOjF5pjvmTc3wM85awiEiE\"\n },\n {\n \"openDingTalkId\": \"D1jIqGatuH3UrNUuSZbqakTnUpQ3uwcViS\"\n },\n {\n \"openDingTalkId\": \"D1jIqGatuH3X0M3DbwmJLFJDaK7t2NhxA\"\n },\n {\n \"openDingTalkId\": \"D51G4GOo4SMLvmTc3wM85awiEiE\"\n },\n {\n \"openDingTalkId\": \"DHpuMVMNL77HvmTc3wM85awiEiE\"\n },\n {\n \"openDingTalkId\": \"DO3r8ZwxEZ7iSvmTc3wM85awiEiE\"\n },\n {\n \"openDingTalkId\": \"DbQkLTHgGzOiSvmTc3wM85awiEiE\"\n },\n {\n \"openDingTalkId\": \"D1jIqGatuH3UgB25OaELcBlHqiPGB82YtU\"\n },\n {\n \"openDingTalkId\": \"D8y2OTDIEjFjWZ8DyfnKC9lug4rSiPJt8I\"\n },\n {\n \"openDingTalkId\": \"DepgurAiSOr3bvpshro641ZyKOpvhZI2tI\"\n },\n {\n \"openDingTalkId\": \"DtMlaaX4m2p8qiPOT4eDpd1MUBtiiFg6Xhx\"\n },\n {\n \"openDingTalkId\": \"D1jIqGatuH3U4ekOiiRj3wcvSfoaqqfvEb\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1658
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-role-members",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +list-role-members --id DWSREALREADNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-role-members",
|
||
"--id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"members\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1162
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-roles",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +list-roles --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-roles",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"roles\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1227
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-sub-depts",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +list-sub-depts --dept 842379556 --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-sub-depts",
|
||
"--dept",
|
||
"842379556",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"depts\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1217
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+lookup",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +lookup --name '冬翔' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+lookup",
|
||
"--name",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": [\n {\n \"isAdmin\": true,\n \"orgEmployeeModel\": {\n \"depts\": [\n {\n \"deptId\": 996530034,\n \"deptName\": \"AI终端与创新\"\n }\n ],\n \"jobNumber\": \"103262\",\n \"labels\": [\n {\n \"groupName\": \"默认\",\n \"id\": 2679876691,\n \"name\": \"子管理员\",\n \"tagGroupCode\": \"2679876691\"\n },\n {\n \"groupName\": \"默认\",\n \"id\": 2679876693,\n \"name\": \"主管\",\n \"tagGroupCode\": \"2679876693\"\n }\n ],\n \"orgAuthEmail\": null,\n \"orgId\": null,\n \"orgMasterDisplayName\": \"朱鸿\",\n \"orgMasterUserId\": \"024083\",\n \"orgName\": \"钉钉\",\n \"orgTitle\": \"\",\n \"orgUserId\": \"103262\",\n \"orgUserName\": \"夏东翔\",\n \"positions\": [\n {\n \"deptId\": 996530034,\n \"isMain\": true,\n \"managerDisplayName\": null,\n \"managerStaffId\": null,\n \"title\": null,\n \"workStation\": \"浙江-杭州-阿里中心·杭州未科 \"\n }\n ]\n }\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1698
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+me",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +me --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+me",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"dept\": \"模型算法\",\n \"mobile\": \"13161187007\",\n \"name\": \"董鑫阳\",\n \"org\": \"钉钉\",\n \"userId\": \"202397\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1072
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+org",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +org --name '冬翔' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+org",
|
||
"--name",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": {\n \"deptId\": 996530034,\n \"deptName\": \"AI终端与创新\",\n \"memberCount\": 5\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1627
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+resolve-dept",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +resolve-dept --name '模型算法' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+resolve-dept",
|
||
"--name",
|
||
"模型算法",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"deptId\": \"842379556\",\n \"name\": \"技术平台-模型算法\",\n \"resolved\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1186
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+search-mobile",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +search-mobile --mobile 13000000000 --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+search-mobile",
|
||
"--mobile",
|
||
"13000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"users\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1415
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+search-user",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +search-user --query '测试' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+search-user",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 4,\n \"users\": [\n {\n \"flowerName\": null,\n \"name\": null,\n \"openDingTalkId\": \"Dn3FQ9n3oCiiNviSya2usICjFug4rSiPJt8I\",\n \"title\": null,\n \"userId\": null\n },\n {\n \"flowerName\": null,\n \"name\": null,\n \"openDingTalkId\": \"Dxud965XFNRyGCOG0Bwk0pVug4rSiPJt8I\",\n \"title\": null,\n \"userId\": null\n },\n {\n \"flowerName\": null,\n \"name\": null,\n \"openDingTalkId\": \"D1jIqGatuH3VffnYwNdg1p2LlYiSf05oYii\",\n \"title\": null,\n \"userId\": null\n },\n {\n \"flowerName\": null,\n \"name\": \"测试\",\n \"openDingTalkId\": \"D1jIqGatuH3WSeoELOC89rgTx03b5vNii1\",\n \"title\": \"\",\n \"userId\": \"036230684122903146\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1419
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+team",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +team --name '冬翔' --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+team",
|
||
"--name",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"deptUserList\": [\n {\n \"userInfo\": {\n \"name\": \"黄文杰\",\n \"userId\": \"106261\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"夏东翔\",\n \"userId\": \"103262\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"何伟楠\",\n \"userId\": \"106201\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"汪鑫\",\n \"userId\": \"323179\"\n }\n },\n {\n \"userInfo\": {\n \"name\": \"刘光宇\",\n \"userId\": \"112161\"\n }\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1738
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+event-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +event-list --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --keyword '测试' --cursor '' --page-size 10 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+event-list",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--keyword",
|
||
"测试",
|
||
"--cursor",
|
||
"",
|
||
"--page-size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"events\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1214
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +get --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+get",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"appKey\": \"dingdtqbtxgtn2r5uyge\",\n \"appStatus\": \"normal\",\n \"canDelete\": true,\n \"canUpdate\": true,\n \"creator\": \"董鑫阳\",\n \"desc\": \"DTDennisLobster\",\n \"gmtCreate\": \"2026-03-06 10:41:40\",\n \"gmtModified\": \"2026-03-06 10:41:40\",\n \"icon\": \"@lADPDfmVQafoVxrMyMzI\",\n \"iconUrl\": \"https://i01.lw.aliimg.com/media/lADPDfmVQafoVxrMyMzI_200_200.jpg\",\n \"name\": \"DTDennisLobster\",\n \"supportHarmony\": false,\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\",\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1268
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +list --name 'DWS shortcut 真实测试' --app-key x --app-group-id 1 --creator x --robot-name x --develop-type 1 --filter-cool-app 1 --sort-type x --sort-order x --cursor '' --page-size 10 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+list",
|
||
"--name",
|
||
"DWS shortcut 真实测试",
|
||
"--app-key",
|
||
"x",
|
||
"--app-group-id",
|
||
"1",
|
||
"--creator",
|
||
"x",
|
||
"--robot-name",
|
||
"x",
|
||
"--develop-type",
|
||
"1",
|
||
"--filter-cool-app",
|
||
"1",
|
||
"--sort-type",
|
||
"x",
|
||
"--sort-order",
|
||
"x",
|
||
"--cursor",
|
||
"",
|
||
"--page-size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"apps\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 8524
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+member-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +member-list --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+member-list",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"members\": [\n {\n \"memberType\": \"OWNER\",\n \"name\": \"董鑫阳\",\n \"userId\": \"202397\"\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1404
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+permission-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +permission-list --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --keyword '测试' --auth-status ALL --cursor '' --page-size 10 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+permission-list",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--keyword",
|
||
"测试",
|
||
"--auth-status",
|
||
"ALL",
|
||
"--cursor",
|
||
"",
|
||
"--page-size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"permissions\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1578
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+robot-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +robot-get --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+robot-get",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"configured\": false,\n \"message\": \"应用未配置机器人。\",\n \"robotStatus\": \"UNCONFIGURED\",\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1204
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-check-approval",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +version-check-approval --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --version-id 4743accb-45e2-4bc9-8c96-74fc62ace2e8 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-check-approval",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--version-id",
|
||
"4743accb-45e2-4bc9-8c96-74fc62ace2e8",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"approvalCandidates\": [\n {\n \"mainAdmin\": false,\n \"name\": \"王军\",\n \"userId\": \"084896\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"尤坤\",\n \"userId\": \"425982\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"贺汝坤\",\n \"userId\": \"453209\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"倪爽\",\n \"userId\": \"443841\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"谢传贵\",\n \"userId\": \"014823\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"史伟民\",\n \"userId\": \"188288\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"郭迪\",\n \"userId\": \"452337\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"周子杰\",\n \"userId\": \"312753\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"刘畅\",\n \"userId\": \"068373\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"张磊\",\n \"userId\": \"371811\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"霍俊龙\",\n \"userId\": \"068428\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"李晓军\",\n \"userId\": \"004897\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"姚海龙\",\n \"userId\": \"107578\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王丽丽\",\n \"userId\": \"246929\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"李恺杰\",\n \"userId\": \"272720\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"夏东翔\",\n \"userId\": \"103262\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"朱鸿\",\n \"userId\": \"024083\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"叶冬\",\n \"userId\": \"371817\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"任卿\",\n \"userId\": \"006792\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"彭家俊\",\n \"userId\": \"225893\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"刘蓓蓓\",\n \"userId\": \"074268\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王耀波\",\n \"userId\": \"220629\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"夏烈阳\",\n \"userId\": \"176371\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"魏玉科\",\n \"userId\": \"061331\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"张晨阳\",\n \"userId\": \"244717\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"李祎嵩\",\n \"userId\": \"238863\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"吕思霖\",\n \"userId\": \"193021\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"宋宜涛\",\n \"userId\": \"037168\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"李红军\",\n \"userId\": \"133206\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"沈运亮\",\n \"userId\": \"101595\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"桂明月\",\n \"userId\": \"077725\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"吴芳祥\",\n \"userId\": \"074360\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"赵召航\",\n \"userId\": \"044473\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"黄文奇\",\n \"userId\": \"270175\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"董金威\",\n \"userId\": \"085729\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"孙博文\",\n \"userId\": \"034766\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"朱通\",\n \"userId\": \"327979\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王帅军\",\n \"userId\": \"061731\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王海旭\",\n \"userId\": \"273048\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"欧阳德仁\",\n \"userId\": \"167272\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"冯汝伟\",\n \"userId\": \"124456\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"刘啸天\",\n \"userId\": \"314418\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"杨期\",\n \"userId\": \"028611\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"宋华青\",\n \"userId\": \"054469\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"俞福春\",\n \"userId\": \"424920\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"汤素文\",\n \"userId\": \"088045\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王摧\",\n \"userId\": \"141842\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王鸣霏\",\n \"userId\": \"184163\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王兵\",\n \"userId\": \"135976\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"周剑云\",\n \"userId\": \"164217\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"沈国勋\",\n \"userId\": \"026247\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"高阿娜\",\n \"userId\": \"001423\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"王森\",\n \"userId\": \"045981\"\n },\n {\n \"mainAdmin\": false,\n \"name\": \"林朋\",\n \"userId\": \"236891\"\n }\n ],\n \"approvalMode\": \"SELECT_APPROVER\",\n \"approvalSubmitted\": false,\n \"publishable\": false,\n \"published\": false,\n \"requiresApproval\": true,\n \"sensitive\": false,\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\",\n \"version\": \"1.0.0\",\n \"versionId\": \"4743accb-45e2-4bc9-8c96-74fc62ace2e8\",\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2081
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +version-get --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --version-id 4743accb-45e2-4bc9-8c96-74fc62ace2e8 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-get",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--version-id",
|
||
"4743accb-45e2-4bc9-8c96-74fc62ace2e8",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"abilityList\": [],\n \"approvalMode\": \"SELECT_APPROVER\",\n \"description\": \"1.0.0\",\n \"enterpriseSelfBuiltAudit\": false,\n \"gmtCreate\": \"2026-03-06 10:43:01\",\n \"requiresApproval\": true,\n \"scopeList\": [\n \"qyapi_robot_sendmsg\",\n \"Card.Instance.Write\",\n \"Card.Streaming.Write\"\n ],\n \"sensitiveScopeList\": [],\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\",\n \"version\": \"1.0.0\",\n \"versionId\": \"4743accb-45e2-4bc9-8c96-74fc62ace2e8\",\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1738
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +version-list --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --cursor '' --page-size 10 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-list",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--cursor",
|
||
"",
|
||
"--page-size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"versions\": [\n {\n \"desc\": \"1.0.0\",\n \"gmtCreate\": 1772764981000,\n \"status\": \"INIT\",\n \"version\": \"1.0.0\",\n \"versionId\": \"4743accb-45e2-4bc9-8c96-74fc62ace2e8\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1349
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-status",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +version-status --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --version-id 4743accb-45e2-4bc9-8c96-74fc62ace2e8 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-status",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--version-id",
|
||
"4743accb-45e2-4bc9-8c96-74fc62ace2e8",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\",\n \"version\": \"1.0.0\",\n \"versionId\": \"4743accb-45e2-4bc9-8c96-74fc62ace2e8\",\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2272
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+webapp-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +webapp-get --unified-app-id 678f27ec-4339-49d8-9c49-371b284bf552 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+webapp-get",
|
||
"--unified-app-id",
|
||
"678f27ec-4339-49d8-9c49-371b284bf552",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"configured\": false,\n \"message\": \"未配置网页应用入口,请使用 webapp config 设置 homepageUrl、pcHomepageUrl 或 ompUrl。\",\n \"unifiedAppId\": \"678f27ec-4339-49d8-9c49-371b284bf552\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1576
|
||
},
|
||
{
|
||
"service": "ding",
|
||
"command": "+list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test ding +list --cursor 0 --type ALL --yes --format json",
|
||
"args": [
|
||
"ding",
|
||
"+list",
|
||
"--cursor",
|
||
"0",
|
||
"--type",
|
||
"ALL",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"dingMessages\": [\n {\n \"openDingId\": \"5D73E3AC29C780072D1CD56C6874ACC2\",\n \"sendTime\": \"2026-07-14 20:30:06\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"6DE6EC00AEBEF6839CA5F309371550DA\",\n \"sendTime\": \"2026-07-10 16:17:20\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"4DE0B0D90A94683CE1A9E12CBBB82883\",\n \"sendTime\": \"2026-07-10 12:38:47\",\n \"senderNick\": \"思敏\"\n },\n {\n \"openDingId\": \"B1CF538F2A3CAD8F78E863BCFF10E90F\",\n \"sendTime\": \"2026-07-10 11:47:07\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"72D79962A868374366AF4FCA6946D49F\",\n \"sendTime\": \"2026-07-10 11:44:27\",\n \"senderNick\": \"汀葻\"\n },\n {\n \"openDingId\": \"A290A8F6D35CC8E712E3E4C30D915263\",\n \"sendTime\": \"2026-07-10 11:10:52\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"7B7BA69E68F85A3948B70A1BD79C9DF2\",\n \"sendTime\": \"2026-07-09 20:43:36\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"0D59FF6F871900140BD65422184C410C\",\n \"sendTime\": \"2026-07-09 17:25:36\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"B6072FCC82D85A343EE7834A70293F09\",\n \"sendTime\": \"2026-07-09 16:37:54\",\n \"senderNick\": \"王玮(哈瑞)\"\n },\n {\n \"openDingId\": \"91DFBF0D54B7A0DCC8F7EAF58560586C\",\n \"sendTime\": \"2026-07-09 15:17:19\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"EA1F2A52C13954855A3D0D7A32A973F6\",\n \"sendTime\": \"2026-07-09 11:52:15\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"340C8FD58735886D44B5EA46921F8AAD\",\n \"sendTime\": \"2026-07-07 11:48:58\",\n \"senderNick\": \"穆伦\"\n },\n {\n \"openDingId\": \"A389AD2799303C13C15BB6EF014D3B39\",\n \"sendTime\": \"2026-07-07 11:34:34\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"A26385411682C6C5042D775B25DA8F08\",\n \"sendTime\": \"2026-07-06 11:37:05\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"C42A8B86D5453197F79645460E0B7A99\",\n \"sendTime\": \"2026-07-03 17:41:43\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"5AEF5D3CF756F23345F86FF5E7544E73\",\n \"sendTime\": \"2026-07-03 15:40:52\",\n \"senderNick\": \"楠者\"\n },\n {\n \"openDingId\": \"EA0E39C793A943797EEDEA9B00740A72\",\n \"sendTime\": \"2026-07-03 14:40:23\",\n \"senderNick\": \"粤腾\"\n },\n {\n \"openDingId\": \"753EC85C1FA6E50D82EB5C19940F340E\",\n \"sendTime\": \"2026-07-02 20:26:38\",\n \"senderNick\": \"思敏\"\n },\n {\n \"openDingId\": \"782B702452A410EC6D30ADC9D4E95FDB\",\n \"sendTime\": \"2026-07-02 09:49:45\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"983C2C5A65CAE1A86D8C6BC272E73D11\",\n \"sendTime\": \"2026-07-02 09:48:09\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"40B84F9DF18DE299C2B2D712E7D01114\",\n \"sendTime\": \"2026-06-29 17:59:37\",\n \"senderNick\": \"穆伦\"\n },\n {\n \"openDingId\": \"F799B63D8EDDB7915C80159BD355704F\",\n \"sendTime\": \"2026-06-25 19:53:17\",\n \"senderNick\": \"文靖\"\n },\n {\n \"openDingId\": \"33C1238264ACA098634569396F60EE7A\",\n \"sendTime\": \"2026-06-25 18:10:19\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"2A05EE1E37F7EB023C3146819156E9A8\",\n \"sendTime\": \"2026-06-25 11:49:24\",\n \"senderNick\": \"穆伦\"\n },\n {\n \"openDingId\": \"29FBFA46D6F07ED25378F2871E24A1DC\",\n \"sendTime\": \"2026-06-24 12:00:32\",\n \"senderNick\": \"云欢\"\n },\n {\n \"openDingId\": \"2CE4C4F3EE8C332884FA1673C064921C\",\n \"sendTime\": \"2026-06-22 20:47:14\",\n \"senderNick\": \"黎常\"\n },\n {\n \"openDingId\": \"8A2B1A1F7E508B2F08A52FEDD9365843\",\n \"sendTime\": \"2026-06-18 13:41:19\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"7F7671C7853D88C92DE6EE0A671CB57B\",\n \"sendTime\": \"2026-06-17 10:52:34\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"9539E8D27A51F204197E326F94650279\",\n \"sendTime\": \"2026-06-16 11:50:18\",\n \"senderNick\": \"穆伦\"\n },\n {\n \"openDingId\": \"DE9E8FAFC8125BC715B999AC4267E2CA\",\n \"sendTime\": \"2026-06-15 21:35:40\",\n \"senderNick\": \"西渐(主用钉)\"\n },\n {\n \"openDingId\": \"A5D83E673DC5A97F38D95F3E135C7824\",\n \"sendTime\": \"2026-06-12 22:08:36\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"5360613B1FC2389E8435CFABC57CC012\",\n \"sendTime\": \"2026-06-12 13:51:21\",\n \"senderNick\": \"鱼非\"\n },\n {\n \"openDingId\": \"3AB6395324A62CB2B4B513D0A02F67FA\",\n \"sendTime\": \"2026-06-11 11:23:39\",\n \"senderNick\": \"徐潇扬\"\n },\n {\n \"openDingId\": \"FB9FB2808D6ADF7464F5F1ACBA8A6704\",\n \"sendTime\": \"2026-06-11 09:51:55\",\n \"senderNick\": \"徐潇扬\"\n },\n {\n \"openDingId\": \"4D094E702716D4A46015CDC12B8F216B\",\n \"sendTime\": \"2026-06-10 22:04:05\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"74E2B3EB36EE99E6D88744F6B2C4C265\",\n \"sendTime\": \"2026-06-10 18:14:48\",\n \"senderNick\": \"古榕\"\n },\n {\n \"openDingId\": \"CAEF5614C47B65CDF10AED44BDFC7D9F\",\n \"sendTime\": \"2026-06-10 16:02:42\",\n \"senderNick\": \"徐潇扬\"\n },\n {\n \"openDingId\": \"F2C3A0F51AC502E84AECB932C227AAED\",\n \"sendTime\": \"2026-06-09 17:43:20\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"8AB2C3B891D931D8D650D41CA6205BCE\",\n \"sendTime\": \"2026-06-09 15:50:23\",\n \"senderNick\": \"可菡\"\n },\n {\n \"openDingId\": \"0456CE6A50FD2902B68D772DA37A96BC\",\n \"sendTime\": \"2026-06-09 09:45:43\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"6CB0E9E1D2CC344CB9217C97550BC6C6\",\n \"sendTime\": \"2026-06-08 21:42:37\",\n \"senderNick\": \"林弈\"\n },\n {\n \"openDingId\": \"0DEFB0942003A059C230BE1D262CAC8C\",\n \"sendTime\": \"2026-06-08 21:27:39\",\n \"senderNick\": \"林弈\"\n },\n {\n \"openDingId\": \"6B600C709E7468700F208B5DBB7ED888\",\n \"sendTime\": \"2026-06-08 15:42:05\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"B3502CC153C09A27AADE63A0BDF94C4A\",\n \"sendTime\": \"2026-06-05 17:38:44\",\n \"senderNick\": \"慧德\"\n },\n {\n \"openDingId\": \"07EC05F3E019605304D3C8216C6F7A32\",\n \"sendTime\": \"2026-06-05 17:19:52\",\n \"senderNick\": \"弈宇(Alpha)\"\n },\n {\n \"openDingId\": \"1C25016699ADE6DE66C6C9ECAE8C83B2\",\n \"sendTime\": \"2026-06-05 14:46:54\",\n \"senderNick\": \"弈宇(Alpha)\"\n },\n {\n \"openDingId\": \"AF79C95530607985A95866F7DE45F45E\",\n \"sendTime\": \"2026-06-05 14:39:48\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"4BFEE560E26AA24C1966A4D6EB722B89\",\n \"sendTime\": \"2026-06-05 09:28:42\",\n \"senderNick\": \"慧德\"\n },\n {\n \"openDingId\": \"B7F170045D3C6CC9D37DE356276BF084\",\n \"sendTime\": \"2026-06-04 23:07:57\",\n \"senderNick\": \"念晨\"\n },\n {\n \"openDingId\": \"A04A3D9659BD8FBDCF0C5E28EB2314F7\",\n \"sendTime\": \"2026-06-04 17:30:21\",\n \"senderNick\": \"念晨\"\n }\n ],\n \"hasMore\": true,\n \"nextCursor\": 1780565411433\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1459
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+comment-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +comment-list --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --limit 10 --type global --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+comment-list",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--limit",
|
||
"10",
|
||
"--type",
|
||
"global",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"commentList\": [\n {\n \"commentKey\": \"1784082136009b316ba6c48ad41ad92a8b6905406a17c\",\n \"content\": \"DWS shortcut 真实测试 20260715:验证 doc +comment-create,可忽略。\",\n \"createTime\": 1784082136009,\n \"isGlobal\": true,\n \"isSolved\": false,\n \"quote\": null,\n \"updateTime\": 1784082136009\n },\n {\n \"commentKey\": \"1784082170012979f5c547f7a49e88a6c1dd718bbb304\",\n \"content\": \"DWS shortcut 真实测试 20260715:验证 doc +comment-reply,可忽略。\",\n \"createTime\": 1784082170012,\n \"isGlobal\": true,\n \"isSolved\": false,\n \"quote\": null,\n \"updateTime\": 1784082170012\n }\n ],\n \"hasMore\": false,\n \"logId\": \"213ee25c17840994077796280e0923\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2579
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+export-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +export-get --job-id 29346731713 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+export-get",
|
||
"--job-id",
|
||
"29346731713",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"downloadUrl\": \"[REDACTED_OSS_URL]\",\n \"jobId\": \"29346731713\",\n \"logId\": \"2132f5ca17840994092582121e08d9\",\n \"message\": \"Export job completed. The file is ready for download via the downloadUrl.\",\n \"status\": \"success\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1379
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+export-submit",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +export-submit --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --export-format docx --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+export-submit",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--export-format",
|
||
"docx",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"jobId\": \"29346731713\",\n \"logId\": \"2132f5ca17840994104887005e08d8\",\n \"message\": \"Export job submitted successfully. Use query_export_job with jobId '29346731713' to check the export status and get the download link.\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1573
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+find-doc",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +find-doc --query '测试' --limit 10 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+find-doc",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"documents\": [\n {\n \"title\": \"DWS shortcut 真实测试文档 20260715\",\n \"token\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO?utm_scene=person_space\"\n },\n {\n \"title\": \"🧪测试 工作区目录扫描 - 2026-04-27 21:27:03\",\n \"token\": \"yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试 -20260414\",\n \"token\": \"3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试(25)\",\n \"token\": \"QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试(5)\",\n \"token\": \"Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试(24)\",\n \"token\": \"OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试(22)\",\n \"token\": \"OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"title\": \"文件扫描测试(26)(2)\",\n \"token\": \"l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4?utm_scene=person_space\"\n },\n {\n \"title\": \"悟空DWS全部测试账号信息\",\n \"token\": \"X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ?utm_scene=team_space\"\n },\n {\n \"title\": \"测试\",\n \"token\": \"1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE\",\n \"type\": \"\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE?utm_scene=team_space\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2146
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +list --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --limit 10 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+list",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"nodes\": [\n {\n \"name\": \"DWS shortcut 真实测试文档 20260715(2)\",\n \"nodeId\": \"np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l?utm_scene=person_space\"\n },\n {\n \"name\": \"DWS shortcut 真实测试文档 20260715\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO?utm_scene=person_space\"\n },\n {\n \"name\": \"DWS shortcut 真实测试文档 20260715(1)\",\n \"nodeId\": \"7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3?utm_scene=person_space\"\n },\n {\n \"name\": \"知识库对接调研问卷-供各业务系统填写\",\n \"nodeId\": \"R4GpnMqJzOP0oLp6skZ0Kmvp8Ke0xjE3\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/R4GpnMqJzOP0oLp6skZ0Kmvp8Ke0xjE3?utm_scene=person_space\"\n },\n {\n \"name\": \"无标题文档(2)\",\n \"nodeId\": \"X6GRezwJlYxMoDeBsgX95gYj8dqbropQ\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/X6GRezwJlYxMoDeBsgX95gYj8dqbropQ?utm_scene=person_space\"\n },\n {\n \"name\": \"hi\",\n \"nodeId\": \"1zknDm0WRz0NZeXQu01lGOdmWBQEx5rG\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/1zknDm0WRz0NZeXQu01lGOdmWBQEx5rG?utm_scene=person_space\"\n },\n {\n \"name\": \"T(2)\",\n \"nodeId\": \"dxXB52LJqwZrolvyFKLy25D9WqjMp697\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/dxXB52LJqwZrolvyFKLy25D9WqjMp697?utm_scene=person_space\"\n },\n {\n \"name\": \"T(1)\",\n \"nodeId\": \"mweZ92PV6O36dZbnsML6RyaAJxEKBD6p\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/mweZ92PV6O36dZbnsML6RyaAJxEKBD6p?utm_scene=person_space\"\n },\n {\n \"name\": \"T\",\n \"nodeId\": \"4lgGw3P8vwYmoljyFg90Z2X9W5daZ90D\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/4lgGw3P8vwYmoljyFg90Z2X9W5daZ90D?utm_scene=person_space\"\n },\n {\n \"name\": \"念晨与hugozhu的会话 2026年06月22日\",\n \"nodeId\": \"GZLxjv9VGGDA9Ro2u6yKZ7BxV6EDybno\",\n \"nodeType\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2u6yKZ7BxV6EDybno?utm_scene=person_space\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2075
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +search --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+search",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"documents\": [\n {\n \"docType\": \"adoc\",\n \"modifiedTime\": null,\n \"name\": \"DWS shortcut 真实测试文档 20260715\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"🧪测试 工作区目录扫描 - 2026-04-27 21:27:03\",\n \"nodeId\": \"yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试 -20260414\",\n \"nodeId\": \"3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试(25)\",\n \"nodeId\": \"QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试(5)\",\n \"nodeId\": \"Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试(24)\",\n \"nodeId\": \"OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试(22)\",\n \"nodeId\": \"OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"docType\": \"able\",\n \"modifiedTime\": null,\n \"name\": \"文件扫描测试(26)(2)\",\n \"nodeId\": \"l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4?utm_scene=person_space\"\n },\n {\n \"docType\": \"adoc\",\n \"modifiedTime\": null,\n \"name\": \"悟空DWS全部测试账号信息\",\n \"nodeId\": \"X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ?utm_scene=team_space\"\n },\n {\n \"docType\": \"folder\",\n \"modifiedTime\": null,\n \"name\": \"测试\",\n \"nodeId\": \"1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE?utm_scene=team_space\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1911
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+template-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +template-list --source MY --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+template-list",
|
||
"--source",
|
||
"MY",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"hasMore\": false,\n \"logId\": \"213ee25c17840994183018652e08e2\",\n \"message\": \"成功获取 3 个模版。\",\n \"success\": true,\n \"templates\": [\n {\n \"coverUrl\": \"[REDACTED_OSS_URL]\",\n \"description\": null,\n \"templateId\": \"494040872345\",\n \"title\": \"接口定义模版v1.0\",\n \"usedCount\": null\n },\n {\n \"coverUrl\": \"[REDACTED_OSS_URL]\",\n \"description\": null,\n \"templateId\": \"494801282345\",\n \"title\": \"接口定义与描述模版\",\n \"usedCount\": null\n },\n {\n \"coverUrl\": \"[REDACTED_OSS_URL]\",\n \"description\": null,\n \"templateId\": \"111001402345\",\n \"title\": \"2023届钉钉音视频春招海报\",\n \"usedCount\": null\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1370
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+template-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +template-search --query '测试' --source MY --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+template-search",
|
||
"--query",
|
||
"测试",
|
||
"--source",
|
||
"MY",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"hasMore\": false,\n \"logId\": \"213ee25c17840994199004331e08a0\",\n \"message\": \"未找到与「测试」相关的模版,请尝试其他关键词。\",\n \"success\": true,\n \"templates\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1576
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+version-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +version-list --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+version-list",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"hasMore\": false,\n \"success\": true,\n \"versions\": [\n {\n \"createTime\": \"2026-07-15T10:21:47+08:00\",\n \"type\": \"AUTO_SAVE\",\n \"updateTime\": \"2026-07-15T10:21:47+08:00\",\n \"userId\": \"202397\",\n \"version\": 0\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2069
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+find-file",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +find-file --query '测试' --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+find-file",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"files\": [\n {\n \"dentryId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"fileSize\": 0,\n \"name\": \"DWS shortcut 真实测试文档 20260715\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r\",\n \"fileSize\": 0,\n \"name\": \"🧪测试 工作区目录扫描 - 2026-04-27 21:27:03\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试 -20260414\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试(25)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试(5)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试(24)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试(22)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4\",\n \"fileSize\": 0,\n \"name\": \"文件扫描测试(26)(2)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"fileSize\": 0,\n \"name\": \"DWS shortcut 真实测试文档 20260715(2)\",\n \"type\": \"ALIDOC\"\n },\n {\n \"dentryId\": \"7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"fileSize\": 0,\n \"name\": \"DWS shortcut 真实测试文档 20260715(1)\",\n \"type\": \"ALIDOC\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1913
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+info",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +info --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --space-id 1 --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+info",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--space-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"createTime\": 1784082107000,\n \"dentryId\": \"228840832141\",\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"extension\": \"adoc\",\n \"fileId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"fileSize\": 0,\n \"message\": \"该文件属于钉钉文档(在线文档/表格/脑图等),通过钉盘接口获取的元数据(如文件名称)可能不准确。建议使用钉钉文档相关接口获取更准确的文档信息。\",\n \"modifyTime\": 1784082137000,\n \"name\": \"7691256802.adoc\",\n \"path\": \"/6342122716/7691256801/7691256802.adoc\",\n \"status\": \"NORMAL\",\n \"type\": \"ALIDOC\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2605
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+recent",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +recent --operate-type 1 --creator-type 1 --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+recent",
|
||
"--operate-type",
|
||
"1",
|
||
"--creator-type",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"hasMore\": false,\n \"items\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2087
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +search --query '测试' --target file --file-types alidoc --extensions x --creator-uids x --created-from 1 --created-to 1 --modified-from 1 --modified-to 1 --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+search",
|
||
"--query",
|
||
"测试",
|
||
"--target",
|
||
"file",
|
||
"--file-types",
|
||
"alidoc",
|
||
"--extensions",
|
||
"x",
|
||
"--creator-uids",
|
||
"x",
|
||
"--created-from",
|
||
"1",
|
||
"--created-to",
|
||
"1",
|
||
"--modified-from",
|
||
"1",
|
||
"--modified-to",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"files\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2091
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+search-docs",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +search-docs --query '测试' --limit 10 --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+search-docs",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"docs\": [\n {\n \"name\": \"DWS shortcut 真实测试文档 20260715\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO?utm_scene=person_space\"\n },\n {\n \"name\": \"🧪测试 工作区目录扫描 - 2026-04-27 21:27:03\",\n \"nodeId\": \"yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/yQod3RxJKQz4jm9xS4kw7dnmWkb4Mw9r?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试 -20260414\",\n \"nodeId\": \"3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/3NwLYZXWyrmRolXLcZ7QaMDkVkyEqBQm?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试(25)\",\n \"nodeId\": \"QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/QPGYqjpJYRyab0nxsZ7a9L5R8akx1Z5N?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试(5)\",\n \"nodeId\": \"Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/Exel2BLV5gOAdXr1umNwXGBA8gk9rpMq?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试(24)\",\n \"nodeId\": \"OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzqYlPzmJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试(22)\",\n \"nodeId\": \"OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/OG9lyrgJPL7M2ONQSzQ4k0bRJzN67Mw4?utm_scene=person_space\"\n },\n {\n \"name\": \"文件扫描测试(26)(2)\",\n \"nodeId\": \"l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/l6Pm2Db8DQyAKmGkS90GX4ndWxLq0Ee4?utm_scene=person_space\"\n },\n {\n \"name\": \"悟空DWS全部测试账号信息\",\n \"nodeId\": \"X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ\",\n \"type\": \"file\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/X6GRezwJlYxMoDeBsQkxqNQ38dqbropQ?utm_scene=team_space\"\n },\n {\n \"name\": \"测试\",\n \"nodeId\": \"1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE\",\n \"type\": \"folder\",\n \"url\": \"https://alidocs.dingtalk.com/i/nodes/1OQX0akWmBejogd0TvQ7oN4oVGlDd3mE?utm_scene=team_space\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2507
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+contact-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +contact-list --email xinyang.dxy@alibaba-inc.com --limit 10 --cursor '' --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+contact-list",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"contacts\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3284
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+find-mail-user",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +find-mail-user --query '董鑫阳' --limit 10 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+find-mail-user",
|
||
"--query",
|
||
"董鑫阳",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"users\": [\n {\n \"email\": \"xinyang.dxy@alibaba-inc.com\",\n \"employeeNo\": \"202397\",\n \"id\": \"----.l------oBfPl:0:----HI-----HWk9nI\",\n \"jobTitle\": \"\",\n \"name\": \"董鑫阳\",\n \"nickname\": \"念晨\",\n \"workLocation\": \"浙江-杭州\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3666
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+folder-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +folder-list --email xinyang.dxy@alibaba-inc.com --folder 2 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+folder-list",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--folder",
|
||
"2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"folders\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3643
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+recent-mail",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +recent-mail --limit 10 --email xinyang.dxy@alibaba-inc.com --folder 2 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+recent-mail",
|
||
"--limit",
|
||
"10",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--folder",
|
||
"2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 10,\n \"mails\": [\n {\n \"date\": \"2026-07-15T06:37:28Z\",\n \"from\": [\n \"work@alibaba-inc.com\"\n ],\n \"subject\": \"牛康佳(随风)的数据权限申请流程 / NIU, Kangjia's apply data permission \",\n \"threadId\": \"DzzzzyJeBJL---.iLmnRnm\"\n },\n {\n \"date\": \"2026-07-15T06:35:49Z\",\n \"from\": [\n \"work@alibaba-inc.com\"\n ],\n \"subject\": \"changefree:diamond应用【albert-agent-2】变更 \",\n \"threadId\": \"DzzzzyJo3ZK---.hyYf9dO\"\n },\n {\n \"date\": \"2026-07-15T06:00:39Z\",\n \"from\": [\n \"安全服务中心 <snotice@alibaba-inc.com>\"\n ],\n \"subject\": \"您的名下有1个风险尚未修复,请立即修复! You have 1 vulnerabilities that have not been fixed, please fix them as soon as possible!\",\n \"threadId\": \"DzzzzyKaAwA---.g643XXa\"\n },\n {\n \"date\": \"2026-07-15T05:48:41Z\",\n \"from\": [\n \"aone@alibaba-inc.com <aone@alibaba-inc.com>\"\n ],\n \"subject\": \"[Aone]应用albert-agent-2预发发布成功\",\n \"threadId\": \"DzzzzyJi7OS---.iCFAI0A\"\n },\n {\n \"date\": \"2026-07-15T02:54:00Z\",\n \"from\": [\n \"work@alibaba-inc.com\"\n ],\n \"subject\": \"代成俊(璟琦)的数据权限申请流程 / DAI, Chengjun's apply data permission \",\n \"threadId\": \"DzzzzyKTIMD---.gOEBekI\"\n },\n {\n \"date\": \"2026-07-15T02:51:12Z\",\n \"from\": [\n \"work@alibaba-inc.com\"\n ],\n \"subject\": \"陈梦媛(星莫)的数据权限申请流程 / CHEN, Mengyuan's apply data permission \",\n \"threadId\": \"DzzzzyKIHke---.goV93L.\"\n },\n {\n \"date\": \"2026-07-15T02:06:21Z\",\n \"from\": [\n \"dingtalk_recruitment@alibaba-inc.com\"\n ],\n \"subject\": \"【校招】简历即将超期/[Campus Recruitment] Resumes Are About to Expire\",\n \"threadId\": \"DzzzzyJjBhI---.i911RPE\"\n },\n {\n \"date\": \"2026-07-15T02:00:05Z\",\n \"from\": [\n \"dingtalk_recruitment@alibaba-inc.com\"\n ],\n \"subject\": \"【校招】2026-07-15 面试邀约任务通知/【Campus Recruitment】 2026-07-15 Interview Invitation Task Notice\",\n \"threadId\": \"DzzzzyJeFNO---.iLVkwOD\"\n },\n {\n \"date\": \"2026-07-15T01:42:44Z\",\n \"from\": [\n \"ATA技小蜜 <ATA@alibaba-inc.com>\"\n ],\n \"subject\": \"【ATA每日精选】【天猫数字分身】(上篇) - AI Native 组织协作与研发的暗物质\",\n \"threadId\": \"DzzzzyJeFdf---.iLWDlI4\"\n },\n {\n \"date\": \"2026-07-14T18:24:45Z\",\n \"from\": [\n \"postmaster@alibaba-inc.com\"\n ],\n \"subject\": \"垃圾邮件提醒2026年7月15日\",\n \"threadId\": \"DzzzzyJeM2G---.iLDMDRq\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2724
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+search-mail",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +search-mail --query 'subject:测试' --email xinyang.dxy@alibaba-inc.com --size 10 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+search-mail",
|
||
"--query",
|
||
"subject:测试",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"email\": \"xinyang.dxy@alibaba-inc.com\",\n \"messages\": [\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNklS\",\n \"subject\": \"[Aone]实验室[lippi-calladmin单元测试]的构建[#1723]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkml\",\n \"subject\": \"[Aone]实验室[mozi-engine-admin单元测试-Jacoco]的构建[#2611]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNknb\",\n \"subject\": \"[Aone]实验室[lippi-calladmin单元测试]的构建[#1646]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkoy\",\n \"subject\": \"[Aone]实验室[mozi-engine-admin单元测试-Jacoco]的构建[#2609]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkp.\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1498]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkp0\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1497]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkpJ\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1493]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkpL\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1492]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkph\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1491]失败\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkpj\",\n \"subject\": \"[Aone]实验室[mozi-channel-admin-单元测试]的构建[#1490]失败\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1985
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+tag-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +tag-list --email xinyang.dxy@alibaba-inc.com --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+tag-list",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 3,\n \"tags\": [\n {\n \"id\": \"1\",\n \"name\": \"Flagged\",\n \"parentId\": \"0\"\n },\n {\n \"id\": \"2\",\n \"name\": \"Completed\",\n \"parentId\": \"0\"\n },\n {\n \"id\": \"3\",\n \"name\": \"task\",\n \"parentId\": \"0\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2606
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+template-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +template-list --email xinyang.dxy@alibaba-inc.com --limit 10 --cursor '' --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+template-list",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"templates\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3083
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+thread-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +thread-list --email xinyang.dxy@alibaba-inc.com --folder 2 --limit 10 --cursor '' --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --ascending --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+thread-list",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--folder",
|
||
"2",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--ascending",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"threads\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 6434
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+unread-mail",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +unread-mail --email xinyang.dxy@alibaba-inc.com --size 10 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+unread-mail",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"email\": \"xinyang.dxy@alibaba-inc.com\",\n \"messages\": [\n {\n \"date\": null,\n \"from\": \"work@alibaba-inc.com\",\n \"messageId\": \"DzzzzzzNkk0\",\n \"subject\": \"牛康佳(随风)的数据权限申请流程 / NIU, Kangjia's apply data permission \"\n },\n {\n \"date\": null,\n \"from\": \"work@alibaba-inc.com\",\n \"messageId\": \"DzzzzzzNkk1\",\n \"subject\": \"changefree:diamond应用【albert-agent-2】变更 \"\n },\n {\n \"date\": null,\n \"from\": \"安全服务中心 <snotice@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkk2\",\n \"subject\": \"您的名下有1个风险尚未修复,请立即修复! You have 1 vulnerabilities that have not been fixed, please fix them as soon as possible!\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkk3\",\n \"subject\": \"[Aone]应用albert-agent-2预发发布成功\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkk4\",\n \"subject\": \"[Aone]应用albert-agent-2预发发布成功\"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkk5\",\n \"subject\": \"[Aone]应用albert-agent-2预发发布成功\"\n },\n {\n \"date\": null,\n \"from\": \"work@alibaba-inc.com\",\n \"messageId\": \"DzzzzzzNkk6\",\n \"subject\": \"代成俊(璟琦)的数据权限申请流程 / DAI, Chengjun's apply data permission \"\n },\n {\n \"date\": null,\n \"from\": \"work@alibaba-inc.com\",\n \"messageId\": \"DzzzzzzNkk7\",\n \"subject\": \"陈梦媛(星莫)的数据权限申请流程 / CHEN, Mengyuan's apply data permission \"\n },\n {\n \"date\": null,\n \"from\": \"aone@alibaba-inc.com <aone@alibaba-inc.com>\",\n \"messageId\": \"DzzzzzzNkk8\",\n \"subject\": \"[Aone]应用albert-agent-2预发发布成功\"\n },\n {\n \"date\": null,\n \"from\": \"dingtalk_recruitment@alibaba-inc.com\",\n \"messageId\": \"DzzzzzzNkk9\",\n \"subject\": \"【校招】简历即将超期/[Campus Recruitment] Resumes Are About to Expire\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3469
|
||
},
|
||
{
|
||
"service": "mail",
|
||
"command": "+user-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test mail +user-search --keyword '董鑫阳' --employee-no 202397 --email xinyang.dxy@alibaba-inc.com --cursor '' --limit 10 --yes --format json",
|
||
"args": [
|
||
"mail",
|
||
"+user-search",
|
||
"--keyword",
|
||
"董鑫阳",
|
||
"--employee-no",
|
||
"202397",
|
||
"--email",
|
||
"xinyang.dxy@alibaba-inc.com",
|
||
"--cursor",
|
||
"",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"users\": [\n {\n \"email\": \"xinyang.dxy@alibaba-inc.com\",\n \"employeeNo\": \"202397\",\n \"name\": \"董鑫阳\",\n \"userId\": \"----.l------oBfPl:0:----HI-----HWk9nI\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2836
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+detail",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +detail --id DWSREALREADNOSUCHID0000000000000 --artifacts basic --direction older --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+detail",
|
||
"--id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--artifacts",
|
||
"basic",
|
||
"--direction",
|
||
"older",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"basic\": {\n \"error\": \"[UNCLASSIFIED] taskUuid is invalid\\n hint: Use --verbose for detailed error logs\"\n },\n \"taskUuid\": \"DWSREALREADNOSUCHID0000000000000\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2608
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+list-all",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +list-all --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+list-all",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"minutes\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 23790
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+list-mine",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +list-mine --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+list-mine",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"minutes\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 27516
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+list-cc",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +list-cc --page 1 --limit 10 --query '测试' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+list-cc",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"instances\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 8468
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+list-executed",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +list-executed --page 1 --limit 10 --query '测试' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+list-executed",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"instances\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 29589
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+list-forms",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +list-forms --cursor 0 --limit 10 --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+list-forms",
|
||
"--cursor",
|
||
"0",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"forms\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 25611
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+list-pending",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +list-pending --start 1783494851348 --end 1784099651348 --page 1 --limit 10 --query '测试' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+list-pending",
|
||
"--start",
|
||
"1783494851348",
|
||
"--end",
|
||
"1784099651348",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"instances\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 8328
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+list-submitted",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +list-submitted --page 1 --limit 10 --query '测试' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+list-submitted",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"instances\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 12793
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+my-initiated",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +my-initiated --query '测试' --page 1 --limit 10 --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+my-initiated",
|
||
"--query",
|
||
"测试",
|
||
"--page",
|
||
"1",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": {\n \"values\": []\n },\n \"success\": \"true\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3564
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+search-forms",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test oa +search-forms --query '测试' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+search-forms",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"forms\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1759
|
||
},
|
||
{
|
||
"service": "report",
|
||
"command": "+inbox-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test report +inbox-list --start 2026-07-08T15:14:39+08:00 --end 2026-07-15T15:14:39+08:00 --cursor 0 --size 1 --sender-user-ids x --yes --format json",
|
||
"args": [
|
||
"report",
|
||
"+inbox-list",
|
||
"--start",
|
||
"2026-07-08T15:14:39+08:00",
|
||
"--end",
|
||
"2026-07-15T15:14:39+08:00",
|
||
"--cursor",
|
||
"0",
|
||
"--size",
|
||
"1",
|
||
"--sender-user-ids",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"reports\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2130
|
||
},
|
||
{
|
||
"service": "report",
|
||
"command": "+outbox-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test report +outbox-list --cursor 0 --size 1 --start 2026-07-08T15:14:41+08:00 --end 2026-07-15T15:14:41+08:00 --modified-start 2026-07-08T15:14:41+08:00 --modified-end 2026-07-15T15:14:41+08:00 --yes --format json",
|
||
"args": [
|
||
"report",
|
||
"+outbox-list",
|
||
"--cursor",
|
||
"0",
|
||
"--size",
|
||
"1",
|
||
"--start",
|
||
"2026-07-08T15:14:41+08:00",
|
||
"--end",
|
||
"2026-07-15T15:14:41+08:00",
|
||
"--modified-start",
|
||
"2026-07-08T15:14:41+08:00",
|
||
"--modified-end",
|
||
"2026-07-15T15:14:41+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"reports\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1584
|
||
},
|
||
{
|
||
"service": "sheet",
|
||
"command": "+read",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test sheet +read --node DWSREALREADNOSUCHID0000000000000 --sheet-id x --range x --value-render-option formatted_value --yes --format json",
|
||
"args": [
|
||
"sheet",
|
||
"+read",
|
||
"--node",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--sheet-id",
|
||
"x",
|
||
"--range",
|
||
"x",
|
||
"--value-render-option",
|
||
"formatted_value",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "null",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1589
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+created-todos",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +created-todos --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+created-todos",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"created\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1733
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +get --task-id 55119034912 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+get",
|
||
"--task-id",
|
||
"55119034912",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"todoDetailModel\": {\n \"activities\": [\n {\n \"action\": \"task.self.done\",\n \"activityId\": \"14314572403\",\n \"creatorId\": 5255888716\n },\n {\n \"action\": \"task.create\",\n \"activityId\": \"14178655650\",\n \"creatorId\": 2669375904\n }\n ],\n \"bizTag\": \"tb_group_task\",\n \"createdTime\": 1784017216974,\n \"creatorId\": \"2669375904\",\n \"creatorInfo\": {\n \"name\": \"李龙\",\n \"nick\": \"粤腾\",\n \"userId\": 2669375904\n },\n \"detailUrl\": {\n \"appUrl\": \"https://n.dingtalk.com/dingding/dd-todo/detail/index.html?dd_darkmode=true\\u0026android_scroll=false\\u0026dd_mini_app_id=5000000004746689\\u0026dt_editor=true\\u0026dd_full_screen=true\\u0026showmenu=false\\u0026dd_progress=false\\u0026dd_amplify=false\\u0026newPage=true\\u0026at_iframe=1\\u0026from=homePage\\u0026taskId=55119034912\\u0026bizTag=tb_group_task\\u0026cid=75985350515#/detail\",\n \"pcUrl\": \"https://n.dingtalk.com/dingding/dd-todo/detail/index.html?dd_darkmode=true\\u0026android_scroll=false\\u0026dd_mini_app_id=5000000004746689\\u0026dt_editor=true\\u0026dd_full_screen=true\\u0026showmenu=false\\u0026dd_progress=false\\u0026dd_amplify=false\\u0026newPage=true\\u0026at_iframe=1\\u0026from=homePage\\u0026taskId=55119034912\\u0026bizTag=tb_group_task\\u0026cid=75985350515#/detail\"\n },\n \"dueTime\": 1784044740651,\n \"executorIds\": [\n \"41129894\",\n \"5255888716\",\n \"447869\",\n \"512653609\",\n \"2669375904\"\n ],\n \"executorInfos\": [\n {\n \"name\": \"梓寻\",\n \"nick\": \"梓寻\",\n \"userId\": 41129894\n },\n {\n \"name\": \"陈绪\",\n \"nick\": \"陈叙\",\n \"userId\": 5255888716\n },\n {\n \"name\": \"徐洪鑫\",\n \"nick\": \"崇幻\",\n \"userId\": 447869\n },\n {\n \"name\": \"董鑫阳\",\n \"nick\": \"念晨\",\n \"userId\": 512653609\n },\n {\n \"name\": \"李龙\",\n \"nick\": \"粤腾\",\n \"userId\": 2669375904\n }\n ],\n \"finishTime\": 0,\n \"isDone\": false,\n \"modifiedTime\": 1784017216974,\n \"modifierId\": \"2669375904\",\n \"orgId\": 439446171,\n \"participantIds\": [\n \"41129894\",\n \"5255888716\",\n \"447869\",\n \"512653609\",\n \"2669375904\"\n ],\n \"participantInfos\": [\n {\n \"name\": \"梓寻\",\n \"nick\": \"梓寻\",\n \"userId\": 41129894\n },\n {\n \"name\": \"陈绪\",\n \"nick\": \"陈叙\",\n \"userId\": 5255888716\n },\n {\n \"name\": \"徐洪鑫\",\n \"nick\": \"崇幻\",\n \"userId\": 447869\n },\n {\n \"name\": \"董鑫阳\",\n \"nick\": \"念晨\",\n \"userId\": 512653609\n },\n {\n \"name\": \"李龙\",\n \"nick\": \"粤腾\",\n \"userId\": 2669375904\n }\n ],\n \"priority\": 20,\n \"source\": \"conversation\",\n \"subject\": \"中控Ai营销各Agent蓝图场景故事动线输出1-2页PPT\",\n \"taskId\": \"55119034912\",\n \"tenantId\": \"75985350515\",\n \"tenantType\": \"group\"\n }\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3658
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+get-my-tasks",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +get-my-tasks --page 1 --size 10 --status false --priority x --role-types executor --plan-finish-start 1 --plan-finish-end 1 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+get-my-tasks",
|
||
"--page",
|
||
"1",
|
||
"--size",
|
||
"10",
|
||
"--status",
|
||
"false",
|
||
"--priority",
|
||
"x",
|
||
"--role-types",
|
||
"executor",
|
||
"--plan-finish-start",
|
||
"1",
|
||
"--plan-finish-end",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"todos\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1475
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+list-attachment",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +list-attachment --task-id 55119034912 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+list-attachment",
|
||
"--task-id",
|
||
"55119034912",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"attachments\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3413
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+list-comment",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +list-comment --task-id 55119034912 --page 1 --size 10 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+list-comment",
|
||
"--task-id",
|
||
"55119034912",
|
||
"--page",
|
||
"1",
|
||
"--size",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"comments\": [],\n \"count\": 0\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2191
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+list-sub",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +list-sub --task-id 55119034912 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+list-sub",
|
||
"--task-id",
|
||
"55119034912",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"subTasks\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1940
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+overdue",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +overdue --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+overdue",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"overdue\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1240
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+space-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test wiki +space-search --query '测试' --limit 10 --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+space-search",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"spaces\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1951
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-get-primary-doc-id",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +base-get-primary-doc-id --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --record-id 1015oH3OXy --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-get-primary-doc-id",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--record-id",
|
||
"1015oH3OXy",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"-1\\\",\\\"message\\\":\\\"no record\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to query cell doc for record 1015oH3OXy in table hERWDMS\\\",\\\"trace_id\\\":\\\"0b5deb3217840997466255627e08ee\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1929,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-share-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-share-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --dashboard-id KY9tlWg5NEHgfs8WT6IO2 --chart-id widget-dlxFo0tNSImp4ITpDn5fQ --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-share-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--dashboard-id",
|
||
"KY9tlWg5NEHgfs8WT6IO2",
|
||
"--chart-id",
|
||
"widget-dlxFo0tNSImp4ITpDn5fQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"403\\\",\\\"message\\\":\\\"Forbidden\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"AUTH_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get chart share config for chart widget-dlxFo0tNSImp4ITpDn5fQ: [403] Forbidden\\\",\\\"trace_id\\\":\\\"2127d89817840997481396653e075d\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1584,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-share-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-share-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --dashboard-id KY9tlWg5NEHgfs8WT6IO2 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-share-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--dashboard-id",
|
||
"KY9tlWg5NEHgfs8WT6IO2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"Not Found\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get dashboard share config for dashboard KY9tlWg5NEHgfs8WT6IO2\\\",\\\"trace_id\\\":\\\"0bb7c36217840997497315836e07fe\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1472,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+export-data",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +export-data --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --task-id DWSREALREADNOSUCHID0000000000000 --scope all --format excel --table-id hERWDMS --view-id qvGDAH2 --timeout-ms 1 --yes",
|
||
"args": [
|
||
"aitable",
|
||
"+export-data",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--task-id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--scope",
|
||
"all",
|
||
"--format",
|
||
"excel",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--view-id",
|
||
"qvGDAH2",
|
||
"--timeout-ms",
|
||
"1",
|
||
"--yes"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"taskId cannot be combined with scope, format, tableId or viewId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to continue export because taskId mode cannot include create-task params\\\",\\\"trace_id\\\":\\\"2104a64c17840997514714448e0817\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1754,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-primary-doc-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +record-primary-doc-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --table-id hERWDMS --record-id 1015oH3OXy --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-primary-doc-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--table-id",
|
||
"hERWDMS",
|
||
"--record-id",
|
||
"1015oH3OXy",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"-1\\\",\\\"message\\\":\\\"no record\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to query cell doc for record 1015oH3OXy in table hERWDMS\\\",\\\"trace_id\\\":\\\"2127d89817840997528393730e079c\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1344,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+role-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +role-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --role-id x --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+role-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--role-id",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"roleId is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get role because roleId is missing\\\",\\\"trace_id\\\":\\\"2104a64c17840997542904838e0817\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1450,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+workflow-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +workflow-get --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --workflow-id DWSREALREADNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+workflow-get",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--workflow-id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"GET_WORKFLOW_ERROR\\\",\\\"message\\\":\\\"调用远程服务业务异常\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get workflow in base 'gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk' due to an unexpected error\\\",\\\"trace_id\\\":\\\"2104a64c17840997556363676e08ee\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1535,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+workflow-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +workflow-list --base-id gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk --limit 10 --offset 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+workflow-list",
|
||
"--base-id",
|
||
"gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk",
|
||
"--limit",
|
||
"10",
|
||
"--offset",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"LIST_WORKFLOWS_ERROR\\\",\\\"message\\\":\\\"biz error\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to list workflows in base 'gpG2NdyVXQyZ0OmoSbd1vbA6JMwvDqPk' due to an unexpected error\\\",\\\"trace_id\\\":\\\"2127d89817840997572427879e075d\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1540,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-class",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +get-class --class-id 1 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-class",
|
||
"--class-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/get_class_detail)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"rule not found\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2127d89817840997588238831e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1492,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-global-setting",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +get-global-setting --setting-scene checkRemind --scope '企业' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-global-setting",
|
||
"--setting-scene",
|
||
"checkRemind",
|
||
"--scope",
|
||
"企业",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/query_global_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"NO_PERMISSION\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2104a64c17840997604718062e085e\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1635,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-group",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +get-group --group-id 1 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-group",
|
||
"--group-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/get_group_detail)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"rule not found\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0b5deb3217840997620512305e08ef\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1568,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-group-filtered",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +get-group-filtered --group-id 1 --member --position --wifi --bles --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-group-filtered",
|
||
"--group-id",
|
||
"1",
|
||
"--member",
|
||
"--position",
|
||
"--wifi",
|
||
"--bles",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/get_group_filtered_detail)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"rule not found\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2104a64c17840997638062468e08c7\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1746,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+get-leave-balance",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +get-leave-balance --users 202397 --leave-code 731ed089-62ff-4734-a6c7-3c8fcc8294fc --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+get-leave-balance",
|
||
"--users",
|
||
"202397",
|
||
"--leave-code",
|
||
"731ed089-62ff-4734-a6c7-3c8fcc8294fc",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 亲,假期类型没有余额 (operation: attendance-wukong/get_leave_balance_quota)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"2002\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2104a64c17840997652901307e081a\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1479,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+list-report-columns",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +list-report-columns --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+list-report-columns",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/get_report_columns)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"attendance-wukong\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"6001\\\",\\\"errorMsg\\\":\\\"无权限操作\\\"} \",\n \"trace_id\": \"2127d89817840997666188472e0756\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1351,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+query-report-leave",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +query-report-leave --users 202397 --leave-names '年假' --start '2026-07-15 10:00:00' --end '2026-07-15 16:00:00' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+query-report-leave",
|
||
"--users",
|
||
"202397",
|
||
"--leave-names",
|
||
"年假",
|
||
"--start",
|
||
"2026-07-15 10:00:00",
|
||
"--end",
|
||
"2026-07-15 16:00:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/get_leave_time_by_leave_names)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"attendance-wukong\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"6001\\\",\\\"errorMsg\\\":\\\"无权限操作\\\"} \",\n \"trace_id\": \"2104a64c17840997679973065e085f\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1373,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+find-room",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test calendar +find-room --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+find-room",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"458019\",\n \"server_key\": \"calendar\",\n \"trace_id\": \"0bb7c36217840997694975303e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1498,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+room-find",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test calendar +room-find --start 2026-07-16T10:00:00+08:00 --end 2026-07-16T11:00:00+08:00 --available --group-id x --room-name x --limit 10 --page 1 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+room-find",
|
||
"--start",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--available",
|
||
"--group-id",
|
||
"x",
|
||
"--room-name",
|
||
"x",
|
||
"--limit",
|
||
"10",
|
||
"--page",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 查询范围内的会议室数量,超过上限100,请选择更小范围的分组进行查询。 (operation: calendar/query_available_meeting_room)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"458019\",\n \"server_key\": \"calendar\",\n \"trace_id\": \"2104a64c17840997709913005e0819\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1504,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-list-conversations",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +category-list-conversations --category-id 1 --exclude-muted --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-list-conversations",
|
||
"--category-id",
|
||
"1",
|
||
"--exclude-muted",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listConversationsByCategoryV2 error\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840997724375834e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1445,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-get-by-id",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-get-by-id --group-id 1 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-get-by-id",
|
||
"--group-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] verifyGroupId error: The group id does not exit (operation: im/get_conv_info_by_group_id)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840997739165535e07bd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1462,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-members-get",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-members-get --id DWSREALREADNOSUCHID0000000000000 --users '冬翔' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-members-get",
|
||
"--id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--users",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openCid or cid is required (operation: im/list_group_member_by_ids)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840997754345760e07bd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1518,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-messages",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-messages --group cid3Jijzhe2aqs9ysOXjhi05g== --time '2026-07-15 10:00:00' --limit 10 --direction older --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-messages",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--time",
|
||
"2026-07-15 10:00:00",
|
||
"--limit",
|
||
"10",
|
||
"--direction",
|
||
"older",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openCid or cid is required\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"chat\",\n \"trace_id\": \"2104a64c17840997767792656e085e\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1328,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-list --group cid3Jijzhe2aqs9ysOXjhi05g== --time '2026-07-15 10:00:00' --forward --limit 10 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-list",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--time",
|
||
"2026-07-15 10:00:00",
|
||
"--forward",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openCid or cid is required\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"chat\",\n \"trace_id\": \"2127d89817840997797873841e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1480,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-resource-url",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-resource-url --type mediaId --resource-id x --message-id DWSREALREADNOSUCHID0000000000000 --open-conversation-id cid3Jijzhe2aqs9ysOXjhi05g== --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-resource-url",
|
||
"--type",
|
||
"mediaId",
|
||
"--resource-id",
|
||
"x",
|
||
"--message-id",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--open-conversation-id",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] failed to get download url for resourceId: x (operation: im/get_resource_download_url)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"RESOURCE_NOT_FOUND\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840997855423145e07dd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1264,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+search-msg",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +search-msg --group cid3Jijzhe2aqs9ysOXjhi05g== --query '测试' --days 7 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+search-msg",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--query",
|
||
"测试",
|
||
"--days",
|
||
"7",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户暂无消息搜索权益,无法执行本次搜索。请提示用户开通消息搜索权益后重试。\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"SearchRightsDenied\",\n \"server_key\": \"chat\",\n \"trace_id\": \"0b5deb3217840997866824643e0853\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1519,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+thread-replies",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +thread-replies --group cid3Jijzhe2aqs9ysOXjhi05g== --topic-id x --time '2026-07-15 10:00:00' --limit 10 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+thread-replies",
|
||
"--group",
|
||
"cid3Jijzhe2aqs9ysOXjhi05g==",
|
||
"--topic-id",
|
||
"x",
|
||
"--time",
|
||
"2026-07-15 10:00:00",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] failed to decrypt openConvThreadId\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"chat\",\n \"trace_id\": \"0b5deb3217840997883504915e0853\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1582,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+get-roster",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test contact +get-roster --staff-id x --fields x --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+get-roster",
|
||
"--staff-id",
|
||
"x",
|
||
"--fields",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 操作人无花名册管理权限 (operation: hrmregister/get_authorized_emp_rosterInfo)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"2001\",\n \"server_key\": \"hrmregister\",\n \"trace_id\": \"2106d98117840997920166915e087b\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1895,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+list-roster-fields",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test contact +list-roster-fields --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+list-roster-fields",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 操作人无花名册管理权限 (operation: hrmregister/list_authorized_roster_fields)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"2001\",\n \"server_key\": \"hrmregister\",\n \"trace_id\": \"213ee25c17840997934295673e08e2\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1305,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+credentials-get",
|
||
"risk": "read",
|
||
"method": "held; sensitive credential read",
|
||
"status": "held",
|
||
"input": "",
|
||
"args": [],
|
||
"stdout": "",
|
||
"stderr": "该命令会读取真实应用凭证/密钥;不能用真实 app 自动执行。当前仅用占位 ID 验证负向路径,真实成功需人工在安全环境单独确认。",
|
||
"exit_code": null,
|
||
"duration_ms": 0,
|
||
"failure_category": "held",
|
||
"fixability": "manual-approval",
|
||
"diagnosis": "高风险或无安全目标,需人工逐项授权后执行。"
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+download",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test drive +download --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --space-id 1 --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+download",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--space-id",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 该文件类型不支持通过 download_file 下载。download_file 仅支持普通文件(如 PDF、Word、Excel 等),不支持钉钉在线文档/表格/脑图等在线编辑类型。如需导出在线文档内容,请使用钉钉文档导出相关接口。 (operation: drive/download_file)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.document.typeIllegal\",\n \"server_key\": \"drive\",\n \"trace_id\": \"0bab027317840997956923965e08c9\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1192,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test drive +list --space-id 1 --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --limit 10 --cursor 0 --order-by name --order asc --thumbnail --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+list",
|
||
"--space-id",
|
||
"1",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--order-by",
|
||
"name",
|
||
"--order",
|
||
"asc",
|
||
"--thumbnail",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] parentId 不属于指定的 spaceId,请确认 parentId 和 spaceId 属于同一个钉盘空间。\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"paramError\",\n \"server_key\": \"drive\",\n \"trace_id\": \"2106d98117840997968627612e087b\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1090,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+action-items",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +action-items --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+action-items",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"暂无妙记\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1286,
|
||
"failure_category": "missing-real-minutes-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "当前账号没有满足条件的妙记/听记或录制会话;需准备真实会议产物后复测。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+latest-minutes",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +latest-minutes --keyword '测试' --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+latest-minutes",
|
||
"--keyword",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"暂无妙记\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 8499,
|
||
"failure_category": "missing-real-minutes-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "当前账号没有满足条件的妙记/听记或录制会话;需准备真实会议产物后复测。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+list-shared",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +list-shared --query '测试' --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+list-shared",
|
||
"--query",
|
||
"测试",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 0,\n \"minutes\": []\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1362
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+minutes-search",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +minutes-search --query '测试' --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+minutes-search",
|
||
"--query",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没搜到妙记\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1150,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+transcript",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +transcript --keyword '测试' --direction older --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+transcript",
|
||
"--keyword",
|
||
"测试",
|
||
"--direction",
|
||
"older",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"暂无妙记\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1096,
|
||
"failure_category": "missing-real-minutes-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "当前账号没有满足条件的妙记/听记或录制会话;需准备真实会议产物后复测。"
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+done-approvals",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test oa +done-approvals --limit 10 --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+done-approvals",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没有已处理的审批记录\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1244,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+pending",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test oa +pending --limit 10 --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+pending",
|
||
"--limit",
|
||
"10",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"当前没有待我审批的任务\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1357,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "report",
|
||
"command": "+report-latest",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test report +report-latest --keyword '测试' --yes --format json",
|
||
"args": [
|
||
"report",
|
||
"+report-latest",
|
||
"--keyword",
|
||
"测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"暂无日志\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1259,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+due-today",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test todo +due-today --role-types executor --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+due-today",
|
||
"--role-types",
|
||
"executor",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"今天没有到期的待办\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1145,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+related-tasks",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test todo +related-tasks --role-types executor --status false --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+related-tasks",
|
||
"--role-types",
|
||
"executor",
|
||
"--status",
|
||
"false",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没有与你相关的待办(creator/executor/participant 三种角色下均为空)\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1122,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+node-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +node-list --workspace DWSREALREADNOSUCHID0000000000000 --folder DWSREALREADNOSUCHID0000000000000 --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+node-list",
|
||
"--workspace",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--folder",
|
||
"DWSREALREADNOSUCHID0000000000000",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"wiki\",\n \"technical_detail\": \"PARAM_ERROR - 未找到指定工具\",\n \"trace_id\": \"2132f5ca17840998189126304e08d9\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1120,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+resolve-space",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +resolve-space --name 'DWS shortcut 真实测试' --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+resolve-space",
|
||
"--name",
|
||
"DWS shortcut 真实测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没有找到名称包含 DWS shortcut 真实测试 的知识空间\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1533,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+space-list",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +space-list --type ALL --limit 10 --cursor 0 --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+space-list",
|
||
"--type",
|
||
"ALL",
|
||
"--limit",
|
||
"10",
|
||
"--cursor",
|
||
"0",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"参数 --type 取值 \\\"ALL\\\" 不合法,允许值:orgWikiSpace, myWikiSpace\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 759,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+group-members",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +group-members --group '浅曦-kida,Dennis,秋画' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+group-members",
|
||
"--group",
|
||
"浅曦-kida,Dennis,秋画",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 3,\n \"members\": [\n {\n \"name\": \"\",\n \"nick\": \"秋画\",\n \"openDingtalkId\": \"DpDC43OwfSyzvpshro641ZyKOpvhZI2tI\",\n \"role\": \"普通成员\"\n },\n {\n \"name\": \"\",\n \"nick\": \"浅曦\",\n \"openDingtalkId\": \"DiPbzolsu3XcIqiPOT4eDpd1MUBtiiFg6Xhx\",\n \"role\": \"群主\"\n },\n {\n \"name\": \"\",\n \"nick\": \"念晨\",\n \"openDingtalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"role\": \"普通成员\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1955
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-mget",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-mget --msg-ids msgEuOor1PmFBNlx9M06N9z1Q== --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-mget",
|
||
"--msg-ids",
|
||
"msgEuOor1PmFBNlx9M06N9z1Q==",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"messages\": [\n {\n \"content\": \"DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。\",\n \"createTime\": \"2026-07-15 11:01:34\",\n \"openConversationId\": \"cidie1367hAfBxqipzE59k5sknHLrHmvYkw98NADhfnjPI=\",\n \"openMessageId\": \"msgEuOor1PmFBNlx9M06N9z1Q==\",\n \"sender\": \"念晨\",\n \"senderOpenDingTalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\"\n }\n ]\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1461
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-query-send-status",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-query-send-status --open-task-id y/wM6Lo+9GbIqtILYPv1BZDcMW+2FgnqskgcpdOiMdM= --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-query-send-status",
|
||
"--open-task-id",
|
||
"y/wM6Lo+9GbIqtILYPv1BZDcMW+2FgnqskgcpdOiMdM=",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openConversationId\": \"cidie1367hAfBxqipzE59k5sknHLrHmvYkw98NADhfnjPI=\",\n \"openMessageId\": \"msgEuOor1PmFBNlx9M06N9z1Q==\",\n \"sendStatus\": \"SUCCESS\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1312
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-read-status",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-read-status --conversation-id cidie1367hAfBxqipzE59k5sknHLrHmvYkw98NADhfnjPI= --message-id msgEuOor1PmFBNlx9M06N9z1Q== --users '冬翔' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-read-status",
|
||
"--conversation-id",
|
||
"cidie1367hAfBxqipzE59k5sknHLrHmvYkw98NADhfnjPI=",
|
||
"--message-id",
|
||
"msgEuOor1PmFBNlx9M06N9z1Q==",
|
||
"--users",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"memberReadStatusList\": [\n {\n \"openDingTalkId\": \"DAdiiQDqzH1DEqiPOT4eDpd1MUBtiiFg6Xhx\",\n \"readStatus\": \"READ\",\n \"readTime\": \"2026-07-15 11:53:31\",\n \"userNick\": \"冬翔\"\n },\n {\n \"openDingTalkId\": \"D1jIqGatuH3UykpdYxJGSS1ug4rSiPJt8I\",\n \"readStatus\": \"READ\",\n \"readTime\": \"2026-07-15 11:01:35\",\n \"userNick\": \"念晨\"\n }\n ],\n \"messageStatus\": \"SUCCESS\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1376
|
||
},
|
||
{
|
||
"service": "ding",
|
||
"command": "+receiver-status",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test ding +receiver-status --ding-id 5D73E3AC29C780072D1CD56C6874ACC2 --yes --format json",
|
||
"args": [
|
||
"ding",
|
||
"+receiver-status",
|
||
"--ding-id",
|
||
"5D73E3AC29C780072D1CD56C6874ACC2",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"receivers\": [\n {\n \"confirmedStatus\": 1,\n \"openDingId\": \"5D73E3AC29C780072D1CD56C6874ACC2\",\n \"receiverNick\": \"粤腾\"\n }\n ]\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1823
|
||
},
|
||
{
|
||
"service": "sheet",
|
||
"command": "+list-sheets",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test sheet +list-sheets --node mweZ92PV6O36dZbnsMZx70ylJxEKBD6p --yes --format json",
|
||
"args": [
|
||
"sheet",
|
||
"+list-sheets",
|
||
"--node",
|
||
"mweZ92PV6O36dZbnsMZx70ylJxEKBD6p",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"count\": 1,\n \"sheets\": [\n {\n \"sheetId\": \"kgqie6hm\",\n \"title\": \"Sheet1\"\n }\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1690
|
||
},
|
||
{
|
||
"service": "contact",
|
||
"command": "+by-mobile",
|
||
"risk": "read",
|
||
"method": "real-backend-read; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test contact +by-mobile --mobile 13161187007 --yes --format json",
|
||
"args": [
|
||
"contact",
|
||
"+by-mobile",
|
||
"--mobile",
|
||
"13161187007",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": [\n {\n \"isAdmin\": false,\n \"orgEmployeeModel\": {\n \"depts\": [\n {\n \"deptId\": 842379556,\n \"deptName\": \"模型算法\"\n }\n ],\n \"jobNumber\": \"202397\",\n \"labels\": [],\n \"orgAuthEmail\": null,\n \"orgId\": null,\n \"orgMasterDisplayName\": \"张俊韶\",\n \"orgMasterUserId\": \"030386\",\n \"orgName\": \"钉钉\",\n \"orgTitle\": \"\",\n \"orgUserId\": \"202397\",\n \"orgUserName\": \"董鑫阳\",\n \"positions\": [\n {\n \"deptId\": 842379556,\n \"isMain\": true,\n \"managerDisplayName\": null,\n \"managerStaffId\": null,\n \"title\": null,\n \"workStation\": \"浙江-杭州-阿里中心·杭州未科 D1-20-015\"\n }\n ]\n }\n }\n ],\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1884
|
||
}
|
||
]
|
||
} |