Files
dingtalk-workspace-cli/internal/cli/catalogcodegen/dev_generated.go
T
玉澜 e705012011 feat(schema): migrate parameter overlays into code declarations
Move 121/210 parameter-level Schema field overlays from
schema_hints/metadata JSON into in-code ParamDecl declarations on
DeclareLeafMetadata commands. The declared values are emitted as
dws.schema.* annotations at assembly time via ApplyParamDecls,
outranking tool_schema_hint (rank 620 > 500) so the hint overlay
becomes redundant once the declaration is in place.

Key mechanism changes:
- Add SchemaDecl.Parameters []ParamDecl with property/required/
  interface_type/description/required_when/enum fields
- Add cli.ParamDecl type carried inside ContractFinalPayload
- ApplyParamDecls emits dws.schema.* annotations from the payload
  at assembly time (no sync.Map, no tree-rebuild key issue)
- Add cli.AnnotateRuntimeFlagInterfaceType (41 overlays needed it)
- Add cli.AnnotateRuntimeFlagRequiredValue for explicit true/false
- Compatibility alias check tolerates dws.schema.* annotation
  differences between primary and alias commands
- Remove runtime source_hash recomputation (87ms/997k allocs saved;
  enforced by check-generated-drift.sh at build time instead)
- Add shortcut.Flag.RequiredWhen and wire through FromShortcut
- Add boolFlag OR semantics to fix confirmationBypass disagreement
- Add bindKey default kebab-to-camel for forgotten Bind
- Add schema consumption benchmarks (catalog decode 1.5s/817MB,
  shortcut load 1.9ms/3MB — three orders of magnitude apart)
- Add catalog codegen feasibility probe (34 tools: 0.06s compile,
  31ns access, 87KB linked — extrapolates to 2.1MB for 845 tools)

Migrated products (29 tools, 121 fields):
  aisearch(1), chat(12), contact(4), doc(3), drive(1),
  hrbrain(10), mail(2), report(1), sheet(3), todo(6)

Remaining 89 fields across 11 products blocked by:
  - RPCName not found as string literal (19 tools, shortcut/variable)
  - No matching DeclareLeafMetadata near callMCPTool (11 tools)
  - No single RPCName for multi-step commands (drive.upload etc.)

All tests green: corecmd, cli, helpers. Generation and drift clean.
2026-08-01 09:25:40 +08:00

1006 lines
58 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Copyright 2026 Alibaba Group
// Code generated by scripts/dev/catalog_codegen_probe.py; DO NOT EDIT.
//
// Feasibility probe for storing the Schema catalog as compiled-in Go literals
// instead of embedded JSON, mirroring how internal/shortcut stores its 376
// definitions. field_provenance is omitted: no runtime consumer reads it.
package catalogcodegen
// Tools holds the dev product's leaf ToolSpecs as static data, so there is
// no decode step on the first lookup.
var Tools = map[string]Tool{
"dev.add_dev_app_members": {
Name: "add_dev_app_members",
CanonicalPath: "dev.add_dev_app_members",
CLIPath: "dev app member add",
PrimaryCLIPath: "dev app member add",
ProductID: "dev",
Group: "app.member",
Title: "添加开放平台应用成员",
Description: "添加开放平台应用成员",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "向应用添加开发者或管理员成员",
UseWhen: []string{"需要授予指定用户应用协作角色时"},
AvoidWhen: []string{"只查看现有成员时使用 dev app member list"},
Examples: []string{"dws dev app member add --unified-app-id <unifiedAppId> --user-ids userId1,userId2 --member-type DEVELOPER --dry-run"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"member-type": {Name: "member-type", Type: "string", Description: "成员类型,如 DEVELOPER (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"user-ids": {Name: "user-ids", Type: "string", Description: "成员 userId 列表,多个用逗号分隔 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.apply_dev_app_permissions": {
Name: "apply_dev_app_permissions",
CanonicalPath: "dev.apply_dev_app_permissions",
CLIPath: "dev app permission add",
PrimaryCLIPath: "dev app permission add",
ProductID: "dev",
Group: "app.permission",
Title: "申请开放平台应用权限点",
Description: "申请开放平台应用权限点",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "为应用申请一个或多个接口权限",
UseWhen: []string{"已确认 scopeValue 并需要新增权限时"},
AvoidWhen: []string{"查找或核对已有权限时使用 dev app permission list"},
Examples: []string{"dws dev app permission add --unified-app-id <unifiedAppId> --scope-values Contact.User.mobile --dry-run"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"scope-values": {Name: "scope-values", Type: "string", Description: "权限点 scopeValue,多个用逗号或分号分隔", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.connect_status": {
Name: "connect_status",
CanonicalPath: "dev.connect_status",
CLIPath: "dev connect status",
PrimaryCLIPath: "dev connect status",
ProductID: "dev",
Group: "connect",
Title: "查看连接器健康状态(healthy/degraded/down,pid、收发活动、日志路径;--json 供外部托管消费)",
Description: "查看后台连接器守护进程状态",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "medium",
Confirmation: "not_required",
Idempotency: "unknown",
InterfaceMode: "local",
Availability: "available",
AgentSummary: "查看后台连接器守护进程状态",
UseWhen: []string{"需要确认本地 connect 守护进程是否在跑、pid/日志路径"},
AvoidWhen: []string{"要停止守护进程时用 dev connect stop"},
Examples: []string{"dws dev connect status --unified-app-id <unifiedAppId> --json"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"json": {Name: "json", Type: "boolean", Description: "以 JSON 输出健康报告(供 launchd/systemd/pm2/cron 判断是否重启)", Property: "json", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"robot-client-id": {Name: "robot-client-id", Type: "string", Description: "机器人 clientId(定位守护进程)", Property: "robotClientId", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "统一应用 ID(当未用 clientId 起守护进程时定位)", Property: "unifiedAppId", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.connect_stop": {
Name: "connect_stop",
CanonicalPath: "dev.connect_stop",
CLIPath: "dev connect stop",
PrimaryCLIPath: "dev connect stop",
ProductID: "dev",
Group: "connect",
Title: "优雅停止后台连接器守护进程(释放单实例锁与 Stream 连接)",
Description: "优雅停止后台连接器守护进程",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "medium",
Confirmation: "not_required",
Idempotency: "unknown",
InterfaceMode: "local",
Availability: "available",
AgentSummary: "优雅停止后台连接器守护进程",
UseWhen: []string{"用户明确要求停止本地 Stream/连接器守护进程"},
AvoidWhen: []string{"只想查看状态时用 dev connect status"},
Examples: []string{"dws dev connect stop --unified-app-id <unifiedAppId>"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"robot-client-id": {Name: "robot-client-id", Type: "string", Description: "机器人 clientId(定位守护进程)", Property: "robotClientId", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "统一应用 ID(当未用 clientId 起守护进程时定位)", Property: "unifiedAppId", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.create_dev_app": {
Name: "create_dev_app",
CanonicalPath: "dev.create_dev_app",
CLIPath: "dev app create",
PrimaryCLIPath: "dev app create",
ProductID: "dev",
Group: "app",
Title: "创建开放平台企业内部应用",
Description: "创建开放平台企业内部应用",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "创建钉钉开放平台应用并返回 unifiedAppId/凭证信息",
UseWhen: []string{"需要新建企业内部应用或三方个人应用并拿到 unifiedAppId"},
AvoidWhen: []string{"应用已存在只需改信息时用 dev app update", "只查文档时用 devdoc"},
Examples: []string{"dws dev app create --name \"我的 AI 机器人\" --desc \"接 opencode\" --dry-run --format json"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"desc": {Name: "desc", Type: "string", Description: "应用描述", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"icon-media-id": {Name: "icon-media-id", Type: "string", Description: "应用图标 mediaId", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"name": {Name: "name", Type: "string", Description: "应用名称 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.create_dev_app_version": {
Name: "create_dev_app_version",
CanonicalPath: "dev.create_dev_app_version",
CLIPath: "dev app version create",
PrimaryCLIPath: "dev app version create",
ProductID: "dev",
Group: "app.version",
Title: "基于当前配置创建应用新版本",
Description: "基于当前配置创建应用新版本",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "为应用当前配置创建待发布版本",
UseWhen: []string{"配置变更完成后需要生成版本进入发布流程时"},
AvoidWhen: []string{"只是查看已有版本时使用 dev app version list"},
Examples: []string{"dws dev app version create --unified-app-id <unifiedAppId> --desc \"新增机器人能力\" --dry-run"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"desc": {Name: "desc", Type: "string", Description: "版本描述", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"version": {Name: "version", Type: "string", Description: "高级可选:显式版本号,如 1.0.1;默认不传,由服务端基于最新已发布版本自动递增", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.delete_dev_app": {
Name: "delete_dev_app",
CanonicalPath: "dev.delete_dev_app",
CLIPath: "dev app delete",
PrimaryCLIPath: "dev app delete",
ProductID: "dev",
Group: "app",
Title: "删除开放平台企业内部应用(不可逆,需 --confirm-name 二次确认)",
Description: "删除开放平台企业内部应用(不可逆,需 --confirm-name 二次确认)",
Aliases: nil,
IsAlias: false,
Effect: "destructive",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "删除开放平台企业内部应用(不可恢复)",
UseWhen: []string{"用户明确要求永久删除应用,且接受不可恢复后果"},
AvoidWhen: []string{"只需临时下架时用 dev app disable", "用户未确认应用名/影响范围时不要删除"},
Examples: []string{"dws dev app delete --unified-app-id <unified-app-id> --dry-run --format json"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"confirm-name": {Name: "confirm-name", Type: "string", Description: "二次确认:必须与被删应用的名称一致(不可逆操作的防误删)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.disable_dev_app": {
Name: "disable_dev_app",
CanonicalPath: "dev.disable_dev_app",
CLIPath: "dev app disable",
PrimaryCLIPath: "dev app disable",
ProductID: "dev",
Group: "app",
Title: "停用开放平台企业内部应用",
Description: "停用开放平台企业内部应用",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "停用指定开放平台应用",
UseWhen: []string{"需要让应用暂时不可用但保留配置时"},
AvoidWhen: []string{"永久删除应用使用 dev app delete"},
Examples: []string{"dws dev app disable --unified-app-id <unifiedAppId> --dry-run --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.disable_dev_app_robot": {
Name: "disable_dev_app_robot",
CanonicalPath: "dev.disable_dev_app_robot",
CLIPath: "dev app robot disable",
PrimaryCLIPath: "dev app robot disable",
ProductID: "dev",
Group: "app.robot",
Title: "停用现有应用的机器人能力",
Description: "停用现有应用的机器人能力",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "停用指定应用的机器人能力",
UseWhen: []string{"需要暂时让应用机器人离线时"},
AvoidWhen: []string{"停用整个应用使用 dev app disable"},
Examples: []string{"dws dev app robot disable --unified-app-id <unifiedAppId> --dry-run"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.enable_dev_app": {
Name: "enable_dev_app",
CanonicalPath: "dev.enable_dev_app",
CLIPath: "dev app enable",
PrimaryCLIPath: "dev app enable",
ProductID: "dev",
Group: "app",
Title: "启用开放平台企业内部应用",
Description: "启用开放平台企业内部应用",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "启用指定开放平台应用",
UseWhen: []string{"需要恢复一个已停用应用时"},
AvoidWhen: []string{"启用应用内机器人能力使用 dev app robot enable"},
Examples: []string{"dws dev app enable --unified-app-id <unifiedAppId> --dry-run --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.enable_dev_app_robot": {
Name: "enable_dev_app_robot",
CanonicalPath: "dev.enable_dev_app_robot",
CLIPath: "dev app robot enable",
PrimaryCLIPath: "dev app robot enable",
ProductID: "dev",
Group: "app.robot",
Title: "启用现有应用机器人能力(纯启用,无需配置字段)",
Description: "启用现有应用机器人能力(纯启用,无需配置字段)",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "启用指定应用的机器人能力",
UseWhen: []string{"机器人配置存在但处于 OFFLINE 时"},
AvoidWhen: []string{"建立本地 Stream 连接使用 dev connect"},
Examples: []string{"dws dev app robot enable --unified-app-id <unifiedAppId> --dry-run"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_dev_app": {
Name: "get_dev_app",
CanonicalPath: "dev.get_dev_app",
CLIPath: "dev app get",
PrimaryCLIPath: "dev app get",
ProductID: "dev",
Group: "app",
Title: "查询开放平台企业内部应用详情",
Description: "查询开放平台企业内部应用详情",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "获取指定开放平台应用详情",
UseWhen: []string{"已知 unifiedAppId 或 appKey 并需要核对应用配置或状态时"},
AvoidWhen: []string{"需要搜索或分页浏览多个应用时使用 dev app list"},
Examples: []string{"dws dev app get --unified-app-id <unifiedAppId> --format json", "dws dev app get --app-key <appKey> --format json"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"app-key": {Name: "app-key", Type: "string", Description: "按 appKey/clientId 查询应用详情(与 --unified-app-id 二选一)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(与 --app-key 二选一)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_dev_app_credentials": {
Name: "get_dev_app_credentials",
CanonicalPath: "dev.get_dev_app_credentials",
CLIPath: "dev app credentials get",
PrimaryCLIPath: "dev app credentials get",
ProductID: "dev",
Group: "app.credentials",
Title: "读取开放平台应用凭证",
Description: "读取开放平台应用凭证",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "读取指定应用的客户端凭证",
UseWhen: []string{"已知 unifiedAppId 且需要 clientId 或 clientSecret 时"},
AvoidWhen: []string{"不要把凭证内容用于普通应用详情查询或写入日志"},
Examples: []string{"dws dev app credentials get --unified-app-id <unifiedAppId> --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_dev_app_version_detail": {
Name: "get_dev_app_version_detail",
CanonicalPath: "dev.get_dev_app_version_detail",
CLIPath: "dev app version get",
PrimaryCLIPath: "dev app version get",
ProductID: "dev",
Group: "app.version",
Title: "查询指定版本详情",
Description: "查询指定版本详情",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "获取指定应用版本的详细内容",
UseWhen: []string{"已知 versionId 并需要核对版本配置时"},
AvoidWhen: []string{"查看发布进度时使用 dev app version status"},
Examples: []string{"dws dev app version get --unified-app-id <unifiedAppId> --version-id <versionId>"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"version-id": {Name: "version-id", Type: "string", Description: "版本 ID (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_dev_app_version_status": {
Name: "get_dev_app_version_status",
CanonicalPath: "dev.get_dev_app_version_status",
CLIPath: "dev app version status",
PrimaryCLIPath: "dev app version status",
ProductID: "dev",
Group: "app.version",
Title: "查询版本发布/审批状态",
Description: "查询版本发布/审批状态",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "查询指定应用版本的发布或审批状态",
UseWhen: []string{"需要判断版本是否已发布、审核中或受阻时"},
AvoidWhen: []string{"需要版本配置详情时使用 dev app version get"},
Examples: []string{"dws dev app version status --unified-app-id <unifiedAppId> --version-id <versionId>"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"version-id": {Name: "version-id", Type: "string", Description: "版本 ID (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_extension_robot_config": {
Name: "get_extension_robot_config",
CanonicalPath: "dev.get_extension_robot_config",
CLIPath: "dev app robot get",
PrimaryCLIPath: "dev app robot get",
ProductID: "dev",
Group: "app.robot",
Title: "查询现有应用的机器人配置",
Description: "查询现有应用的机器人配置",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "获取指定应用的机器人配置和状态",
UseWhen: []string{"需要判断机器人是否未配置、离线或在线时"},
AvoidWhen: []string{"查询机器人建号异步任务使用 dev app robot result"},
Examples: []string{"dws dev app robot get --unified-app-id <unifiedAppId> --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.get_extension_webapp_config": {
Name: "get_extension_webapp_config",
CanonicalPath: "dev.get_extension_webapp_config",
CLIPath: "dev app webapp get",
PrimaryCLIPath: "dev app webapp get",
ProductID: "dev",
Group: "app.webapp",
Title: "查询网页应用配置",
Description: "查询网页应用配置",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "获取指定应用的网页入口配置",
UseWhen: []string{"需要核对应用 H5 或 PC 首页地址时"},
AvoidWhen: []string{"修改网页入口时使用 dev app webapp config"},
Examples: []string{"dws dev app webapp get --unified-app-id <unifiedAppId> --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.list_dev_app": {
Name: "list_dev_app",
CanonicalPath: "dev.list_dev_app",
CLIPath: "dev app list",
PrimaryCLIPath: "dev app list",
ProductID: "dev",
Group: "app",
Title: "查询开放平台企业内部应用列表",
Description: "查询开放平台企业内部应用列表",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "按条件分页查询开放平台应用",
UseWhen: []string{"需要按名称、创建人或应用键筛选应用时"},
AvoidWhen: []string{"已经持有明确 unifiedAppId 时使用 dev app get"},
Examples: []string{"dws dev app list --name \"DemoApp\" --page-size 20 --format json"},
HasParameters: true,
ParameterCount: 11,
Parameters: map[string]Param{
"app-group-id": {Name: "app-group-id", Type: "integer", Description: "应用分组 ID", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"app-key": {Name: "app-key", Type: "string", Description: "按 appKey/clientId 过滤", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"creator": {Name: "creator", Type: "string", Description: "创建人名称关键词", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"cursor": {Name: "cursor", Type: "string", Description: "游标令牌:首次查询留空,续翻传上次出参的 nextCursor", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"develop-type": {Name: "develop-type", Type: "integer", Description: "开发类型枚举;不确定时不要传", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"filter-cool-app": {Name: "filter-cool-app", Type: "integer", Description: "酷应用过滤枚举;不确定时不要传", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"name": {Name: "name", Type: "string", Description: "应用名称关键词", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"page-size": {Name: "page-size", Type: "integer", Description: "单页条数,默认 20", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"robot-name": {Name: "robot-name", Type: "string", Description: "机器人名称关键词", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"sort-order": {Name: "sort-order", Type: "string", Description: "排序方向 asc 或 desc", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"sort-type": {Name: "sort-type", Type: "string", Description: "排序字段,如 gmt_modified", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.list_dev_app_events": {
Name: "list_dev_app_events",
CanonicalPath: "dev.list_dev_app_events",
CLIPath: "dev app event list",
PrimaryCLIPath: "dev app event list",
ProductID: "dev",
Group: "app.event",
Title: "查询应用已订阅的事件列表",
Description: "查询应用已订阅的事件列表",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "列出或搜索应用可订阅的事件",
UseWhen: []string{"需要查事件码、事件名称或当前事件列表时"},
AvoidWhen: []string{"订阅或退订事件使用对应写命令"},
Examples: []string{"dws dev app event list --unified-app-id <unifiedAppId> --keyword \"审批\" --page-size 20"},
HasParameters: true,
ParameterCount: 4,
Parameters: map[string]Param{
"cursor": {Name: "cursor", Type: "string", Description: "游标令牌:首次查询留空,续翻传上次出参的 nextCursor", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"keyword": {Name: "keyword", Type: "string", Description: "事件搜索关键词,支持按事件码或事件名称模糊匹配", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"page-size": {Name: "page-size", Type: "integer", Description: "单页条数,默认 20", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.list_dev_app_members": {
Name: "list_dev_app_members",
CanonicalPath: "dev.list_dev_app_members",
CLIPath: "dev app member list",
PrimaryCLIPath: "dev app member list",
ProductID: "dev",
Group: "app.member",
Title: "查询开放平台应用成员",
Description: "查询开放平台应用成员",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "列出指定应用的协作成员",
UseWhen: []string{"需要查看应用开发者和管理员清单时"},
AvoidWhen: []string{"新增或移除成员使用对应 member 写命令"},
Examples: []string{"dws dev app member list --unified-app-id <unifiedAppId>"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.list_dev_app_permissions": {
Name: "list_dev_app_permissions",
CanonicalPath: "dev.list_dev_app_permissions",
CLIPath: "dev app permission list",
PrimaryCLIPath: "dev app permission list",
ProductID: "dev",
Group: "app.permission",
Title: "查询开放平台应用权限列表",
Description: "查询开放平台应用权限列表",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "查询应用权限及其授权状态",
UseWhen: []string{"需要按关键词、范围或状态查权限时"},
AvoidWhen: []string{"新增或移除权限使用对应 permission 写命令"},
Examples: []string{"dws dev app permission list --unified-app-id <unifiedAppId> --keyword \"通讯录\" --page-size 20"},
HasParameters: true,
ParameterCount: 8,
Parameters: map[string]Param{
"api-status": {Name: "api-status", Type: "string", Description: "开发者后台 apiStatus 过滤", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"auth-status": {Name: "auth-status", Type: "string", Description: "权限状态:ALL、AUTHED、UNAUTHED", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"cursor": {Name: "cursor", Type: "string", Description: "游标令牌:首次查询留空,续翻传上次出参的 nextCursor", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"keyword": {Name: "keyword", Type: "string", Description: "权限名、权限点、接口名关键词", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"page-size": {Name: "page-size", Type: "integer", Description: "单页条数,默认 20", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"scope-type": {Name: "scope-type", Type: "string", Description: "权限一级类型:APP 或 SNS", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"scope-value": {Name: "scope-value", Type: "string", Description: "精确权限点 scopeValue", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.list_dev_app_versions": {
Name: "list_dev_app_versions",
CanonicalPath: "dev.list_dev_app_versions",
CLIPath: "dev app version list",
PrimaryCLIPath: "dev app version list",
ProductID: "dev",
Group: "app.version",
Title: "分页查询应用版本列表",
Description: "分页查询应用版本列表",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "分页列出应用的历史和待发布版本",
UseWhen: []string{"需要查找 versionId 或浏览版本记录时"},
AvoidWhen: []string{"已知版本并需详情或状态时使用 get 或 status"},
Examples: []string{"dws dev app version list --unified-app-id <unifiedAppId> --page-size 20"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"cursor": {Name: "cursor", Type: "string", Description: "游标令牌:首次查询留空,续翻传上次出参的 nextCursor", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"page-size": {Name: "page-size", Type: "integer", Description: "单页条数,默认 20", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.publish_dev_app_version": {
Name: "publish_dev_app_version",
CanonicalPath: "dev.publish_dev_app_version",
CLIPath: "dev app version publish",
PrimaryCLIPath: "dev app version publish",
ProductID: "dev",
Group: "app.version",
Title: "发布指定版本(含高敏权限需 --confirmed-sensitive)",
Description: "发布指定版本(含高敏权限需 --confirmed-sensitive)",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "发布开放平台应用指定版本(可先预检)",
UseWhen: []string{"版本已创建,需要预检或正式发布到线上"},
AvoidWhen: []string{"还没有 versionId 时先 version create / list / get", "含高敏权限但尚未确认时不要正式发布"},
Examples: []string{"dws dev app version publish --unified-app-id <unifiedAppId> --version-id <versionId> --dry-run --format json"},
HasParameters: true,
ParameterCount: 4,
Parameters: map[string]Param{
"approver-user-id": {Name: "approver-user-id", Type: "string", Description: "灰度选人模式下指定审批人 userId", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"confirmed-sensitive": {Name: "confirmed-sensitive", Type: "boolean", Description: "确认发布包含高敏权限的版本", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"version-id": {Name: "version-id", Type: "string", Description: "版本 ID (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.query_robot_create_result": {
Name: "query_robot_create_result",
CanonicalPath: "dev.query_robot_create_result",
CLIPath: "dev app robot result",
PrimaryCLIPath: "dev app robot result",
ProductID: "dev",
Group: "app.robot",
Title: "查询机器人异步创建任务结果",
Description: "查询机器人异步创建任务结果",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "查询机器人建号异步任务结果",
UseWhen: []string{"已有 taskId,需要轮询 WAITING、SUCCESS 或审批状态时"},
AvoidWhen: []string{"没有建号任务时先使用 dev app robot submit"},
Examples: []string{"dws dev app robot result --task-id <taskId> --format json"},
HasParameters: true,
ParameterCount: 1,
Parameters: map[string]Param{
"task-id": {Name: "task-id", Type: "string", Description: "提交创建任务时返回的 taskId (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.remove_dev_app_members": {
Name: "remove_dev_app_members",
CanonicalPath: "dev.remove_dev_app_members",
CLIPath: "dev app member remove",
PrimaryCLIPath: "dev app member remove",
ProductID: "dev",
Group: "app.member",
Title: "移除开放平台应用成员",
Description: "移除开放平台应用成员",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "从应用移除开发者或管理员成员",
UseWhen: []string{"需要撤销指定用户的应用协作角色时"},
AvoidWhen: []string{"删除应用本身或只查看成员时不要使用"},
Examples: []string{"dws dev app member remove --unified-app-id <unifiedAppId> --user-ids userId1,userId2 --member-type DEVELOPER --dry-run"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"member-type": {Name: "member-type", Type: "string", Description: "成员类型,如 DEVELOPER (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"user-ids": {Name: "user-ids", Type: "string", Description: "成员 userId 列表,多个用逗号分隔 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.remove_dev_app_permissions": {
Name: "remove_dev_app_permissions",
CanonicalPath: "dev.remove_dev_app_permissions",
CLIPath: "dev app permission remove",
PrimaryCLIPath: "dev app permission remove",
ProductID: "dev",
Group: "app.permission",
Title: "取消开放平台应用权限点",
Description: "取消开放平台应用权限点",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "移除应用的一个或多个接口权限",
UseWhen: []string{"需要撤销已知 scopeValue 的权限时"},
AvoidWhen: []string{"只查看权限状态时使用 dev app permission list"},
Examples: []string{"dws dev app permission remove --unified-app-id <unifiedAppId> --scope-values Contact.User.mobile --dry-run"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"scope-values": {Name: "scope-values", Type: "string", Description: "待取消权限点 scopeValue,多个用逗号或分号分隔", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.search_open_platform_docs_rag": {
Name: "search_open_platform_docs_rag",
CanonicalPath: "dev.search_open_platform_docs_rag",
CLIPath: "dev doc search",
PrimaryCLIPath: "dev doc search",
ProductID: "dev",
Group: "doc",
Title: "搜索开放平台文档",
Description: "按关键词搜索 open.dingtalk.com 文档,支持分页。默认表格输出,可用 -f json 获取完整响应。",
Aliases: nil,
IsAlias: false,
Effect: "read",
Risk: "low",
Confirmation: "not_required",
Idempotency: "idempotent",
InterfaceMode: "mcp",
Availability: "available",
AgentSummary: "通过 dev 兼容入口搜索开放平台文档",
UseWhen: []string{"明确需要验证或使用 dev doc search 入口时"},
AvoidWhen: []string{"常规开放平台文档检索优先使用可用的 devdoc article search"},
Examples: []string{"dws dev doc search --query \"MCP\" --size 10"},
HasParameters: true,
ParameterCount: 3,
Parameters: map[string]Param{
"page": {Name: "page", Type: "string", Description: "页码,默认 1", Property: "page", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"query": {Name: "query", Type: "string", Description: "搜索关键词 (必填)", Property: "keyword", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"size": {Name: "size", Type: "string", Description: "每页数量,默认 10", Property: "size", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.set_extension_robot_config": {
Name: "set_extension_robot_config",
CanonicalPath: "dev.set_extension_robot_config",
CLIPath: "dev app robot config",
PrimaryCLIPath: "dev app robot config",
ProductID: "dev",
Group: "app.robot",
Title: "创建或更新现有应用的机器人配置(upsert)",
Description: "创建或更新现有应用的机器人配置(upsert)",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "创建或更新应用的机器人能力配置",
UseWhen: []string{"已有 unifiedAppId 并需要配置机器人名称、回调或技能时"},
AvoidWhen: []string{"机器人建号使用 robot submit,本地建联使用 dev connect"},
Examples: []string{"dws dev app robot config --unified-app-id <unifiedAppId> --name \"小助手\" --brief \"审批助手\" --dry-run"},
HasParameters: true,
ParameterCount: 14,
Parameters: map[string]Param{
"add-scope": {Name: "add-scope", Type: "boolean", Description: "是否自动添加机器人相关权限", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"brief": {Name: "brief", Type: "string", Description: "机器人简介", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"desc": {Name: "desc", Type: "string", Description: "机器人描述", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"disable-ssl-verify": {Name: "disable-ssl-verify", Type: "boolean", Description: "回调地址是否关闭 SSL 校验", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"event-callback-url": {Name: "event-callback-url", Type: "string", Description: "事件回调地址", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"i18n-brief": {Name: "i18n-brief", Type: "string", Description: "机器人简介国际化 JSON", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"i18n-description": {Name: "i18n-description", Type: "string", Description: "机器人描述国际化 JSON", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"i18n-name": {Name: "i18n-name", Type: "string", Description: "机器人名称国际化 JSON,如 '{\"en_US\":\"Bot\"}'", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"icon-media-id": {Name: "icon-media-id", Type: "string", Description: "机器人图标 mediaId", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"mode": {Name: "mode", Type: "string", Description: "机器人模式:HTTPS / STREAM / AISKILL", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"name": {Name: "name", Type: "string", Description: "机器人名称", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"outgoing-url": {Name: "outgoing-url", Type: "string", Description: "消息回调地址", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"skills": {Name: "skills", Type: "string", Description: "技能列表,多个用逗号或分号分隔", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.set_extension_webapp_config": {
Name: "set_extension_webapp_config",
CanonicalPath: "dev.set_extension_webapp_config",
CLIPath: "dev app webapp config",
PrimaryCLIPath: "dev app webapp config",
ProductID: "dev",
Group: "app.webapp",
Title: "配置网页应用能力",
Description: "配置网页应用能力",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "创建或更新应用网页入口配置",
UseWhen: []string{"需要设置 H5、PC 首页或 OMP 地址时"},
AvoidWhen: []string{"只查看当前网页配置时使用 dev app webapp get"},
Examples: []string{"dws dev app webapp config --unified-app-id <unifiedAppId> --homepage-url https://example.com --dry-run"},
HasParameters: true,
ParameterCount: 5,
Parameters: map[string]Param{
"h5-page-type": {Name: "h5-page-type", Type: "string", Description: "网页应用生效端/页面类型", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"homepage-url": {Name: "homepage-url", Type: "string", Description: "移动端首页地址", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"omp-url": {Name: "omp-url", Type: "string", Description: "管理后台地址", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"pc-homepage-url": {Name: "pc-homepage-url", Type: "string", Description: "PC 端首页地址", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.submit_robot_create_task": {
Name: "submit_robot_create_task",
CanonicalPath: "dev.submit_robot_create_task",
CLIPath: "dev app robot submit",
PrimaryCLIPath: "dev app robot submit",
ProductID: "dev",
Group: "app.robot",
Title: "异步提交钉钉智能体机器人创建任务(支持失败重试)",
Description: "异步提交钉钉智能体机器人创建任务(支持失败重试)",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "提交机器人建号异步任务",
UseWhen: []string{"需要创建新的机器人账号并取得 taskId 时"},
AvoidWhen: []string{"已有任务应先用 robot result 轮询,不能重复提交"},
Examples: []string{"dws dev app robot submit --name \"我的智能体\" --robot-name \"小助手\" --desc \"处理审批问答\" --dry-run"},
HasParameters: true,
ParameterCount: 6,
Parameters: map[string]Param{
"desc": {Name: "desc", Type: "string", Description: "机器人功能描述,不超过 200 字 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"icon-media-id": {Name: "icon-media-id", Type: "string", Description: "机器人图标 mediaId;为空时使用默认图标", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"name": {Name: "name", Type: "string", Description: "智能体应用名称,长度 2-20,企业内唯一 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"preview-media-id": {Name: "preview-media-id", Type: "string", Description: "机器人预览图 mediaId;为空时复用图标", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"robot-name": {Name: "robot-name", Type: "string", Description: "承载机器人名称,用于客户端展示 (必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"task-id": {Name: "task-id", Type: "string", Description: "失败重试时传入原 taskId;为空时服务端自动生成", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.subscribe_dev_app_events": {
Name: "subscribe_dev_app_events",
CanonicalPath: "dev.subscribe_dev_app_events",
CLIPath: "dev app event subscribe",
PrimaryCLIPath: "dev app event subscribe",
ProductID: "dev",
Group: "app.event",
Title: "订阅应用事件回调",
Description: "订阅应用事件回调",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "为应用订阅指定事件码",
UseWhen: []string{"已确认事件码并需要新增事件订阅时"},
AvoidWhen: []string{"查询事件码或已有订阅时先使用 dev app event list"},
Examples: []string{"dws dev app event subscribe --unified-app-id <unifiedAppId> --event-codes bpms_task_change --dry-run"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"event-codes": {Name: "event-codes", Type: "string", Description: "事件码,多个用逗号或分号分隔", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.unsubscribe_dev_app_events": {
Name: "unsubscribe_dev_app_events",
CanonicalPath: "dev.unsubscribe_dev_app_events",
CLIPath: "dev app event unsubscribe",
PrimaryCLIPath: "dev app event unsubscribe",
ProductID: "dev",
Group: "app.event",
Title: "取消订阅应用事件",
Description: "取消订阅应用事件",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "取消应用的指定事件订阅",
UseWhen: []string{"需要停止接收一个或多个已订阅事件时"},
AvoidWhen: []string{"只是查看事件订阅时使用 dev app event list"},
Examples: []string{"dws dev app event unsubscribe --unified-app-id <unifiedAppId> --event-codes bpms_task_change --dry-run"},
HasParameters: true,
ParameterCount: 2,
Parameters: map[string]Param{
"event-codes": {Name: "event-codes", Type: "string", Description: "事件码,多个用逗号或分号分隔", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.update_dev_app": {
Name: "update_dev_app",
CanonicalPath: "dev.update_dev_app",
CLIPath: "dev app update",
PrimaryCLIPath: "dev app update",
ProductID: "dev",
Group: "app",
Title: "修改开放平台企业内部应用基础信息",
Description: "修改开放平台企业内部应用基础信息:名称、描述或图标至少提供一项。",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "更新开放平台应用名称/描述/图标等基础信息",
UseWhen: []string{"已有 unifiedAppId,需要修改应用基础信息"},
AvoidWhen: []string{"创建新应用用 create;停用/启用用 disable/enable;改安全配置用 security config"},
Examples: []string{"dws dev app update --unified-app-id <unifiedAppId> --name <新名称> --dry-run --format json"},
HasParameters: true,
ParameterCount: 4,
Parameters: map[string]Param{
"desc": {Name: "desc", Type: "string", Description: "新的应用描述", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"icon-media-id": {Name: "icon-media-id", Type: "string", Description: "新的应用图标 mediaId", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"name": {Name: "name", Type: "string", Description: "新的应用名称", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
"dev.update_dev_app_security_config": {
Name: "update_dev_app_security_config",
CanonicalPath: "dev.update_dev_app_security_config",
CLIPath: "dev app security config",
PrimaryCLIPath: "dev app security config",
ProductID: "dev",
Group: "app.security",
Title: "更新开放平台应用安全配置",
Description: "更新开放平台应用安全配置",
Aliases: nil,
IsAlias: false,
Effect: "write",
Risk: "high",
Confirmation: "user_required",
Idempotency: "unknown",
InterfaceMode: "composite",
Availability: "available",
AgentSummary: "更新应用 IP 白名单、回调和单点登录地址",
UseWhen: []string{"需要调整应用安全相关 URL 或白名单时"},
AvoidWhen: []string{"普通应用名称和描述更新使用 dev app update"},
Examples: []string{"dws dev app security config --unified-app-id <unifiedAppId> --ip-whitelist 192.0.2.10 --redirect-urls https://callback.example.invalid/callback --dry-run"},
HasParameters: true,
ParameterCount: 4,
Parameters: map[string]Param{
"ip-whitelist": {Name: "ip-whitelist", Type: "string", Description: "出口 IP 白名单,多个用逗号或分号分隔(整组覆盖,非追加)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"redirect-urls": {Name: "redirect-urls", Type: "string", Description: "登录重定向 URL,多个用逗号或分号分隔(整组覆盖,非追加)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"sso-urls": {Name: "sso-urls", Type: "string", Description: "端内免登地址,多个用逗号或分号分隔(整组覆盖,非追加)", Property: "", Required: false, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
"unified-app-id": {Name: "unified-app-id", Type: "string", Description: "开放平台统一应用 ID(必填)", Property: "", Required: true, CLIRequired: false, RequiredWhen: "", Format: "", Enum: nil},
},
},
}