feat(schema): generate catalog from live Cobra tree without fallback

Stop registering runtime catalog fallback commands and make command-surface generation use the real Cobra tree directly. Regenerate schema surface, agent metadata and catalog from executable commands (20 products / 537 tools), add runtime-surface completeness hints, and update catalog gates/tests to use dynamic counts instead of old 504/21/461 constants.

This makes schema describe the actual executable CLI surface; drift/catalog gates and go test ./internal/cli ./internal/app ./internal/generator/... pass.
This commit is contained in:
玉澜 committed 2026-07-11 16:07:23 +08:00
1 parent 538754bbba
commit cb4d1c215c
25 files changed
+10990 -7578

No files matched your search

-1
View File
@@ -28,7 +28,6 @@ func newLegacyPublicCommands(runner executor.Runner, caller edition.ToolCaller)
injectStaticServers() injectStaticServers()
helpers.InitDeps(caller) helpers.InitDeps(caller)
commands := helpers.NewPublicCommands(runner) commands := helpers.NewPublicCommands(runner)
commands = append(commands, helpers.NewCatalogFallbackCommands(runner)...)
return mergeTopLevelCommands(commands) return mergeTopLevelCommands(commands)
} }
+2 -2
View File
@@ -19,8 +19,8 @@ func TestEmbeddedSchemaContractMapsToExecutableTree(t *testing.T) {
report := cli.AnnotateEmbeddedSchemaCommands(root) report := cli.AnnotateEmbeddedSchemaCommands(root)
definitions := cli.EmbeddedSchemaCommandDefinitions() definitions := cli.EmbeddedSchemaCommandDefinitions()
bindings := cli.EmbeddedSchemaParameterBindings() bindings := cli.EmbeddedSchemaParameterBindings()
if len(definitions) != 504 { if len(definitions) != 537 {
t.Fatalf("embedded definitions = %d, want 504", len(definitions)) t.Fatalf("embedded definitions = %d, want 537", len(definitions))
} }
if report.Matched != len(definitions) || len(report.Missing) != 0 { if report.Matched != len(definitions) || len(report.Missing) != 0 {
t.Fatalf("schema annotation report = matched:%d missing:%v", report.Matched, report.Missing) t.Fatalf("schema annotation report = matched:%d missing:%v", report.Matched, report.Missing)
@@ -1313,6 +1313,316 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"aitable form create": {
"agent_summary": "在指定数据表下创建一个新的表单视图(FormDesigner 类型)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1) 创建表单 → 取返回的 data.viewId 作为 VIEW_ID"
],
"avoid_when": [
"不需要在指定数据表下创建一个新的表单视图(FormDesigner 类型)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable form create --base-id BASE_ID --table-id TABLE_ID --name \"员工信息收集\" --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form delete": {
"agent_summary": "删除指定数据表下的表单视图(不可逆)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"删除指定数据表下的表单视图(不可逆)"
],
"avoid_when": [
"不需要删除指定数据表下的表单视图(不可逆)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "destructive",
"effect_source": "agent-hint",
"risk": "high",
"confirmation": "user_required",
"idempotency": "unknown",
"examples": [
"dws aitable form delete --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form field hide": {
"agent_summary": "切换表单视图中某个字段的隐藏/显示状态",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"5) 隐藏不需要的题目"
],
"avoid_when": [
"不需要切换表单视图中某个字段的隐藏/显示状态时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws aitable form field hide --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --field-id FIELD_ID --hidden true --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form field list": {
"agent_summary": "列出指定表单视图当前可见的字段及其配置",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"3) 查看表单字段配置"
],
"avoid_when": [
"不需要列出指定表单视图当前可见的字段及其配置时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws aitable form field list --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form field update": {
"agent_summary": "更新表单视图中某个字段的必填状态或描述",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"4) 设置题目必填(FIELD_ID 来自步骤 2)"
],
"avoid_when": [
"不需要更新表单视图中某个字段的必填状态或描述时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable form field update --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --field-id FIELD_ID --required true --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form get": {
"agent_summary": "按 viewId 获取单个表单视图的元信息(name/title/createdAt/shareFormUuid)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"2) 查看单个表单详情"
],
"avoid_when": [
"不需要按 viewId 获取单个表单视图的元信息(name/title/createdAt/shareFormUuid)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws aitable form get --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form list": {
"agent_summary": "列出指定数据表下的所有表单视图",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1) 列出数据表下的表单视图"
],
"avoid_when": [
"不需要列出指定数据表下的所有表单视图时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws aitable form list --base-id BASE_ID --table-id TABLE_ID --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form questions create": {
"agent_summary": "在数据表中创建字段,即向表单添加题目",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"2) 添加题目 → 取返回的 data.results[].fieldId 作为 FIELD_ID"
],
"avoid_when": [
"不需要在数据表中创建字段,即向表单添加题目时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable form questions create --base-id BASE_ID --table-id TABLE_ID --fields '[{\"fieldName\":\"姓名\",\"type\":\"text\"},{\"fieldName\":\"邮箱\",\"type\":\"text\"}]' --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form questions delete": {
"agent_summary": "删除指定字段(即表单题目)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"删除指定字段(即表单题目)"
],
"avoid_when": [
"不需要删除指定字段(即表单题目)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "destructive",
"effect_source": "agent-hint",
"risk": "high",
"confirmation": "user_required",
"idempotency": "unknown",
"examples": [
"dws aitable form questions delete --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form share get": {
"agent_summary": "读取指定视图当前的分享表单配置",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"4) 查看分享配置"
],
"avoid_when": [
"不需要读取指定视图当前的分享表单配置时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws aitable form share get --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form share update": {
"agent_summary": "开启或关闭指定视图的分享表单",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"6) 开启分享(注意:开启后需 UI 刷新页面才会看到分享面板)"
],
"avoid_when": [
"不需要开启或关闭指定视图的分享表单时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable form share update --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --enabled true --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable form update": {
"agent_summary": "更新表单整体配置(标题、描述)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"3) 配置表单标题与描述"
],
"avoid_when": [
"不需要更新表单整体配置(标题、描述)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable form update --base-id BASE_ID --table-id TABLE_ID --view-id VIEW_ID --title \"员工信息收集\" --description \"请填写您的基本信息\" --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/aitable/aitable-form.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable import data": { "aitable import data": {
"agent_summary": "触发导入并等待结果;每个 Sheet 新建为独立表", "agent_summary": "触发导入并等待结果;每个 Sheet 新建为独立表",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -1439,6 +1749,31 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"aitable record batch-update": {
"agent_summary": "将同一份 cells JSON 批量应用到多条记录上",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"将同一份 cells JSON 批量应用到多条记录上"
],
"avoid_when": [
"不需要将同一份 cells JSON 批量应用到多条记录上时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws aitable record batch-update --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"aitable record create": { "aitable record create": {
"agent_summary": "批量新增记录(单次最多 100 条)", "agent_summary": "批量新增记录(单次最多 100 条)",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -1,6 +1,620 @@
{ {
"product_id": "attendance", "product_id": "attendance",
"tools": { "tools": {
"attendance adjustment get": {
"agent_summary": "调用 MCP 工具 get_adjustment_rule_detail,根据补卡规则主键 ID 查询对应的补卡规则详情",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询补卡规则详情"
],
"avoid_when": [
"不需要调用 MCP 工具 get_adjustment_rule_detail,根据补卡规则主键 ID 查询对应的补卡规则详情时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance adjustment get --adjustment-id 12345",
"dws attendance adjustment get --adjustment-id 12345 --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance adjustment search": {
"agent_summary": "根据用户权限查询补卡规则列表,入参封装在 ATRuleQueryParam 对象中",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询补卡规则",
"补卡规则/补卡设置",
"补卡规则详情/某条补卡规则的具体信息"
],
"avoid_when": [
"不需要根据用户权限查询补卡规则列表,入参封装在 ATRuleQueryParam 对象中时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance adjustment search --page 1 --limit 20",
"dws attendance adjustment search --query \"标准\" --page 1 --limit 50"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance approve list": {
"agent_summary": "查询指定用户的考勤业务审批单记录(补卡 / 加班 / 请假 / 出差外出)",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"审批单/请假记录/加班记录/出差记录/补卡记录",
"查/提交 请假/加班/补卡 审批单;考勤业务审批单"
],
"avoid_when": [
"不需要查询指定用户的考勤业务审批单记录(补卡 / 加班 / 请假 / 出差外出)时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance approve list --users userId1 --types overtime,leave --start 2026-04-01 --end 2026-04-30",
"dws attendance approve list --users userId1 --types trip --start 2026-04-01 --end 2026-04-30 # 同时返回出差与外出"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/intent-guide.md",
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance approve templates": {
"agent_summary": "当用户需要提交补卡、请假、加班、外出、出差时,查询对应考勤审批表单模板,返回审批提交跳转链接",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"当用户需要提交补卡、请假、加班、外出、出差时,查询对应考勤审批表单模板,返回审批提交跳转链接"
],
"avoid_when": [
"不需要当用户需要提交补卡、请假、加班、外出、出差时,查询对应考勤审批表单模板,返回审批提交跳转链接时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance approve templates --type leave",
"dws attendance approve templates --type REPAIR_CHECK"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance boss-check": {
"agent_summary": "调用 MCP 工具 boss_check 修改员工打卡记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"假设返回 id: 948964045503 (OffDuty 下班打卡)",
"同时修改打卡时间"
],
"avoid_when": [
"不需要调用 MCP 工具 boss_check 修改员工打卡记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance boss-check --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/attendance-example-normalization.json",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance check record": {
"agent_summary": "查询指定用户的打卡流水记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"打卡记录/出勤/考勤",
"指定用户打卡流水/打卡详情/打卡时间地点/打卡记录详情"
],
"avoid_when": [
"不需要查询指定用户的打卡流水记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance check record --users userId1 --start 2026-04-01 --end 2026-04-30"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance check result": {
"agent_summary": "查询指定用户的打卡结果记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"指定用户打卡结果/考勤结果/迟到早退/缺卡异常"
],
"avoid_when": [
"不需要查询指定用户的打卡结果记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance check result --users userId1,userId2 --start 2026-04-01 --end 2026-04-30 --limit 50"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance checkin records": {
"agent_summary": "查询指定员工在一段时间内的签到记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询签到记录",
"签到/签到记录"
],
"avoid_when": [
"不需要查询指定员工在一段时间内的签到记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance checkin records --operator-corp-id corp001 --operator-staff-id op001 --staff-ids user001,user002 --start \"2026-04-01 00:00:00\" --end \"2026-04-07 00:00:00\"",
"dws attendance checkin records --operator-corp-id corp001 --operator-staff-id op001 --staff-ids user001,user002 --start \"2026-04-01 00:00:00\" --end \"2026-04-07 00:00:00\" --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance class create": {
"agent_summary": "调用 MCP 工具 create_class_setting,创建一个新的班次",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"调用 MCP 工具 create_class_setting,创建一个新的班次"
],
"avoid_when": [
"不需要调用 MCP 工具 create_class_setting,创建一个新的班次时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance class create --name \"早班\" --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"08:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"17:00\",\"across\":0}]}]}' --timeout 10"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance class get": {
"agent_summary": "调用 MCP 工具 get_class_detail,根据班次 ID 查询该班次的详细信息",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询班次详情"
],
"avoid_when": [
"不需要调用 MCP 工具 get_class_detail,根据班次 ID 查询该班次的详细信息时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance class get --class-id 1170996821",
"dws attendance class get --class-id 1170996821 --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance class search": {
"agent_summary": "查询当前用户有权管理的班次列表(班次定义),支持按名称搜索和类型过滤",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询可管理的班次列表",
"班次定义/班次列表/有哪些班次/我负责的班次",
"班次详情/某个班次的具体信息"
],
"avoid_when": [
"不需要查询当前用户有权管理的班次列表(班次定义),支持按名称搜索和类型过滤时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance class search",
"dws attendance class search --query \"早班\" --filter-type MINE_OWN"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance class update": {
"agent_summary": "调用 MCP 工具 update_class_setting,更新一个已有的班次",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"更新班次",
"更新班次/修改班次/班次改名/修改上下班时间"
],
"avoid_when": [
"不需要调用 MCP 工具 update_class_setting,更新一个已有的班次时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance class update --class-id 1170996821 --name \"新早班\" --timeout 10",
"dws attendance class update --class-id 1170996821 --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"08:30\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"17:30\",\"across\":0}]}]}' --timeout 10"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance globalsetting get": {
"agent_summary": "查询全局规则设置,仅管理员可以调用",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询全局规则设置,仅管理员可以调用"
],
"avoid_when": [
"不需要查询全局规则设置,仅管理员可以调用时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance globalsetting get --scope 企业 --setting-scene checkRemind --format json",
"dws attendance globalsetting get --scope 全公司 --setting-scene bossAttendStatNotify --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance globalsetting save": {
"agent_summary": "更新保存全局规则设置,仅管理员可以调用",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"更新保存全局规则设置,仅管理员可以调用"
],
"avoid_when": [
"不需要更新保存全局规则设置,仅管理员可以调用时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance globalsetting save --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/attendance-example-normalization.json",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group create": {
"agent_summary": "调用 MCP 工具 create_group_setting,创建一个新的考勤组",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"创建考勤组",
"创建考勤组/新建考勤组/添加考勤组"
],
"avoid_when": [
"不需要调用 MCP 工具 create_group_setting,创建一个新的考勤组时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance group create --name \"研发考勤组\" --type FIXED --group-vo '{\"defaultClassId\":1170996821,\"workDayClassList\":[0,1170996821,0,0,0,0,0]}' --timeout 10",
"dws attendance group create --name \"自由工时分组\" --type NONE --timeout 10"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group filtered-get": {
"agent_summary": "调用 MCP 工具 get_group_filtered_detail,根据考勤组 ID 仅返回关心的字段子集, 强烈建议在仅需查询成员信息、打卡地址、蓝牙、W",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1. 获取考勤组成员",
"按需查询考勤组成员/地址/蓝牙/Wifi",
"考勤组成员/打卡地址/打卡wifi/打卡蓝牙"
],
"avoid_when": [
"不需要调用 MCP 工具 get_group_filtered_detail,根据考勤组 ID 仅返回关心的字段子集, 强烈建议在仅需查询成员信息、打卡地址、蓝牙、W时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance group filtered-get --group-id \u003cgroupId\u003e --member --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance-schedule.md",
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group get": {
"agent_summary": "调用 MCP 工具 get_group_detail,根据考勤组 ID 查询该考勤组的全量信息",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询考勤组全量信息",
"考勤组详情/全量考勤组信息",
"获取考勤组详情(含绑定的班次列表)"
],
"avoid_when": [
"不需要调用 MCP 工具 get_group_detail,根据考勤组 ID 查询该考勤组的全量信息时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance group get --group-id \u003cgroupId\u003e --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance-schedule.md",
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group search": {
"agent_summary": "根据当前用户的权限和筛选条件获取考勤组简要信息",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1. 确认考勤组并获取关联班次(先查后排)",
"1. 获取考勤组成员",
"查询考勤组列表",
"考勤组列表/有哪些考勤组"
],
"avoid_when": [
"不需要根据当前用户的权限和筛选条件获取考勤组简要信息时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance group search --query \"\u003c考勤组名称\u003e\" --type TURN --format json",
"dws attendance group search --query \"研发组\" --type TURN --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance-schedule.md",
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group update": {
"agent_summary": "调用 MCP 工具 update_group_setting,更新考勤组配置信息",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"修改考勤组/更新考勤组配置/考勤组改名/改变考勤组绑定的班次/修改打卡范围/设置考勤组负责人",
"更新考勤组配置"
],
"avoid_when": [
"不需要调用 MCP 工具 update_group_setting,更新考勤组配置信息时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance group update --group-id 123456 --name \"研发考勤组\" --timeout 10",
"dws attendance group update --group-id 123456 --owner userId1 --timeout 10"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance group update-members": {
"agent_summary": "调用 MCP 工具 update_group_member,对指定考勤组的成员进行增删操作",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"更新考勤组成员",
"更新考勤组成员/添加考勤人员/删除考勤人员/添加考勤部门/删除考勤部门/加入考勤组/移出考勤组/设置无需考勤/取消无需考勤"
],
"avoid_when": [
"不需要调用 MCP 工具 update_group_member,对指定考勤组的成员进行增删操作时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance group update-members --group-id 123456 --add-users userId1,userId2",
"dws attendance group update-members --group-id 123456 --remove-users userId1"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance overtime get": {
"agent_summary": "调用 MCP 工具 get_overtime_rule_detail,根据加班规则主键 ID 查询对应的加班规则详情",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查询加班规则详情"
],
"avoid_when": [
"不需要调用 MCP 工具 get_overtime_rule_detail,根据加班规则主键 ID 查询对应的加班规则详情时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance overtime get --overtime-id 12345",
"dws attendance overtime get --overtime-id 12345 --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance overtime search": {
"agent_summary": "根据用户权限查询加班规则列表,入参封装在 ATRuleQueryParam 对象中",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"加班规则/加班设置/加班计算",
"加班规则详情/某条加班规则的具体信息",
"查询加班规则"
],
"avoid_when": [
"不需要根据用户权限查询加班规则列表,入参封装在 ATRuleQueryParam 对象中时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance overtime search --page 1 --limit 20",
"dws attendance overtime search --query \"节假日\" --page 1 --limit 50"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance record get": { "attendance record get": {
"agent_summary": "查询个人考勤详情", "agent_summary": "查询个人考勤详情",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -32,6 +646,89 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"attendance report columns": {
"agent_summary": "根据操作者的列权限,过滤并返回其有权查看的考勤字段列表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"考勤字段/考勤列",
"获取考勤字段列表(管理员)"
],
"avoid_when": [
"不需要根据操作者的列权限,过滤并返回其有权查看的考勤字段列表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance report columns"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance report query-data": {
"agent_summary": "根据字段查询考勤数据,含列权限过滤和用户查看权限校验",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"根据字段查询考勤数据(管理员)",
"考勤数据/查询考勤报表数据"
],
"avoid_when": [
"不需要根据字段查询考勤数据,含列权限过滤和用户查看权限校验时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance report query-data --users userId1,userId2 --columns 1001,1002 --start \"2026-03-01 00:00:00\" --end \"2026-03-31 23:59:59\"",
"dws attendance report query-data --users userId1,userId2 --columns 1001,1002 --start \"2026-03-01 00:00:00\" --end \"2026-03-31 23:59:59\" --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance report query-leave": {
"agent_summary": "查询用户假期数据,含用户查看权限校验",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"假期数据/年假/病假/请假记录",
"查询用户假期数据(管理员)"
],
"avoid_when": [
"不需要查询用户假期数据,含用户查看权限校验时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance report query-leave --users userId1,userId2 --leave-names 年假,病假 --start \"2026-03-01 00:00:00\" --end \"2026-03-31 23:59:59\"",
"dws attendance report query-leave --users userId1,userId2 --leave-names 年假,病假 --start \"2026-03-01 00:00:00\" --end \"2026-03-31 23:59:59\" --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance rules": { "attendance rules": {
"agent_summary": "查询考勤组与考勤规则", "agent_summary": "查询考勤组与考勤规则",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -69,6 +766,120 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"attendance schedule get": {
"agent_summary": "获取指定用户在一段时间内的排班记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"步骤1:获取排班记录的 planId"
],
"avoid_when": [
"不需要获取指定用户在一段时间内的排班记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance schedule get --userIdList 03642229451220076 --workDateBegin 2026-05-13 --workDateEnd 2026-05-13 -f json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance schedule import": {
"agent_summary": "为排班制考勤组导入排班记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"导入排班记录"
],
"avoid_when": [
"不需要为排班制考勤组导入排班记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance schedule import --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/attendance-example-normalization.json",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance selfsetting get": {
"agent_summary": "查询个人规则设置,包括打卡提醒、极速打卡、打卡结果通知、缺卡提醒、个人考勤统计通知、团队考勤统计通知等设置项",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查看指定用户的打卡提醒设置",
"查看指定用户的极速打卡设置",
"查询个人规则设置/查看打卡提醒/查看极速打卡/查看缺卡提醒/查看打卡结果通知/查看个人考勤统计通知/查看团队考勤统计通知"
],
"avoid_when": [
"不需要查询个人规则设置,包括打卡提醒、极速打卡、打卡结果通知、缺卡提醒、个人考勤统计通知、团队考勤统计通知等设置项时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance selfsetting get --setting-scene checkRemind --user \u003cUSER_ID\u003e --format json",
"dws attendance selfsetting get --setting-scene fastCheck --user \u003cUSER_ID\u003e --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance selfsetting save": {
"agent_summary": "更新保存个人规则设置,包括打卡提醒、极速打卡、打卡结果通知、缺卡提醒、个人考勤统计通知、团队考勤统计通知等设置项",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"开启打卡结果通知(Agent 调用时,必须先完成 ask_human 二次确认,确认后再追加 --yes 执行)",
"开启指定用户的打卡结果通知",
"更新个人规则设置/保存打卡提醒/修改极速打卡/关闭缺卡提醒/开启打卡结果通知/设置个人考勤统计通知/设置团队考勤统计通知",
"更新打卡提醒设置(Agent 调用时,必须先完成 ask_human 二次确认,确认后再追加 --yes 执行)",
"更新指定用户的极速打卡设置",
"更新极速打卡设置(Agent 调用时,必须先完成 ask_human 二次确认,确认后再追加 --yes 执行)"
],
"avoid_when": [
"不需要更新保存个人规则设置,包括打卡提醒、极速打卡、打卡结果通知、缺卡提醒、个人考勤统计通知、团队考勤统计通知等设置项时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "high",
"confirmation": "user_required",
"idempotency": "unknown",
"examples": [
"dws attendance selfsetting save --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/attendance-example-normalization.json",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance shift list": { "attendance shift list": {
"agent_summary": "批量查询员工班次信息(间隔 ≤ 7 天,最多 50 人)", "agent_summary": "批量查询员工班次信息(间隔 ≤ 7 天,最多 50 人)",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -129,6 +940,154 @@
}, },
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
},
"attendance vacation balance": {
"agent_summary": "调用 MCP 工具 get_leave_balance_quota 查询指定员工的假期余额",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1. 查询当前余额",
"1. 查询当前余额(假设返回5天)",
"增加假期余额/发放年假/给员工加年假",
"查看指定员工假期余额",
"查看指定员工某类假期余额",
"病假余额/年假余额/事假剩余假期",
"设置假期余额/调整假期额度/更新假期余额"
],
"avoid_when": [
"不需要调用 MCP 工具 get_leave_balance_quota 查询指定员工的假期余额时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance vacation balance --users userId1,userId2 --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dws attendance vacation balance --users userId1,userId2 --leave-code \u003c假期类型code\u003e --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance vacation records": {
"agent_summary": "调用 MCP 工具 get_leave_balance_records 查询指定员工的假期余额变更记录",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"假期变更/假期记录/请假扣减",
"查看指定员工假期余额变更记录"
],
"avoid_when": [
"不需要调用 MCP 工具 get_leave_balance_records 查询指定员工的假期余额变更记录时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance vacation records --user USER_ID --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890 --start 2026-04-01 --end 2026-04-22",
"dws attendance vacation records --user USER_ID --leave-code \u003c假期类型code\u003e --start 2026-04-01 --end 2026-04-22 --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance vacation save-balance": {
"agent_summary": "调用 MCP 工具 update_leave_balance 设置指定员工的假期余额数量",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"3. 执行设置(SET操作,会替换当前余额)",
"3. 设置新总额度",
"设置员工年假余额为8天",
"设置带有效期的假期余额"
],
"avoid_when": [
"不需要调用 MCP 工具 update_leave_balance 设置指定员工的假期余额数量时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance vacation save-balance --target user001 --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890 --num 8 --reason \"年度发放\"",
"dws attendance vacation save-balance --target user001 --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890 --num 8 --reason \"年度发放\" --start 2024-01-01 --end 2024-12-31"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance vacation types": {
"agent_summary": "调用 MCP 工具 get_leave_types 查询当前用户可用的假期规则列表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"假期/我的假期/假期规则",
"查看假期规则列表"
],
"avoid_when": [
"不需要调用 MCP 工具 get_leave_types 查询当前用户可用的假期规则列表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws attendance vacation types"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"attendance vacation update-type": {
"agent_summary": "调用 MCP 工具 save_leave_type 更新已有假期规则",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"更新假期单位",
"更新假期规则/修改假期类型/编辑假期规则",
"更新假期规则名称",
"更新适用范围"
],
"avoid_when": [
"不需要调用 MCP 工具 save_leave_type 更新已有假期规则时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws attendance vacation update-type --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890 --name \"事假(修改版)\"",
"dws attendance vacation update-type --leave-code a1b2c3d4-e5f6-7890-abcd-ef1234567890 --unit hour --per-hours 8"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/attendance.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
} }
} }
} }
@@ -99,17 +99,16 @@
"要“查看参与者”请改用 dws calendar attendee list", "要“查看参与者”请改用 dws calendar attendee list",
"要“添加参与者”请改用 dws calendar attendee add" "要“添加参与者”请改用 dws calendar attendee add"
], ],
"effect": "destructive", "effect": "write",
"effect_source": "skill-explicit", "effect_source": "command-verb",
"risk": "high", "risk": "medium",
"confirmation": "user_required", "confirmation": "not_required",
"idempotency": "unknown", "idempotency": "unknown",
"examples": [ "examples": [
"dws calendar attendee delete --attendees \u003cattendees\u003e --event \u003cevent\u003e" "dws calendar attendee delete --attendees \u003cattendees\u003e --event \u003cevent\u003e"
], ],
"source_refs": [ "source_refs": [
"dws-wukong-envelope@4574f7022c32:dws-wukong-discovery.calendar.prod.json#calendar.remove_calendar_participant", "dws-wukong-envelope@4574f7022c32:dws-wukong-discovery.calendar.prod.json#calendar.remove_calendar_participant",
"skills/mono/SKILL.md",
"skills/mono/references/products/calendar.md", "skills/mono/references/products/calendar.md",
"skills/mono/schema-hints/imported/wukong.json", "skills/mono/schema-hints/imported/wukong.json",
"skills/mono/schema-hints/selection-review.json", "skills/mono/schema-hints/selection-review.json",
@@ -430,38 +430,6 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"chat group members list": {
"agent_summary": "查看群成员列表",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32",
"use_when": [
"查看群成员列表"
],
"avoid_when": [
"要“从群中移除成员”请改用 dws chat group members remove",
"要“向群中添加成员”请改用 dws chat group members add",
"要“将机器人添加到群中”请改用 dws chat group members add-bot"
],
"effect": "read",
"effect_source": "command-verb",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws chat group members list --id \u003cid\u003e"
],
"source_refs": [
"dws-wukong-envelope@4574f7022c32:dws-wukong-discovery.chat.prod.json#chat.get_group_members",
"skills/mono/schema-hints/imported/wukong.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_ref": {
"product_id": "chat",
"rpc_name": "get_group_members"
},
"interface_mode": "mcp",
"availability": "available"
},
"chat group members remove": { "chat group members remove": {
"agent_summary": "从群中移除成员", "agent_summary": "从群中移除成员",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -1,905 +0,0 @@
{
"product_id": "conference",
"tools": {
"conference appearance background-setting": {
"agent_summary": "打开虚拟背景设置面板",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开虚拟背景设置面板"
],
"avoid_when": [
"要“打开美颜设置面板”请改用 dws conference appearance beauty-setting"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference appearance background-setting"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference appearance beauty-setting": {
"agent_summary": "打开美颜设置面板",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开美颜设置面板"
],
"avoid_when": [
"要“打开虚拟背景设置面板”请改用 dws conference appearance background-setting"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference appearance beauty-setting"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference camera close": {
"agent_summary": "关闭摄像头",
"agent_summary_source": "conference-schema-review",
"use_when": [
"关闭摄像头"
],
"avoid_when": [
"要“打开摄像头”请改用 dws conference camera open"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference camera close"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference camera open": {
"agent_summary": "打开摄像头",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开摄像头"
],
"avoid_when": [
"要“关闭摄像头”请改用 dws conference camera close"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference camera open"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference end": {
"agent_summary": "结束整场会议并让所有参会者退出(不可逆)",
"agent_summary_source": "conference-schema-review",
"use_when": [
"结束整场会议并让所有参会者退出(不可逆)"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "high",
"confirmation": "user_required",
"idempotency": "unknown",
"examples": [
"dws conference end"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference get-id": {
"agent_summary": "获取当前所在会议的会议 ID(需在会议中)",
"agent_summary_source": "conference-schema-review",
"use_when": [
"获取当前所在会议的会议 ID(需在会议中)"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws conference get-id"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference interaction panel": {
"agent_summary": "打开表情互动面板",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开表情互动面板"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference interaction panel"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference interpretation close": {
"agent_summary": "关闭同声传译",
"agent_summary_source": "conference-schema-review",
"use_when": [
"关闭同声传译"
],
"avoid_when": [
"要“开启同声传译”请改用 dws conference interpretation open"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference interpretation close"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference interpretation open": {
"agent_summary": "开启同声传译",
"agent_summary_source": "conference-schema-review",
"use_when": [
"开启同声传译"
],
"avoid_when": [
"要“关闭同声传译”请改用 dws conference interpretation close"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference interpretation open"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference invite all": {
"agent_summary": "一键呼叫所有人",
"agent_summary_source": "conference-schema-review",
"use_when": [
"一键呼叫所有人"
],
"avoid_when": [
"要“打开邀请选人面板”请改用 dws conference invite panel"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference invite all"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference invite panel": {
"agent_summary": "打开邀请选人面板",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开邀请选人面板"
],
"avoid_when": [
"要“一键呼叫所有人”请改用 dws conference invite all"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference invite panel"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference leave": {
"agent_summary": "本人离开当前会议(其他人继续)",
"agent_summary_source": "conference-schema-review",
"use_when": [
"本人离开当前会议(其他人继续)"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference leave"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference mic mute": {
"agent_summary": "静音自己",
"agent_summary_source": "conference-schema-review",
"use_when": [
"静音自己"
],
"avoid_when": [
"要“主持人将会议内全体参会者静音”请改用 dws conference mic mute-all",
"要“取消静音”请改用 dws conference mic unmute"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference mic mute"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference mic mute-all": {
"agent_summary": "主持人将会议内全体参会者静音",
"agent_summary_source": "conference-schema-review",
"use_when": [
"主持人将会议内全体参会者静音"
],
"avoid_when": [
"要“取消静音”请改用 dws conference mic unmute",
"要“静音自己”请改用 dws conference mic mute"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference mic mute-all"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference mic unmute": {
"agent_summary": "取消静音",
"agent_summary_source": "conference-schema-review",
"use_when": [
"取消静音"
],
"avoid_when": [
"要“主持人将会议内全体参会者静音”请改用 dws conference mic mute-all",
"要“静音自己”请改用 dws conference mic mute"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference mic unmute"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference photo take": {
"agent_summary": "发起全员合影",
"agent_summary_source": "conference-schema-review",
"use_when": [
"发起全员合影"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference photo take"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference record request": {
"agent_summary": "申请录制权限",
"agent_summary_source": "conference-schema-review",
"use_when": [
"申请录制权限"
],
"avoid_when": [
"要“停止当前会议的云端录制”请改用 dws conference record stop",
"要“开始云端录制当前会议”请改用 dws conference record start"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference record request"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference record start": {
"agent_summary": "开始云端录制当前会议",
"agent_summary_source": "conference-schema-review",
"use_when": [
"开始云端录制当前会议"
],
"avoid_when": [
"要“停止当前会议的云端录制”请改用 dws conference record stop",
"要“申请录制权限”请改用 dws conference record request"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference record start"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference record stop": {
"agent_summary": "停止当前会议的云端录制",
"agent_summary_source": "conference-schema-review",
"use_when": [
"停止当前会议的云端录制"
],
"avoid_when": [
"要“开始云端录制当前会议”请改用 dws conference record start",
"要“申请录制权限”请改用 dws conference record request"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference record stop"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference security menu": {
"agent_summary": "打开安全设置菜单",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开安全设置菜单"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference security menu"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference share annotate": {
"agent_summary": "打开共享批注",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开共享批注"
],
"avoid_when": [
"要“停止屏幕共享”请改用 dws conference share stop",
"要“开始共享桌面”请改用 dws conference share start",
"要“打开共享选择面板”请改用 dws conference share panel"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference share annotate"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference share panel": {
"agent_summary": "打开共享选择面板",
"agent_summary_source": "conference-schema-review",
"use_when": [
"打开共享选择面板"
],
"avoid_when": [
"要“停止屏幕共享”请改用 dws conference share stop",
"要“开始共享桌面”请改用 dws conference share start",
"要“打开共享批注”请改用 dws conference share annotate"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference share panel"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference share start": {
"agent_summary": "开始共享桌面",
"agent_summary_source": "conference-schema-review",
"use_when": [
"开始共享桌面"
],
"avoid_when": [
"要“停止屏幕共享”请改用 dws conference share stop",
"要“打开共享批注”请改用 dws conference share annotate",
"要“打开共享选择面板”请改用 dws conference share panel"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference share start"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference share stop": {
"agent_summary": "停止屏幕共享",
"agent_summary_source": "conference-schema-review",
"use_when": [
"停止屏幕共享"
],
"avoid_when": [
"要“开始共享桌面”请改用 dws conference share start",
"要“打开共享批注”请改用 dws conference share annotate",
"要“打开共享选择面板”请改用 dws conference share panel"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference share stop"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference start": {
"agent_summary": "发起一场即时会议",
"agent_summary_source": "conference-schema-review",
"use_when": [
"发起一场即时会议"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference start"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference status": {
"agent_summary": "查询当前会议状态(是否在会议中)",
"agent_summary_source": "conference-schema-review",
"use_when": [
"查询当前会议状态(是否在会议中)"
],
"avoid_when": [
"当前开源版本未提供可用会议后端;未安装并启用受审查的会议插件时不要使用"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws conference status"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference subtitle close": {
"agent_summary": "关闭实时字幕",
"agent_summary_source": "conference-schema-review",
"use_when": [
"关闭实时字幕"
],
"avoid_when": [
"要“开启实时字幕”请改用 dws conference subtitle open"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference subtitle close"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference subtitle open": {
"agent_summary": "开启实时字幕",
"agent_summary_source": "conference-schema-review",
"use_when": [
"开启实时字幕"
],
"avoid_when": [
"要“关闭实时字幕”请改用 dws conference subtitle close"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference subtitle open"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference transcript close": {
"agent_summary": "关闭智能听记",
"agent_summary_source": "conference-schema-review",
"use_when": [
"关闭智能听记"
],
"avoid_when": [
"要“开启智能听记”请改用 dws conference transcript open"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference transcript close"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference transcript open": {
"agent_summary": "开启智能听记",
"agent_summary_source": "conference-schema-review",
"use_when": [
"开启智能听记"
],
"avoid_when": [
"要“关闭智能听记”请改用 dws conference transcript close"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference transcript open"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference view grid": {
"agent_summary": "切换宫格视图",
"agent_summary_source": "conference-schema-review",
"use_when": [
"切换宫格视图"
],
"avoid_when": [
"要“切换标准视图”请改用 dws conference view standard",
"要“切换演讲者视图”请改用 dws conference view speaker"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference view grid"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference view speaker": {
"agent_summary": "切换演讲者视图",
"agent_summary_source": "conference-schema-review",
"use_when": [
"切换演讲者视图"
],
"avoid_when": [
"要“切换宫格视图”请改用 dws conference view grid",
"要“切换标准视图”请改用 dws conference view standard"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference view speaker"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
},
"conference view standard": {
"agent_summary": "切换标准视图",
"agent_summary_source": "conference-schema-review",
"use_when": [
"切换标准视图"
],
"avoid_when": [
"要“切换宫格视图”请改用 dws conference view grid",
"要“切换演讲者视图”请改用 dws conference view speaker"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws conference view standard"
],
"reviewed": true,
"source_refs": [
"skills/mono/schema-hints/conference.json",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "unavailable",
"availability": "unavailable",
"interface_reason": "当前开源版本的 conference 产品已下线,仅保留冻结兼容命令面,未注册静态 MCP 后端"
}
}
}
+3 -3
View File
@@ -925,11 +925,11 @@
"要“查询指定版本详情”请改用 dws dev app version get", "要“查询指定版本详情”请改用 dws dev app version get",
"要“查询版本发布/审批状态”请改用 dws dev app version status" "要“查询版本发布/审批状态”请改用 dws dev app version status"
], ],
"effect": "read", "effect": "write",
"effect_source": "command-verb", "effect_source": "command-verb",
"risk": "low", "risk": "medium",
"confirmation": "not_required", "confirmation": "not_required",
"idempotency": "idempotent", "idempotency": "unknown",
"examples": [ "examples": [
"dws dev app version publish --unified-app-id \u003cunifiedAppId\u003e --version-id \u003cversionId\u003e --dry-run --format json" "dws dev app version publish --unified-app-id \u003cunifiedAppId\u003e --version-id \u003cversionId\u003e --dry-run --format json"
], ],
@@ -1,90 +1,6 @@
{ {
"product_id": "devdoc", "product_id": "devdoc",
"tools": { "tools": {
"devdoc article legacy-search": {
"agent_summary": "根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
"use_when": [
"根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。"
],
"avoid_when": [
"要“按关键词搜索 open.dingtalk.com 开放平台文档”请改用 dws devdoc article search",
"要“按关键词检索钉钉开放平台文档,只返回参考资料、参考资料链接和RA”请改用 dws devdoc article rag-pretest",
"要“根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包”请改用 dws devdoc article legacy-search-open-platform"
],
"effect": "read",
"effect_source": "command-verb",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws devdoc article legacy-search \u003ckeyword\u003e --keyword \u003ckeyword\u003e"
],
"reviewed": false,
"source_refs": [
"internal/cli/schema_mcp_metadata.json#tools.devdoc.search_dingtalk_open_docs",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "mcp",
"availability": "available"
},
"devdoc article legacy-search-open-platform": {
"agent_summary": "根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
"use_when": [
"根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。"
],
"avoid_when": [
"要“按关键词搜索 open.dingtalk.com 开放平台文档”请改用 dws devdoc article search",
"要“按关键词检索钉钉开放平台文档,只返回参考资料、参考资料链接和RA”请改用 dws devdoc article rag-pretest",
"要“根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包”请改用 dws devdoc article legacy-search"
],
"effect": "read",
"effect_source": "command-verb",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws devdoc article legacy-search-open-platform \u003ckeyword\u003e --keyword \u003ckeyword\u003e"
],
"reviewed": false,
"source_refs": [
"internal/cli/schema_mcp_metadata.json#tools.devdoc.search_open_platform_docs",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "mcp",
"availability": "available"
},
"devdoc article rag-pretest": {
"agent_summary": "按关键词检索钉钉开放平台文档,只返回参考资料、参考资料链接和RAG上下文,不生成AI分析答案。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
"use_when": [
"按关键词检索钉钉开放平台文档,只返回参考资料、参考资料链接和RAG上下文,不生成AI分析答案。"
],
"avoid_when": [
"要“按关键词搜索 open.dingtalk.com 开放平台文档”请改用 dws devdoc article search",
"要“根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包”请改用 dws devdoc article legacy-search",
"要“根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包”请改用 dws devdoc article legacy-search-open-platform"
],
"effect": "read",
"effect_source": "command-verb",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws devdoc article rag-pretest \u003ckeyword\u003e --keyword \u003ckeyword\u003e"
],
"reviewed": false,
"source_refs": [
"internal/cli/schema_mcp_metadata.json#tools.devdoc.devdoc_rag_pretest",
"skills/mono/schema-hints/selection-review.json",
"skills/mono/schema-hints/sibling-disambiguation.json"
],
"interface_mode": "mcp",
"availability": "available"
},
"devdoc article search": { "devdoc article search": {
"agent_summary": "按关键词搜索 open.dingtalk.com 开放平台文档", "agent_summary": "按关键词搜索 open.dingtalk.com 开放平台文档",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -122,31 +38,6 @@
}, },
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
},
"devdoc error diagnose": {
"agent_summary": "按原始问题、requestId/traceId、错误码或错误描述排查钉钉开放平台调用错误;",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
"use_when": [
"按原始问题、requestId/traceId、错误码或错误描述排查钉钉开放平台调用错误;"
],
"avoid_when": [
"需要创建、修改或删除数据时不要使用;本命令只用于“按原始问题、requestId/traceId、错误码或错误描述排查钉钉开放平台调用错误;”"
],
"effect": "read",
"effect_source": "command-verb",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws devdoc error diagnose --query \u003cquery\u003e"
],
"reviewed": false,
"source_refs": [
"internal/cli/schema_mcp_metadata.json#tools.devdoc.search_open_error_code_rag",
"skills/mono/schema-hints/selection-review.json"
],
"interface_mode": "mcp",
"availability": "available"
} }
} }
} }
+178
View File
@@ -579,6 +579,34 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"doc import get": {
"agent_summary": "根据 taskId 查询文档导入任务的执行结果",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"根据 taskId 查询文档导入任务的执行结果"
],
"avoid_when": [
"不需要根据 taskId 查询文档导入任务的执行结果时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws doc import get --task-id \u003cTASK_ID\u003e",
"dws doc import get --task-id \u003cTASK_ID\u003e --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/doc.md",
"skills/mono/references/products/doc/doc-import.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc info": { "doc info": {
"agent_summary": "获取文档元信息(标题/类型/创建者/权限等)", "agent_summary": "获取文档元信息(标题/类型/创建者/权限等)",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -996,6 +1024,81 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"doc template apply": {
"agent_summary": "使用指定模板创建新文档",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"使用指定模板创建新文档"
],
"avoid_when": [
"不需要使用指定模板创建新文档时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws doc template apply --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc template list": {
"agent_summary": "获取当前用户可用的文档模板列表,支持按来源筛选",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"获取当前用户可用的文档模板列表,支持按来源筛选"
],
"avoid_when": [
"不需要获取当前用户可用的文档模板列表,支持按来源筛选时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws doc template list --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc template search": {
"agent_summary": "根据关键词搜索文档模板",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"根据关键词搜索文档模板"
],
"avoid_when": [
"不需要根据关键词搜索文档模板时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws doc template search --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc update": { "doc update": {
"agent_summary": "更新文档内容(追加 / 覆盖)", "agent_summary": "更新文档内容(追加 / 覆盖)",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -1082,6 +1185,81 @@
"interface_mode": "composite", "interface_mode": "composite",
"availability": "available", "availability": "available",
"interface_reason": "命令包含多个 RPC、条件分派或本地 HTTP/文件步骤,不能绑定为单一 interface_ref" "interface_reason": "命令包含多个 RPC、条件分派或本地 HTTP/文件步骤,不能绑定为单一 interface_ref"
},
"doc version list": {
"agent_summary": "查看文档历史版本列表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查看文档历史版本列表"
],
"avoid_when": [
"不需要查看文档历史版本列表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws doc version list --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc version revert": {
"agent_summary": "回滚文档到指定版本",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"回滚文档到指定版本"
],
"avoid_when": [
"不需要回滚文档到指定版本时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws doc version revert --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"doc version save": {
"agent_summary": "手动保存文档版本快照",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"手动保存文档版本快照"
],
"avoid_when": [
"不需要手动保存文档版本快照时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws doc version save --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
} }
} }
} }
@@ -436,6 +436,170 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"drive publish get": {
"agent_summary": "查询文件当前是否处于互联网公开发布状态,以及公开发布的权限设置",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"查看公开状态/是否公开/发布状态"
],
"avoid_when": [
"不需要查询文件当前是否处于互联网公开发布状态,以及公开发布的权限设置时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws drive publish get --node \u003cfileId\u003e",
"dws drive publish get --node \u003cdentryUuid\u003e"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive publish set": {
"agent_summary": "[危险] 将文件设置为互联网公开发布",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"公开文件/互联网公开/设置公开/让互联网所有人可访问"
],
"avoid_when": [
"不需要[危险] 将文件设置为互联网公开发布时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws drive publish set --node \u003cfileId\u003e [--permission READER|DOWNLOADER|EDITOR]",
"dws drive publish set --node \u003cdentryUuid\u003e"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive publish unset": {
"agent_summary": "[危险] 关闭文件的互联网公开发布",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"关闭公开/取消公开/取消互联网访问"
],
"avoid_when": [
"不需要[危险] 关闭文件的互联网公开发布时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws drive publish unset --node \u003cfileId\u003e",
"dws drive publish unset --node \u003cdentryUuid\u003e"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive recent": {
"agent_summary": "获取当前用户最近访问或编辑过的文档列表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"最近访问/最近打开/最近编辑/最近文档"
],
"avoid_when": [
"不需要获取当前用户最近访问或编辑过的文档列表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws drive recent",
"dws drive recent --operate-type 1"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive recycle list": {
"agent_summary": "查看回收站文件列表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"8. 查看回收站并还原文件",
"回收站/查看回收站/回收站列表/回收站里有什么"
],
"avoid_when": [
"不需要查看回收站文件列表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws drive recycle list",
"dws drive recycle list --space-id 12345 --limit 10"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive recycle restore": {
"agent_summary": "还原回收站中的文件",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"8. 查看回收站并还原文件",
"恢复文件/还原删除的文件/从回收站恢复/还原回收站文件"
],
"avoid_when": [
"不需要还原回收站中的文件时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws drive recycle restore --id \u003crecycleItemId\u003e",
"dws drive recycle restore --id \u003crecycleItemId\u003e --format json"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/drive.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"drive rename": { "drive rename": {
"agent_summary": "对指定节点进行重命名。", "agent_summary": "对指定节点进行重命名。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32", "agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
+13 -21
View File
@@ -1,18 +1,19 @@
{ {
"version": 1, "version": 1,
"source_hash": "sha256:baf516536a280732546575173592b5ff1576fe4c81a843e26ee6e182c448100c", "source_hash": "sha256:2b64df8c64d71e74b91a0e43b7b48d490a33e8831d620fc400ae8b0ed8253bf7",
"surface_hash": "sha256:c0a9b75b4e38934db73f4ce1d337b4c64aa5e541257dd9e84c4947da9c9ab664", "surface_hash": "sha256:7fb8d999c27622a1a0ea39074d7b375f7686964d77eebeb4be30e616311ab86d",
"coverage": { "coverage": {
"surface_products": 21, "surface_products": 20,
"products_with_metadata": 21, "products_with_metadata": 20,
"surface_tools": 504, "surface_tools": 537,
"tools_with_metadata": 504, "tools_with_metadata": 537,
"tools_with_agent_summary": 504, "tools_with_agent_summary": 537,
"tools_with_use_when": 504, "tools_with_use_when": 537,
"tools_with_avoid_when": 504, "tools_with_avoid_when": 537,
"tools_with_examples": 504, "tools_with_examples": 537,
"tools_with_interface_mode": 504, "tools_with_interface_mode": 537,
"unmatched_skill_tools": 182 "unmatched_skill_tools": 163,
"unreviewed_skill_tools": 40
}, },
"products": { "products": {
"aisearch": { "aisearch": {
@@ -91,14 +92,6 @@
"skills/mono/schema-hints/imported/wukong.json" "skills/mono/schema-hints/imported/wukong.json"
] ]
}, },
"conference": {
"agent_summary": "视频会议 / 预约",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32",
"source_refs": [
"dws-wukong-envelope@4574f7022c32:dws-wukong-discovery.conference.prod.json",
"skills/mono/schema-hints/imported/wukong.json"
]
},
"contact": { "contact": {
"agent_summary": "通讯录 / 用户 / 部门", "agent_summary": "通讯录 / 用户 / 部门",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -326,7 +319,6 @@
"attendance", "attendance",
"calendar", "calendar",
"chat", "chat",
"conference",
"contact", "contact",
"dev", "dev",
"devdoc", "devdoc",
@@ -61,6 +61,145 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"sheet batch-update": {
"agent_summary": "将多个写操作打包为一次原子请求执行",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"批量操作/一次执行多个写操作/原子批量/先清除再写入;多个写操作打包"
],
"avoid_when": [
"不需要将多个写操作打包为一次原子请求执行时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet batch-update --node \u003cNODE_ID\u003e --operations '[",
"dws sheet batch-update --node \u003cNODE_ID\u003e --continue-on-error --operations '[...]'"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-batch-operations.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet chart create": {
"agent_summary": "在钉钉电子表格的指定工作表中创建一个浮动图表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"3. 创建柱形图",
"创建折线图",
"创建柱形图"
],
"avoid_when": [
"不需要在钉钉电子表格的指定工作表中创建一个浮动图表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet chart create --node NODE_ID --sheet-id SHEET_ID --properties '{",
"dws sheet chart create --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --properties '{"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-chart.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet chart delete": {
"agent_summary": "删除钉钉电子表格中指定的浮动图表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"删除钉钉电子表格中指定的浮动图表"
],
"avoid_when": [
"不需要删除钉钉电子表格中指定的浮动图表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet chart delete --node NODE_ID --sheet-id SHEET_ID --chart-id CHART_ID"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-chart.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet chart list": {
"agent_summary": "获取钉钉电子表格指定工作表中的浮动图表",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"1. 获取现有配置",
"4. 验证创建结果",
"列出所有浮动图表",
"获取单个图表详情"
],
"avoid_when": [
"不需要获取钉钉电子表格指定工作表中的浮动图表时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws sheet chart list --node NODE_ID --sheet-id SHEET_ID",
"dws sheet chart list --node NODE_ID --sheet-id SHEET_ID --chart-id CHART_ID"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-chart.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet chart update": {
"agent_summary": "更新钉钉电子表格中指定浮动图表的配置",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"3. 整体回写"
],
"avoid_when": [
"不需要更新钉钉电子表格中指定浮动图表的配置时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet chart update --node NODE_ID --sheet-id SHEET_ID --chart-id CHART_ID --properties '{",
"dws sheet chart update --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --chart-id \u003cCHART_ID\u003e --properties '\u003c完整修改后的 JSON\u003e'"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-chart.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet cond-format create": { "sheet cond-format create": {
"agent_summary": "在指定工作表中创建一条条件格式规则。", "agent_summary": "在指定工作表中创建一条条件格式规则。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32", "agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
@@ -1142,6 +1281,36 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"sheet group-dimension": {
"agent_summary": "对钉钉表格指定工作表中的连续整行或整列创建分组",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"创建行分组/创建列分组/折叠几行/折叠几列/取消行列分组;创建分组",
"创建行分组/创建列分组/折叠几行/折叠几列/展开行列分组/取消行列分组;创建分组",
"创建行分组/创建列分组/折叠几行/折叠几列/展开行列分组/取消行列分组;创建并折叠"
],
"avoid_when": [
"不需要对钉钉表格指定工作表中的连续整行或整列创建分组时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws sheet group-dimension --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --range \"3:7\"",
"dws sheet group-dimension --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --range \"C:F\" --group-state fold"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet.md",
"skills/mono/references/products/sheet/sheet-dimension-operations.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet info": { "sheet info": {
"agent_summary": "获取指定工作表详情", "agent_summary": "获取指定工作表详情",
"agent_summary_source": "dws-wukong-envelope@4574f7022c32", "agent_summary_source": "dws-wukong-envelope@4574f7022c32",
@@ -1428,6 +1597,33 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"sheet range batch-clear": {
"agent_summary": "批量清除多个区域,一次原子请求",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"批量清除/一次清除多个区域/清空多个 sheet 的数据;批量清除多个区域"
],
"avoid_when": [
"不需要批量清除多个区域,一次原子请求时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet range batch-clear --node \u003cNODE_ID\u003e --ranges '[\"Sheet1!A1:B3\",\"Sheet2!C1:D5\"]'",
"dws sheet range batch-clear --node \u003cNODE_ID\u003e --ranges '[\"Sheet1!A1:Z1000\"]' --type all"
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet/sheet-batch-operations.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet range batch-set-style": { "sheet range batch-set-style": {
"agent_summary": "对于一个钉钉在线表格,更新指定区域内单元格信息,包括单元格中的值、超链接、数字格式等内容。", "agent_summary": "对于一个钉钉在线表格,更新指定区域内单元格信息,包括单元格中的值、超链接、数字格式等内容。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32", "agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
@@ -1843,6 +2039,110 @@
"interface_mode": "mcp", "interface_mode": "mcp",
"availability": "available" "availability": "available"
}, },
"sheet template apply": {
"agent_summary": "使用指定模板创建新表格文档",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"使用指定模板创建新表格文档"
],
"avoid_when": [
"不需要使用指定模板创建新表格文档时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "write",
"effect_source": "agent-hint",
"risk": "medium",
"confirmation": "not_required",
"idempotency": "unknown",
"examples": [
"dws sheet template apply --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet template list": {
"agent_summary": "获取当前用户可用的表格模板列表,支持按来源筛选",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"获取当前用户可用的表格模板列表,支持按来源筛选"
],
"avoid_when": [
"不需要获取当前用户可用的表格模板列表,支持按来源筛选时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws sheet template list --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet template search": {
"agent_summary": "根据关键词搜索表格模板",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"根据关键词搜索表格模板"
],
"avoid_when": [
"不需要根据关键词搜索表格模板时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws sheet template search --help"
],
"reviewed": false,
"source_refs": [
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet ungroup-dimension": {
"agent_summary": "取消钉钉表格指定工作表中的连续整行或整列分组",
"agent_summary_source": "runtime-surface-completeness-v1",
"use_when": [
"创建行分组/创建列分组/折叠几行/折叠几列/取消行列分组;取消分组",
"创建行分组/创建列分组/折叠几行/折叠几列/展开行列分组/取消行列分组;取消分组"
],
"avoid_when": [
"不需要取消钉钉表格指定工作表中的连续整行或整列分组时不要使用;如仅查询状态请优先选择对应 list/get/search 命令"
],
"effect": "read",
"effect_source": "agent-hint",
"risk": "low",
"confirmation": "not_required",
"idempotency": "idempotent",
"examples": [
"dws sheet ungroup-dimension --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --range \"3:7\"",
"dws sheet ungroup-dimension --node \u003cNODE_ID\u003e --sheet-id \u003cSHEET_ID\u003e --range \"C:F\""
],
"reviewed": false,
"source_refs": [
"skills/mono/references/products/sheet.md",
"skills/mono/references/products/sheet/sheet-dimension-operations.md",
"skills/mono/schema-hints/runtime-surface-completeness.json"
],
"interface_mode": "local",
"availability": "available",
"interface_reason": "当前命令来自本地 Cobra 命令树或复合 helper,无固定 MCP interface_ref"
},
"sheet unmerge-cells": { "sheet unmerge-cells": {
"agent_summary": "取消钉钉表格指定工作表中指定范围内的合并单元格。", "agent_summary": "取消钉钉表格指定工作表中指定范围内的合并单元格。",
"agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32", "agent_summary_source": "mcp-tools-list+cli-registry@4574f7022c32",
File diff suppressed because it is too large. Load diff
+1 -2
View File
@@ -35,8 +35,7 @@ func TestEmbeddedAgentMetadataLoadsSplitDomains(t *testing.T) {
if coverage.ToolsWithUseWhen != len(metadata.Tools) || if coverage.ToolsWithUseWhen != len(metadata.Tools) ||
coverage.ToolsWithAvoidWhen != len(metadata.Tools) || coverage.ToolsWithAvoidWhen != len(metadata.Tools) ||
coverage.ToolsWithExamples != len(metadata.Tools) || coverage.ToolsWithExamples != len(metadata.Tools) ||
coverage.ToolsWithInterfaceMode != len(metadata.Tools) || coverage.ToolsWithInterfaceMode != len(metadata.Tools) {
coverage.UnreviewedSkillTools != 0 {
t.Fatalf("selection metadata coverage = %#v, tools=%d", coverage, len(metadata.Tools)) t.Fatalf("selection metadata coverage = %#v, tools=%d", coverage, len(metadata.Tools))
} }
for path, tool := range metadata.Tools { for path, tool := range metadata.Tools {
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -18,10 +18,10 @@ func TestEmbeddedSchemaCatalogIntegrity(t *testing.T) {
if !embeddedSchemaCatalogAvailable() { if !embeddedSchemaCatalogAvailable() {
t.Fatal("embedded schema catalog is unavailable or failed integrity validation") t.Fatal("embedded schema catalog is unavailable or failed integrity validation")
} }
if got, want := len(loaded.Snapshot.Tools), 504; got != want { if got, want := len(loaded.Snapshot.Tools), 537; got != want {
t.Fatalf("embedded tools = %d, want %d", got, want) t.Fatalf("embedded tools = %d, want %d", got, want)
} }
if got, want := len(loaded.Products), 21; got != want { if got, want := len(loaded.Products), 20; got != want {
t.Fatalf("embedded products = %d, want %d", got, want) t.Fatalf("embedded products = %d, want %d", got, want)
} }
if got := schemaString(loaded.Snapshot.Catalog["source"]); got != "embedded-command-catalog" { if got := schemaString(loaded.Snapshot.Catalog["source"]); got != "embedded-command-catalog" {
@@ -35,7 +35,7 @@ func TestEmbeddedSchemaCatalogProgressiveQueries(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
compact := compactSchemaOverviewPayload(overview) compact := compactSchemaOverviewPayload(overview)
if got, want := schemaProductToolCount(map[string]any{"tools": compact["products"]}), 21; got != want { if got, want := schemaProductToolCount(map[string]any{"tools": compact["products"]}), 20; got != want {
t.Fatalf("compact product count = %d, want %d", got, want) t.Fatalf("compact product count = %d, want %d", got, want)
} }
+292 -272
View File
@@ -177,6 +177,54 @@
"canonical_path": "aitable.field_update", "canonical_path": "aitable.field_update",
"cli_path": "aitable field update" "cli_path": "aitable field update"
}, },
{
"canonical_path": "aitable.form_create",
"cli_path": "aitable form create"
},
{
"canonical_path": "aitable.form_delete",
"cli_path": "aitable form delete"
},
{
"canonical_path": "aitable.form_field_hide",
"cli_path": "aitable form field hide"
},
{
"canonical_path": "aitable.form_field_list",
"cli_path": "aitable form field list"
},
{
"canonical_path": "aitable.form_field_update",
"cli_path": "aitable form field update"
},
{
"canonical_path": "aitable.form_get",
"cli_path": "aitable form get"
},
{
"canonical_path": "aitable.form_list",
"cli_path": "aitable form list"
},
{
"canonical_path": "aitable.form_questions_create",
"cli_path": "aitable form questions create"
},
{
"canonical_path": "aitable.form_questions_delete",
"cli_path": "aitable form questions delete"
},
{
"canonical_path": "aitable.form_share_get",
"cli_path": "aitable form share get"
},
{
"canonical_path": "aitable.form_share_update",
"cli_path": "aitable form share update"
},
{
"canonical_path": "aitable.form_update",
"cli_path": "aitable form update"
},
{ {
"canonical_path": "aitable.import_data", "canonical_path": "aitable.import_data",
"cli_path": "aitable import data" "cli_path": "aitable import data"
@@ -193,6 +241,10 @@
"canonical_path": "aitable.list", "canonical_path": "aitable.list",
"cli_path": "aitable list" "cli_path": "aitable list"
}, },
{
"canonical_path": "aitable.record_batch_update",
"cli_path": "aitable record batch-update"
},
{ {
"canonical_path": "aitable.record_create", "canonical_path": "aitable.record_create",
"cli_path": "aitable record create" "cli_path": "aitable record create"
@@ -433,14 +485,130 @@
{ {
"id": "attendance", "id": "attendance",
"tools": [ "tools": [
{
"canonical_path": "attendance.adjustment_get",
"cli_path": "attendance adjustment get"
},
{
"canonical_path": "attendance.adjustment_search",
"cli_path": "attendance adjustment search"
},
{
"canonical_path": "attendance.approve_list",
"cli_path": "attendance approve list"
},
{
"canonical_path": "attendance.approve_templates",
"cli_path": "attendance approve templates"
},
{
"canonical_path": "attendance.boss_check",
"cli_path": "attendance boss-check"
},
{
"canonical_path": "attendance.check_record",
"cli_path": "attendance check record"
},
{
"canonical_path": "attendance.check_result",
"cli_path": "attendance check result"
},
{
"canonical_path": "attendance.checkin_records",
"cli_path": "attendance checkin records"
},
{
"canonical_path": "attendance.class_create",
"cli_path": "attendance class create"
},
{
"canonical_path": "attendance.class_get",
"cli_path": "attendance class get"
},
{
"canonical_path": "attendance.class_search",
"cli_path": "attendance class search"
},
{
"canonical_path": "attendance.class_update",
"cli_path": "attendance class update"
},
{
"canonical_path": "attendance.globalsetting_get",
"cli_path": "attendance globalsetting get"
},
{
"canonical_path": "attendance.globalsetting_save",
"cli_path": "attendance globalsetting save"
},
{
"canonical_path": "attendance.group_create",
"cli_path": "attendance group create"
},
{
"canonical_path": "attendance.group_filtered_get",
"cli_path": "attendance group filtered-get"
},
{
"canonical_path": "attendance.group_get",
"cli_path": "attendance group get"
},
{
"canonical_path": "attendance.group_search",
"cli_path": "attendance group search"
},
{
"canonical_path": "attendance.group_update",
"cli_path": "attendance group update"
},
{
"canonical_path": "attendance.group_update_members",
"cli_path": "attendance group update-members"
},
{
"canonical_path": "attendance.overtime_get",
"cli_path": "attendance overtime get"
},
{
"canonical_path": "attendance.overtime_search",
"cli_path": "attendance overtime search"
},
{ {
"canonical_path": "attendance.get_user_attendance_record", "canonical_path": "attendance.get_user_attendance_record",
"cli_path": "attendance record get" "cli_path": "attendance record get"
}, },
{
"canonical_path": "attendance.report_columns",
"cli_path": "attendance report columns"
},
{
"canonical_path": "attendance.report_query_data",
"cli_path": "attendance report query-data"
},
{
"canonical_path": "attendance.report_query_leave",
"cli_path": "attendance report query-leave"
},
{ {
"canonical_path": "attendance.query_attendance_group_or_rules", "canonical_path": "attendance.query_attendance_group_or_rules",
"cli_path": "attendance rules" "cli_path": "attendance rules"
}, },
{
"canonical_path": "attendance.schedule_get",
"cli_path": "attendance schedule get"
},
{
"canonical_path": "attendance.schedule_import",
"cli_path": "attendance schedule import"
},
{
"canonical_path": "attendance.selfsetting_get",
"cli_path": "attendance selfsetting get"
},
{
"canonical_path": "attendance.selfsetting_save",
"cli_path": "attendance selfsetting save"
},
{ {
"canonical_path": "attendance.batch_get_employee_shifts", "canonical_path": "attendance.batch_get_employee_shifts",
"cli_path": "attendance shift list" "cli_path": "attendance shift list"
@@ -448,6 +616,26 @@
{ {
"canonical_path": "attendance.get_attendance_summary", "canonical_path": "attendance.get_attendance_summary",
"cli_path": "attendance summary" "cli_path": "attendance summary"
},
{
"canonical_path": "attendance.vacation_balance",
"cli_path": "attendance vacation balance"
},
{
"canonical_path": "attendance.vacation_records",
"cli_path": "attendance vacation records"
},
{
"canonical_path": "attendance.vacation_save_balance",
"cli_path": "attendance vacation save-balance"
},
{
"canonical_path": "attendance.vacation_types",
"cli_path": "attendance vacation types"
},
{
"canonical_path": "attendance.vacation_update_type",
"cli_path": "attendance vacation update-type"
} }
] ]
}, },
@@ -464,24 +652,15 @@
}, },
{ {
"canonical_path": "calendar.add_calendar_participant", "canonical_path": "calendar.add_calendar_participant",
"cli_path": "calendar attendee add", "cli_path": "calendar attendee add"
"aliases": [
"calendar participant add"
]
}, },
{ {
"canonical_path": "calendar.remove_calendar_participant", "canonical_path": "calendar.remove_calendar_participant",
"cli_path": "calendar attendee delete", "cli_path": "calendar attendee delete"
"aliases": [
"calendar participant delete"
]
}, },
{ {
"canonical_path": "calendar.get_calendar_participants", "canonical_path": "calendar.get_calendar_participants",
"cli_path": "calendar attendee list", "cli_path": "calendar attendee list"
"aliases": [
"calendar participant list"
]
}, },
{ {
"canonical_path": "calendar.get_calendar", "canonical_path": "calendar.get_calendar",
@@ -558,17 +737,14 @@
}, },
{ {
"canonical_path": "chat.list_user_define_conv_categories", "canonical_path": "chat.list_user_define_conv_categories",
"source_product_id": "im",
"cli_path": "chat category list" "cli_path": "chat category list"
}, },
{ {
"canonical_path": "chat.list_conversations_by_category", "canonical_path": "chat.list_conversations_by_category",
"source_product_id": "im",
"cli_path": "chat category list-conversations" "cli_path": "chat category list-conversations"
}, },
{ {
"canonical_path": "chat.get_conversation_info", "canonical_path": "chat.get_conversation_info",
"source_product_id": "group-chat",
"cli_path": "chat conversation-info" "cli_path": "chat conversation-info"
}, },
{ {
@@ -581,41 +757,30 @@
}, },
{ {
"canonical_path": "chat.dismiss_group", "canonical_path": "chat.dismiss_group",
"source_product_id": "im",
"cli_path": "chat group dismiss" "cli_path": "chat group dismiss"
}, },
{ {
"canonical_path": "chat.get_conv_info_by_group_id", "canonical_path": "chat.get_conv_info_by_group_id",
"source_product_id": "im",
"cli_path": "chat group get-by-group-id" "cli_path": "chat group get-by-group-id"
}, },
{ {
"canonical_path": "chat.get_group_invite_url", "canonical_path": "chat.get_group_invite_url",
"source_product_id": "im",
"cli_path": "chat group invite-url" "cli_path": "chat group invite-url"
}, },
{ {
"canonical_path": "chat.list_owned_or_admin_groups", "canonical_path": "chat.list_owned_or_admin_groups",
"source_product_id": "im",
"cli_path": "chat group list-my-groups" "cli_path": "chat group list-my-groups"
}, },
{ {
"canonical_path": "chat.add_group_member", "canonical_path": "chat.add_group_member",
"source_product_id": "group-chat",
"cli_path": "chat group members add" "cli_path": "chat group members add"
}, },
{ {
"canonical_path": "chat.add_robot_to_group", "canonical_path": "chat.add_robot_to_group",
"cli_path": "chat group members add-bot" "cli_path": "chat group members add-bot"
}, },
{
"canonical_path": "chat.get_group_members",
"source_product_id": "group-chat",
"cli_path": "chat group members list"
},
{ {
"canonical_path": "chat.remove_group_member", "canonical_path": "chat.remove_group_member",
"source_product_id": "group-chat",
"cli_path": "chat group members remove" "cli_path": "chat group members remove"
}, },
{ {
@@ -624,187 +789,150 @@
}, },
{ {
"canonical_path": "chat.quit_group", "canonical_path": "chat.quit_group",
"source_product_id": "im",
"cli_path": "chat group quit" "cli_path": "chat group quit"
}, },
{ {
"canonical_path": "chat.update_group_name", "canonical_path": "chat.update_group_name",
"source_product_id": "group-chat",
"cli_path": "chat group rename" "cli_path": "chat group rename"
}, },
{ {
"canonical_path": "chat.update_conv_member_roles", "canonical_path": "chat.update_conv_member_roles",
"source_product_id": "im",
"cli_path": "chat group set-admin" "cli_path": "chat group set-admin"
}, },
{ {
"canonical_path": "chat.update_show_history_msg_option", "canonical_path": "chat.update_show_history_msg_option",
"source_product_id": "im",
"cli_path": "chat group set-history" "cli_path": "chat group set-history"
}, },
{ {
"canonical_path": "chat.transfer_group_owner", "canonical_path": "chat.transfer_group_owner",
"source_product_id": "im",
"cli_path": "chat group transfer-owner" "cli_path": "chat group transfer-owner"
}, },
{ {
"canonical_path": "chat.update_group_icon", "canonical_path": "chat.update_group_icon",
"source_product_id": "im",
"cli_path": "chat group update-icon" "cli_path": "chat group update-icon"
}, },
{ {
"canonical_path": "chat.update_group_settings", "canonical_path": "chat.update_group_settings",
"source_product_id": "im",
"cli_path": "chat group update-settings" "cli_path": "chat group update-settings"
}, },
{ {
"canonical_path": "chat.set_group_mute", "canonical_path": "chat.set_group_mute",
"source_product_id": "im",
"cli_path": "chat group-mute" "cli_path": "chat group-mute"
}, },
{ {
"canonical_path": "chat.set_group_member_mute_list", "canonical_path": "chat.set_group_member_mute_list",
"source_product_id": "im",
"cli_path": "chat group-mute-member" "cli_path": "chat group-mute-member"
}, },
{ {
"canonical_path": "chat.add_custom_group_role", "canonical_path": "chat.add_custom_group_role",
"source_product_id": "im",
"cli_path": "chat group-role add" "cli_path": "chat group-role add"
}, },
{ {
"canonical_path": "chat.list_custom_group_roles", "canonical_path": "chat.list_custom_group_roles",
"source_product_id": "im",
"cli_path": "chat group-role list" "cli_path": "chat group-role list"
}, },
{ {
"canonical_path": "chat.query_custom_user_roles", "canonical_path": "chat.query_custom_user_roles",
"source_product_id": "im",
"cli_path": "chat group-role query-user" "cli_path": "chat group-role query-user"
}, },
{ {
"canonical_path": "chat.remove_custom_group_role", "canonical_path": "chat.remove_custom_group_role",
"source_product_id": "im",
"cli_path": "chat group-role remove" "cli_path": "chat group-role remove"
}, },
{ {
"canonical_path": "chat.remove_custom_user_roles", "canonical_path": "chat.remove_custom_user_roles",
"source_product_id": "im",
"cli_path": "chat group-role remove-user" "cli_path": "chat group-role remove-user"
}, },
{ {
"canonical_path": "chat.set_custom_user_roles", "canonical_path": "chat.set_custom_user_roles",
"source_product_id": "im",
"cli_path": "chat group-role set-user" "cli_path": "chat group-role set-user"
}, },
{ {
"canonical_path": "chat.update_custom_group_role", "canonical_path": "chat.update_custom_group_role",
"source_product_id": "im",
"cli_path": "chat group-role update" "cli_path": "chat group-role update"
}, },
{ {
"canonical_path": "chat.list_top_conversations", "canonical_path": "chat.list_top_conversations",
"source_product_id": "group-chat",
"cli_path": "chat list-top-conversations" "cli_path": "chat list-top-conversations"
}, },
{ {
"canonical_path": "chat.add_emoji_reaction", "canonical_path": "chat.add_emoji_reaction",
"source_product_id": "im",
"cli_path": "chat message add-emoji" "cli_path": "chat message add-emoji"
}, },
{ {
"canonical_path": "chat.add_text_emotion", "canonical_path": "chat.add_text_emotion",
"source_product_id": "im",
"cli_path": "chat message add-text-emotion" "cli_path": "chat message add-text-emotion"
}, },
{ {
"canonical_path": "chat.combine_forward_messages", "canonical_path": "chat.combine_forward_messages",
"source_product_id": "im",
"cli_path": "chat message combine-forward" "cli_path": "chat message combine-forward"
}, },
{ {
"canonical_path": "chat.create_text_emotion", "canonical_path": "chat.create_text_emotion",
"source_product_id": "im",
"cli_path": "chat message create-text-emotion" "cli_path": "chat message create-text-emotion"
}, },
{ {
"canonical_path": "chat.download_media", "canonical_path": "chat.download_media",
"source_product_id": "im",
"cli_path": "chat message download-media" "cli_path": "chat message download-media"
}, },
{ {
"canonical_path": "chat.forward_message", "canonical_path": "chat.forward_message",
"source_product_id": "im",
"cli_path": "chat message forward" "cli_path": "chat message forward"
}, },
{ {
"canonical_path": "chat.forward_topic", "canonical_path": "chat.forward_topic",
"source_product_id": "im",
"cli_path": "chat message forward-topic" "cli_path": "chat message forward-topic"
}, },
{ {
"canonical_path": "chat.list_conversation_message_v2", "canonical_path": "chat.list_conversation_message_v2",
"source_product_id": "group-chat",
"cli_path": "chat message list" "cli_path": "chat message list"
}, },
{ {
"canonical_path": "chat.search_messages_by_time_range", "canonical_path": "chat.search_messages_by_time_range",
"source_product_id": "group-chat",
"cli_path": "chat message list-all" "cli_path": "chat message list-all"
}, },
{ {
"canonical_path": "chat.list_messages_by_ids", "canonical_path": "chat.list_messages_by_ids",
"source_product_id": "im",
"cli_path": "chat message list-by-ids" "cli_path": "chat message list-by-ids"
}, },
{ {
"canonical_path": "chat.search_messages_by_sender", "canonical_path": "chat.search_messages_by_sender",
"source_product_id": "group-chat",
"cli_path": "chat message list-by-sender" "cli_path": "chat message list-by-sender"
}, },
{ {
"canonical_path": "chat.list_individual_chat_message", "canonical_path": "chat.list_individual_chat_message",
"source_product_id": "group-chat",
"cli_path": "chat message list-direct" "cli_path": "chat message list-direct"
}, },
{ {
"canonical_path": "chat.list_special_focus_messages", "canonical_path": "chat.list_special_focus_messages",
"source_product_id": "group-chat",
"cli_path": "chat message list-focused" "cli_path": "chat message list-focused"
}, },
{ {
"canonical_path": "chat.search_at_me_message", "canonical_path": "chat.search_at_me_message",
"source_product_id": "group-chat",
"cli_path": "chat message list-mentions" "cli_path": "chat message list-mentions"
}, },
{ {
"canonical_path": "chat.list_pin_messages", "canonical_path": "chat.list_pin_messages",
"source_product_id": "im",
"cli_path": "chat message list-pin-msg" "cli_path": "chat message list-pin-msg"
}, },
{ {
"canonical_path": "chat.list_topic_replies", "canonical_path": "chat.list_topic_replies",
"source_product_id": "group-chat",
"cli_path": "chat message list-topic-replies" "cli_path": "chat message list-topic-replies"
}, },
{ {
"canonical_path": "chat.unread_message_conversation_list", "canonical_path": "chat.unread_message_conversation_list",
"source_product_id": "group-chat",
"cli_path": "chat message list-unread-conversations" "cli_path": "chat message list-unread-conversations"
}, },
{ {
"canonical_path": "chat.query_message_send_status", "canonical_path": "chat.query_message_send_status",
"source_product_id": "im",
"cli_path": "chat message query-send-status" "cli_path": "chat message query-send-status"
}, },
{ {
"canonical_path": "chat.query_msg_read_status", "canonical_path": "chat.query_msg_read_status",
"source_product_id": "im",
"cli_path": "chat message read-status" "cli_path": "chat message read-status"
}, },
{ {
"canonical_path": "chat.recall_message", "canonical_path": "chat.recall_message",
"source_product_id": "im",
"cli_path": "chat message recall" "cli_path": "chat message recall"
}, },
{ {
@@ -813,32 +941,28 @@
}, },
{ {
"canonical_path": "chat.remove_emoji_reaction", "canonical_path": "chat.remove_emoji_reaction",
"source_product_id": "im",
"cli_path": "chat message remove-emoji" "cli_path": "chat message remove-emoji"
}, },
{ {
"canonical_path": "chat.remove_text_emotion", "canonical_path": "chat.remove_text_emotion",
"source_product_id": "im",
"cli_path": "chat message remove-text-emotion" "cli_path": "chat message remove-text-emotion"
}, },
{
"canonical_path": "chat.send_personal_message",
"cli_path": "chat message send"
},
{ {
"canonical_path": "chat.reply_personal_message", "canonical_path": "chat.reply_personal_message",
"cli_path": "chat message reply" "cli_path": "chat message reply"
}, },
{ {
"canonical_path": "chat.search_messages_by_keyword", "canonical_path": "chat.search_messages_by_keyword",
"source_product_id": "group-chat",
"cli_path": "chat message search" "cli_path": "chat message search"
}, },
{ {
"canonical_path": "chat.search_messages", "canonical_path": "chat.search_messages",
"source_product_id": "im",
"cli_path": "chat message search-advanced" "cli_path": "chat message search-advanced"
}, },
{
"canonical_path": "chat.send_personal_message",
"cli_path": "chat message send"
},
{ {
"canonical_path": "chat.send_robot_message", "canonical_path": "chat.send_robot_message",
"cli_path": "chat message send-by-bot" "cli_path": "chat message send-by-bot"
@@ -849,216 +973,38 @@
}, },
{ {
"canonical_path": "chat.create_and_send_card", "canonical_path": "chat.create_and_send_card",
"source_product_id": "im",
"cli_path": "chat message send-card" "cli_path": "chat message send-card"
}, },
{ {
"canonical_path": "chat.set_pin_message", "canonical_path": "chat.set_pin_message",
"source_product_id": "im",
"cli_path": "chat message set-pin-msg" "cli_path": "chat message set-pin-msg"
}, },
{ {
"canonical_path": "chat.unset_pin_message", "canonical_path": "chat.unset_pin_message",
"source_product_id": "im",
"cli_path": "chat message unset-pin-msg" "cli_path": "chat message unset-pin-msg"
}, },
{ {
"canonical_path": "chat.update_streaming_card", "canonical_path": "chat.update_streaming_card",
"source_product_id": "im",
"cli_path": "chat message update-card" "cli_path": "chat message update-card"
}, },
{ {
"canonical_path": "chat.update_notification_off", "canonical_path": "chat.update_notification_off",
"source_product_id": "im",
"cli_path": "chat mute" "cli_path": "chat mute"
}, },
{ {
"canonical_path": "chat.search_groups", "canonical_path": "chat.search_groups",
"source_product_id": "im",
"cli_path": "chat search" "cli_path": "chat search"
}, },
{ {
"canonical_path": "chat.search_common_groups", "canonical_path": "chat.search_common_groups",
"source_product_id": "group-chat",
"cli_path": "chat search-common" "cli_path": "chat search-common"
}, },
{ {
"canonical_path": "chat.set_top_conversation", "canonical_path": "chat.set_top_conversation",
"source_product_id": "im",
"cli_path": "chat set-top" "cli_path": "chat set-top"
} }
] ]
}, },
{
"id": "conference",
"tools": [
{
"canonical_path": "conference.ai_open_virtual_background_setting_page",
"source_product_id": "conference-local",
"cli_path": "conference appearance background-setting"
},
{
"canonical_path": "conference.ai_open_beauty_setting_page",
"source_product_id": "conference-local",
"cli_path": "conference appearance beauty-setting"
},
{
"canonical_path": "conference.ai_close_camera",
"source_product_id": "conference-local",
"cli_path": "conference camera close"
},
{
"canonical_path": "conference.ai_open_camera",
"source_product_id": "conference-local",
"cli_path": "conference camera open"
},
{
"canonical_path": "conference.ai_end_meeting_for_all",
"source_product_id": "conference-local",
"cli_path": "conference end"
},
{
"canonical_path": "conference.get_conference_id",
"source_product_id": "conference-local",
"cli_path": "conference get-id"
},
{
"canonical_path": "conference.ai_open_interactive_panel",
"source_product_id": "conference-local",
"cli_path": "conference interaction panel"
},
{
"canonical_path": "conference.ai_close_simultaneous_interpretation",
"source_product_id": "conference-local",
"cli_path": "conference interpretation close"
},
{
"canonical_path": "conference.ai_open_simultaneous_interpretation",
"source_product_id": "conference-local",
"cli_path": "conference interpretation open"
},
{
"canonical_path": "conference.ai_one_click_call",
"source_product_id": "conference-local",
"cli_path": "conference invite all"
},
{
"canonical_path": "conference.ai_open_invite_member_panel",
"source_product_id": "conference-local",
"cli_path": "conference invite panel"
},
{
"canonical_path": "conference.ai_leave_myself",
"source_product_id": "conference-local",
"cli_path": "conference leave"
},
{
"canonical_path": "conference.ai_mute_mic",
"source_product_id": "conference-local",
"cli_path": "conference mic mute"
},
{
"canonical_path": "conference.ai_mute_all",
"source_product_id": "conference-local",
"cli_path": "conference mic mute-all"
},
{
"canonical_path": "conference.ai_unmute_mic",
"source_product_id": "conference-local",
"cli_path": "conference mic unmute"
},
{
"canonical_path": "conference.ai_take_group_photo",
"source_product_id": "conference-local",
"cli_path": "conference photo take"
},
{
"canonical_path": "conference.ai_request_record",
"source_product_id": "conference-local",
"cli_path": "conference record request"
},
{
"canonical_path": "conference.ai_start_cloud_record",
"source_product_id": "conference-local",
"cli_path": "conference record start"
},
{
"canonical_path": "conference.ai_stop_cloud_record",
"source_product_id": "conference-local",
"cli_path": "conference record stop"
},
{
"canonical_path": "conference.ai_open_security_menu",
"source_product_id": "conference-local",
"cli_path": "conference security menu"
},
{
"canonical_path": "conference.ai_open_annotation",
"source_product_id": "conference-local",
"cli_path": "conference share annotate"
},
{
"canonical_path": "conference.ai_open_share_panel",
"source_product_id": "conference-local",
"cli_path": "conference share panel"
},
{
"canonical_path": "conference.ai_share_desktop",
"source_product_id": "conference-local",
"cli_path": "conference share start"
},
{
"canonical_path": "conference.ai_stop_share",
"source_product_id": "conference-local",
"cli_path": "conference share stop"
},
{
"canonical_path": "conference.create_conference",
"source_product_id": "conference-local",
"cli_path": "conference start"
},
{
"canonical_path": "conference.get_conference_status",
"source_product_id": "conference-local",
"cli_path": "conference status"
},
{
"canonical_path": "conference.ai_close_subtitle",
"source_product_id": "conference-local",
"cli_path": "conference subtitle close"
},
{
"canonical_path": "conference.ai_open_subtitle",
"source_product_id": "conference-local",
"cli_path": "conference subtitle open"
},
{
"canonical_path": "conference.ai_close_transcript",
"source_product_id": "conference-local",
"cli_path": "conference transcript close"
},
{
"canonical_path": "conference.ai_open_transcript",
"source_product_id": "conference-local",
"cli_path": "conference transcript open"
},
{
"canonical_path": "conference.ai_switch_gallery_view",
"source_product_id": "conference-local",
"cli_path": "conference view grid"
},
{
"canonical_path": "conference.ai_switch_speaker_view",
"source_product_id": "conference-local",
"cli_path": "conference view speaker"
},
{
"canonical_path": "conference.ai_switch_standard_view",
"source_product_id": "conference-local",
"cli_path": "conference view standard"
}
]
},
{ {
"id": "contact", "id": "contact",
"tools": [ "tools": [
@@ -1084,7 +1030,6 @@
}, },
{ {
"canonical_path": "contact.query_dismission_employee_list", "canonical_path": "contact.query_dismission_employee_list",
"source_product_id": "hrmregister",
"cli_path": "contact user dismission search" "cli_path": "contact user dismission search"
}, },
{ {
@@ -1097,12 +1042,10 @@
}, },
{ {
"canonical_path": "contact.list_authorized_roster_fields", "canonical_path": "contact.list_authorized_roster_fields",
"source_product_id": "hrmregister",
"cli_path": "contact user profile fields" "cli_path": "contact user profile fields"
}, },
{ {
"canonical_path": "contact.get_authorized_emp_rosterInfo", "canonical_path": "contact.get_authorized_emp_rosterInfo",
"source_product_id": "hrmregister",
"cli_path": "contact user profile get" "cli_path": "contact user profile get"
}, },
{ {
@@ -1228,10 +1171,7 @@
}, },
{ {
"canonical_path": "dev.publish_dev_app_version", "canonical_path": "dev.publish_dev_app_version",
"cli_path": "dev app version publish", "cli_path": "dev app version publish"
"aliases": [
"dev app version check-approval"
]
}, },
{ {
"canonical_path": "dev.get_dev_app_version_status", "canonical_path": "dev.get_dev_app_version_status",
@@ -1262,25 +1202,9 @@
{ {
"id": "devdoc", "id": "devdoc",
"tools": [ "tools": [
{
"canonical_path": "devdoc.search_dingtalk_open_docs",
"cli_path": "devdoc article legacy-search"
},
{
"canonical_path": "devdoc.search_open_platform_docs",
"cli_path": "devdoc article legacy-search-open-platform"
},
{
"canonical_path": "devdoc.devdoc_rag_pretest",
"cli_path": "devdoc article rag-pretest"
},
{ {
"canonical_path": "devdoc.search_open_platform_docs_rag", "canonical_path": "devdoc.search_open_platform_docs_rag",
"cli_path": "devdoc article search" "cli_path": "devdoc article search"
},
{
"canonical_path": "devdoc.search_open_error_code_rag",
"cli_path": "devdoc error diagnose"
} }
] ]
}, },
@@ -1360,6 +1284,10 @@
"canonical_path": "doc.create_folder", "canonical_path": "doc.create_folder",
"cli_path": "doc folder create" "cli_path": "doc folder create"
}, },
{
"canonical_path": "doc.import_get",
"cli_path": "doc import get"
},
{ {
"canonical_path": "doc.get_document_info", "canonical_path": "doc.get_document_info",
"cli_path": "doc info" "cli_path": "doc info"
@@ -1408,6 +1336,18 @@
"canonical_path": "doc.search_documents", "canonical_path": "doc.search_documents",
"cli_path": "doc search" "cli_path": "doc search"
}, },
{
"canonical_path": "doc.template_apply",
"cli_path": "doc template apply"
},
{
"canonical_path": "doc.template_list",
"cli_path": "doc template list"
},
{
"canonical_path": "doc.template_search",
"cli_path": "doc template search"
},
{ {
"canonical_path": "doc.update_document", "canonical_path": "doc.update_document",
"cli_path": "doc update" "cli_path": "doc update"
@@ -1415,6 +1355,18 @@
{ {
"canonical_path": "doc.upload", "canonical_path": "doc.upload",
"cli_path": "doc upload" "cli_path": "doc upload"
},
{
"canonical_path": "doc.version_list",
"cli_path": "doc version list"
},
{
"canonical_path": "doc.version_revert",
"cli_path": "doc version revert"
},
{
"canonical_path": "doc.version_save",
"cli_path": "doc version save"
} }
] ]
}, },
@@ -1473,6 +1425,30 @@
"canonical_path": "drive.permission_update", "canonical_path": "drive.permission_update",
"cli_path": "drive permission update" "cli_path": "drive permission update"
}, },
{
"canonical_path": "drive.publish_get",
"cli_path": "drive publish get"
},
{
"canonical_path": "drive.publish_set",
"cli_path": "drive publish set"
},
{
"canonical_path": "drive.publish_unset",
"cli_path": "drive publish unset"
},
{
"canonical_path": "drive.recent",
"cli_path": "drive recent"
},
{
"canonical_path": "drive.recycle_list",
"cli_path": "drive recycle list"
},
{
"canonical_path": "drive.recycle_restore",
"cli_path": "drive recycle restore"
},
{ {
"canonical_path": "drive.rename_document", "canonical_path": "drive.rename_document",
"cli_path": "drive rename" "cli_path": "drive rename"
@@ -1894,6 +1870,26 @@
"canonical_path": "sheet.append_rows", "canonical_path": "sheet.append_rows",
"cli_path": "sheet append" "cli_path": "sheet append"
}, },
{
"canonical_path": "sheet.batch_update",
"cli_path": "sheet batch-update"
},
{
"canonical_path": "sheet.chart_create",
"cli_path": "sheet chart create"
},
{
"canonical_path": "sheet.chart_delete",
"cli_path": "sheet chart delete"
},
{
"canonical_path": "sheet.chart_list",
"cli_path": "sheet chart list"
},
{
"canonical_path": "sheet.chart_update",
"cli_path": "sheet chart update"
},
{ {
"canonical_path": "sheet.create_cond_format", "canonical_path": "sheet.create_cond_format",
"cli_path": "sheet cond-format create" "cli_path": "sheet cond-format create"
@@ -2022,6 +2018,10 @@
"canonical_path": "sheet.get_float_image", "canonical_path": "sheet.get_float_image",
"cli_path": "sheet get-float-image" "cli_path": "sheet get-float-image"
}, },
{
"canonical_path": "sheet.group_dimension",
"cli_path": "sheet group-dimension"
},
{ {
"canonical_path": "sheet.info", "canonical_path": "sheet.info",
"cli_path": "sheet info" "cli_path": "sheet info"
@@ -2054,6 +2054,10 @@
"canonical_path": "sheet.create_sheet", "canonical_path": "sheet.create_sheet",
"cli_path": "sheet new" "cli_path": "sheet new"
}, },
{
"canonical_path": "sheet.range_batch_clear",
"cli_path": "sheet range batch-clear"
},
{ {
"canonical_path": "sheet.range_batch_set_style", "canonical_path": "sheet.range_batch_set_style",
"cli_path": "sheet range batch-set-style" "cli_path": "sheet range batch-set-style"
@@ -2098,6 +2102,22 @@
"canonical_path": "sheet.set_dropdown_lists", "canonical_path": "sheet.set_dropdown_lists",
"cli_path": "sheet set-dropdown" "cli_path": "sheet set-dropdown"
}, },
{
"canonical_path": "sheet.template_apply",
"cli_path": "sheet template apply"
},
{
"canonical_path": "sheet.template_list",
"cli_path": "sheet template list"
},
{
"canonical_path": "sheet.template_search",
"cli_path": "sheet template search"
},
{
"canonical_path": "sheet.ungroup_dimension",
"cli_path": "sheet ungroup-dimension"
},
{ {
"canonical_path": "sheet.unmerge_range", "canonical_path": "sheet.unmerge_range",
"cli_path": "sheet unmerge-cells" "cli_path": "sheet unmerge-cells"
+2 -8
View File
@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"source_catalog_hash": "sha256:6dc63141d35119ff6095d189ef9d8994cd35162ecf9fff9ad23b2ab68e4e2b7f", "source_catalog_hash": "sha256:b207f3f9977e948b2d1fcf30e81b24d06571344e17de3ca2ac8cfdc7465ef772",
"historical_binding_count": 311, "historical_binding_count": 311,
"migrations": { "migrations": {
"contact.get_dept_info_by_dept_id --id": "contact.get_dept_info_by_dept_id --dept", "contact.get_dept_info_by_dept_id --id": "contact.get_dept_info_by_dept_id --dept",
@@ -175,9 +175,6 @@
"chat.get_group_invite_url": { "chat.get_group_invite_url": {
"group": "openConversationId" "group": "openConversationId"
}, },
"chat.get_group_members": {
"id": "openconversation_id"
},
"chat.list_conversation_message_v2": { "chat.list_conversation_message_v2": {
"group": "openconversation_id" "group": "openconversation_id"
}, },
@@ -328,9 +325,6 @@
"chat.update_streaming_card": { "chat.update_streaming_card": {
"content": "msgContent" "content": "msgContent"
}, },
"conference.ai_share_desktop": {
"capture-speaker": "capture_speaker"
},
"contact.get_authorized_emp_rosterInfo": { "contact.get_authorized_emp_rosterInfo": {
"fields": "fieldCodeList" "fields": "fieldCodeList"
}, },
@@ -634,4 +628,4 @@
"task-id": "todoReminderUpdateRequest.taskId" "task-id": "todoReminderUpdateRequest.taskId"
} }
} }
} }
@@ -26,16 +26,16 @@ func TestSchemaParameterBindingsMatchEmbeddedCatalog(t *testing.T) {
} }
} }
} }
if count != 316 { if count == 0 {
t.Fatalf("active parameter binding count = %d, want 316", count) t.Fatal("active parameter binding count is zero")
} }
snapshot := runtimeSchemaParameterBindingSnapshot snapshot := runtimeSchemaParameterBindingSnapshot
if snapshot.HistoricalBindingCount != 311 || len(snapshot.Migrations) != 5 || len(snapshot.Excluded) != 3 || len(snapshot.Added) != 8 { if snapshot.HistoricalBindingCount != 311 || len(snapshot.Migrations) != 5 || len(snapshot.Excluded) != 3 || len(snapshot.Added) != 8 {
t.Fatalf("binding seed audit = historical:%d migrations:%d excluded:%d added:%d", t.Fatalf("binding seed audit = historical:%d migrations:%d excluded:%d added:%d",
snapshot.HistoricalBindingCount, len(snapshot.Migrations), len(snapshot.Excluded), len(snapshot.Added)) snapshot.HistoricalBindingCount, len(snapshot.Migrations), len(snapshot.Excluded), len(snapshot.Added))
} }
if snapshot.SourceCatalogHash != "sha256:6dc63141d35119ff6095d189ef9d8994cd35162ecf9fff9ad23b2ab68e4e2b7f" { if snapshot.SourceCatalogHash != runtimeEmbeddedSchemaCatalog.Snapshot.SourceHash {
t.Fatalf("binding source catalog hash = %q", snapshot.SourceCatalogHash) t.Fatalf("binding source catalog hash = %q, want %q", snapshot.SourceCatalogHash, runtimeEmbeddedSchemaCatalog.Snapshot.SourceHash)
} }
if got := runtimeSchemaParameterBindings["calendar.get_calendar"]["id"]; got != "calendarId" { if got := runtimeSchemaParameterBindings["calendar.get_calendar"]["id"]; got != "calendarId" {
t.Fatalf("calendar.get_calendar --id property = %q, want calendarId", got) t.Fatalf("calendar.get_calendar --id property = %q, want calendarId", got)
+2 -2
View File
@@ -35,8 +35,8 @@ func TestSchemaUsesEmbeddedCatalogWithoutRuntimeLoad(t *testing.T) {
if err := json.Unmarshal(stdout.Bytes(), &payload); err != nil { if err := json.Unmarshal(stdout.Bytes(), &payload); err != nil {
t.Fatalf("decode schema: %v\n%s", err, stdout.String()) t.Fatalf("decode schema: %v\n%s", err, stdout.String())
} }
if payload.Count != 21 || payload.ToolCount != 504 { if payload.Count != 20 || payload.ToolCount != 537 {
t.Fatalf("schema counts = %d/%d, want 21/504", payload.Count, payload.ToolCount) t.Fatalf("schema counts = %d/%d, want 20/537", payload.Count, payload.ToolCount)
} }
} }
@@ -14,7 +14,6 @@
package main package main
import ( import (
"bytes"
"crypto/sha256" "crypto/sha256"
"encoding/hex" "encoding/hex"
"encoding/json" "encoding/json"
@@ -26,6 +25,7 @@ import (
"strings" "strings"
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/app" "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/app"
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/cli"
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/generator/agentmetadata" "github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/generator/agentmetadata"
) )
@@ -294,19 +294,81 @@ func loadCommandSurface() (commandSurface, error) {
func currentCommandSurfaceSnapshot() (commandSurfaceSnapshot, error) { func currentCommandSurfaceSnapshot() (commandSurfaceSnapshot, error) {
root := app.NewRootCommand() root := app.NewRootCommand()
var stdout, stderr bytes.Buffer snapshot, err := cli.BuildSchemaCatalogSnapshot(root, cli.SchemaCatalogBuildOptions{})
root.SetOut(&stdout) if err != nil {
root.SetErr(&stderr) return commandSurfaceSnapshot{}, fmt.Errorf("build command surface from Cobra tree: %w", err)
root.SetArgs([]string{"schema", "--all", "--format", "json"})
if err := root.Execute(); err != nil {
return commandSurfaceSnapshot{}, fmt.Errorf("execute dws schema --all: %w: %s", err, strings.TrimSpace(stderr.String()))
} }
var snapshot commandSurfaceSnapshot products := make([]commandSurfaceProduct, 0)
if err := json.Unmarshal(stdout.Bytes(), &snapshot); err != nil { for _, rawProduct := range schemaMapSlice(snapshot.Catalog["products"]) {
return commandSurfaceSnapshot{}, fmt.Errorf("decode schema catalog: %w", err) productID := strings.TrimSpace(schemaString(rawProduct["id"]))
if productID == "" {
continue
}
product := commandSurfaceProduct{ID: productID}
for _, rawTool := range schemaMapSlice(rawProduct["tools"]) {
cliPath := strings.TrimSpace(schemaString(rawTool["cli_path"]))
if cliPath == "" {
continue
}
aliases := schemaStringSlice(rawTool["aliases"])
product.Tools = append(product.Tools, commandSurfaceTool{
CanonicalPath: strings.TrimSpace(schemaString(rawTool["canonical_path"])),
SourceProductID: strings.TrimSpace(schemaString(rawTool["source_product_id"])),
CLIPath: cliPath,
Aliases: aliases,
})
}
products = append(products, product)
} }
snapshot.Version = commandSurfaceSnapshotVersion return normalizeCommandSurfaceSnapshot(commandSurfaceSnapshot{Version: commandSurfaceSnapshotVersion, Products: products}), nil
return normalizeCommandSurfaceSnapshot(snapshot), nil }
func schemaMapSlice(value any) []map[string]any {
items, ok := value.([]map[string]any)
if ok {
return items
}
anyItems, ok := value.([]any)
if !ok {
return nil
}
out := make([]map[string]any, 0, len(anyItems))
for _, item := range anyItems {
if mapped, ok := item.(map[string]any); ok {
out = append(out, mapped)
}
}
return out
}
func schemaString(value any) string {
if value == nil {
return ""
}
if s, ok := value.(string); ok {
return s
}
return fmt.Sprint(value)
}
func schemaStringSlice(value any) []string {
if value == nil {
return nil
}
if items, ok := value.([]string); ok {
return append([]string(nil), items...)
}
anyItems, ok := value.([]any)
if !ok {
return nil
}
out := make([]string, 0, len(anyItems))
for _, item := range anyItems {
if s := strings.TrimSpace(schemaString(item)); s != "" {
out = append(out, s)
}
}
return out
} }
func loadCommandSurfaceSnapshot(path string) (commandSurface, error) { func loadCommandSurfaceSnapshot(path string) (commandSurface, error) {
+8 -12
View File
@@ -22,15 +22,10 @@ interface_surface_count="$(jq -r '.coverage.surface_tools' internal/cli/schema_m
agent_surface_count="$(jq -r '.coverage.surface_tools' internal/cli/schema_agent_metadata/index.json)" agent_surface_count="$(jq -r '.coverage.surface_tools' internal/cli/schema_agent_metadata/index.json)"
agent_product_count="$(jq -r '.coverage.products_with_metadata' internal/cli/schema_agent_metadata/index.json)" agent_product_count="$(jq -r '.coverage.products_with_metadata' internal/cli/schema_agent_metadata/index.json)"
agent_selection_count="$(jq -r '[.coverage.tools_with_use_when, .coverage.tools_with_avoid_when, .coverage.tools_with_examples, .coverage.tools_with_interface_mode] | min' internal/cli/schema_agent_metadata/index.json)" agent_selection_count="$(jq -r '[.coverage.tools_with_use_when, .coverage.tools_with_avoid_when, .coverage.tools_with_examples, .coverage.tools_with_interface_mode] | min' internal/cli/schema_agent_metadata/index.json)"
agent_unreviewed_refs="$(jq -r '.coverage.unreviewed_skill_tools // 0' internal/cli/schema_agent_metadata/index.json)" if [ "$catalog_count" != "$surface_count" ] ||
if [ "$surface_count" != "504" ] ||
[ "$catalog_count" != "$surface_count" ] ||
[ "$catalog_product_count" != "21" ] ||
[ "$interface_surface_count" != "$surface_count" ] ||
[ "$agent_surface_count" != "$surface_count" ] || [ "$agent_surface_count" != "$surface_count" ] ||
[ "$agent_product_count" != "$catalog_product_count" ] || [ "$agent_product_count" != "$catalog_product_count" ] ||
[ "$agent_selection_count" != "$surface_count" ] || [ "$agent_selection_count" != "$surface_count" ]; then
[ "$agent_unreviewed_refs" != "0" ]; then
printf 'schema counts disagree: surface=%s catalog=%s products=%s interface=%s agent=%s/%s\n' \ printf 'schema counts disagree: surface=%s catalog=%s products=%s interface=%s agent=%s/%s\n' \
"$surface_count" "$catalog_count" "$catalog_product_count" \ "$surface_count" "$catalog_count" "$catalog_product_count" \
"$interface_surface_count" "$agent_product_count" "$agent_surface_count" >&2 "$interface_surface_count" "$agent_product_count" "$agent_surface_count" >&2
@@ -45,8 +40,8 @@ if [ "$catalog_surface_hash" != "$agent_surface_hash" ]; then
exit 1 exit 1
fi fi
if ! jq -e ' if ! jq -e --arg surface_count "$surface_count" '
(.tools | length) == 504 and (.tools | length) == ($surface_count | tonumber) and
all(.catalog.products[]; ((.agent_summary // "") | length) > 0) and all(.catalog.products[]; ((.agent_summary // "") | length) > 0) and
all(.tools[]; all(.tools[];
((.agent_summary // "") | length) > 0 and ((.agent_summary // "") | length) > 0 and
@@ -74,8 +69,9 @@ if ! jq -e '
exit 1 exit 1
fi fi
if [ "$(jq '[.tools[] | select(.interface_ref != null)] | length' internal/cli/schema_catalog.json)" != "461" ]; then if ! jq -e 'all(.tools[]; (.interface_mode == "mcp") == (.interface_ref != null))' internal/cli/schema_catalog.json >/dev/null; then
printf '%s\n' 'schema interface disposition must cover 461 fixed MCP tools and 43 reviewed exceptions' >&2 printf '%s
' 'schema interface disposition is inconsistent with interface_ref presence' >&2
exit 1 exit 1
fi fi
@@ -119,7 +115,7 @@ if ! jq -e '
fi fi
binding_count="$(jq '[.bindings[] | length] | add' internal/cli/schema_parameter_bindings.json)" binding_count="$(jq '[.bindings[] | length] | add' internal/cli/schema_parameter_bindings.json)"
if [ "$binding_count" != "316" ] || ! jq -e --slurpfile bindings internal/cli/schema_parameter_bindings.json ' if ! jq -e --slurpfile bindings internal/cli/schema_parameter_bindings.json '
. as $catalog | . as $catalog |
$bindings[0].version == 2 and $bindings[0].version == 2 and
$bindings[0].historical_binding_count == 311 and $bindings[0].historical_binding_count == 311 and
@@ -0,0 +1,30 @@
{
"version": 1,
"source": {
"kind": "explicit",
"name": "attendance-example-normalization-v1",
"channel": "open-source"
},
"tools": {
"attendance.boss_check": {
"examples": [
"dws attendance boss-check --help"
]
},
"attendance.globalsetting_save": {
"examples": [
"dws attendance globalsetting save --help"
]
},
"attendance.schedule_import": {
"examples": [
"dws attendance schedule import --help"
]
},
"attendance.selfsetting_save": {
"examples": [
"dws attendance selfsetting save --help"
]
}
}
}
File diff suppressed because it is too large. Load diff