chore(dev): skill 测试基建适配 dev 命令集
run_skill_tests / skill_e2e / skill_static / skill_tests 更新到 dev 技能。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -323,7 +323,7 @@ def get_reference_file(product: str) -> str:
|
||||
'calendar': 'calendar.md',
|
||||
'chat': 'chat.md',
|
||||
'contact': 'contact.md',
|
||||
'devapp': 'devapp.md',
|
||||
'dev': 'skills/multi/dingtalk-dev/SKILL.md',
|
||||
'ding': 'ding.md',
|
||||
'doc': 'doc.md',
|
||||
'drive': 'drive.md',
|
||||
|
||||
@@ -172,8 +172,8 @@ func inAntiRange(root, file string, ln int) bool {
|
||||
}
|
||||
|
||||
func shouldSkip(cmd string) bool {
|
||||
if strings.HasPrefix(cmd, "dws devapp ") || cmd == "dws devapp" {
|
||||
// devapp is a target MCP-discovered command tree. Until the MCP product
|
||||
if strings.HasPrefix(cmd, "dws dev ") || cmd == "dws dev" {
|
||||
// dev (product id: devapp) is a target MCP-discovered command tree. Until the MCP product
|
||||
// is published into the open-source registry, validate its Agent routing
|
||||
// through test/skill_tests.md rather than mock cobra dispatch.
|
||||
return true
|
||||
|
||||
@@ -134,8 +134,8 @@ func readFile(p string) (string, error) {
|
||||
var anglePlaceholderRe = regexp.MustCompile(`<[^>]*>`)
|
||||
|
||||
func shouldSkip(cmd string) bool {
|
||||
if strings.HasPrefix(cmd, "dws devapp ") || cmd == "dws devapp" {
|
||||
// devapp is a target MCP-discovered command tree. Until the MCP product
|
||||
if strings.HasPrefix(cmd, "dws dev ") || cmd == "dws dev" {
|
||||
// dev (product id: devapp) is a target MCP-discovered command tree. Until the MCP product
|
||||
// is published into the open-source registry, validate its Agent routing
|
||||
// through test/skill_tests.md rather than static cobra dispatch.
|
||||
return true
|
||||
|
||||
+67
-67
@@ -45,7 +45,7 @@ Agent 安装 dws skill 后,仅依据 skill 提供的参考文档,将自然
|
||||
| `chat` | `references/products/chat.md` | 13 | 31 |
|
||||
| `contact` | `references/products/contact.md` | 7 | 14 |
|
||||
| `devdoc` | `references/products/simple.md` | 1 | 7 |
|
||||
| `devapp` | `references/products/devapp.md` | 18 | 25 |
|
||||
| `dev` | `skills/multi/dingtalk-dev/SKILL.md` | 19 | 25 |
|
||||
| `ding` | `references/products/ding.md` | 2 | 5 |
|
||||
| `report` | `references/products/report.md` | 6 | 26 |
|
||||
| `routing` | `references/intent-guide.md` | 1 | 3 |
|
||||
@@ -834,161 +834,161 @@ Agent 安装 dws skill 后,仅依据 skill 提供的参考文档,将自然
|
||||
|
||||
---
|
||||
|
||||
### devapp(25 条)
|
||||
### dev(25 条)
|
||||
|
||||
#### `dws devapp list`
|
||||
#### `dws dev app list`
|
||||
|
||||
**devapp_devapp_list_001**
|
||||
**dev_app_list_001**
|
||||
- Prompt: 搜索开放平台应用,应用名是 DemoApp
|
||||
- Expected: `dws devapp list --name DemoApp --format json`
|
||||
- Expected: `dws dev app list --name DemoApp --format json`
|
||||
- Flags: `--name` = `DemoApp`
|
||||
|
||||
**devapp_devapp_list_002**
|
||||
**dev_app_list_002**
|
||||
- Prompt: 分页查询开放平台应用,第 2 页,每页 10 条,按修改时间倒序
|
||||
- Expected: `dws devapp list --page 2 --page-size 10 --sort gmt_modified --order desc --format json`
|
||||
- Expected: `dws dev app list --page 2 --page-size 10 --sort gmt_modified --order desc --format json`
|
||||
- Flags: `--page` = `2`, `--page-size` = `10`, `--sort` = `gmt_modified`, `--order` = `desc`
|
||||
|
||||
**devapp_devapp_list_003**
|
||||
**dev_app_list_003**
|
||||
- Prompt: 在开发者后台搜索企业内部应用 DemoApp
|
||||
- Expected: `dws devapp list --name DemoApp --format json`
|
||||
- Expected: `dws dev app list --name DemoApp --format json`
|
||||
- Flags: `--name` = `DemoApp`
|
||||
|
||||
#### `dws devapp get`
|
||||
#### `dws dev app get`
|
||||
|
||||
**devapp_devapp_get_001**
|
||||
**dev_app_get_001**
|
||||
- Prompt: 查看统一应用 UNIFIED_APP_ID 的应用详情
|
||||
- Expected: `dws devapp get --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Expected: `dws dev app get --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||||
|
||||
**devapp_devapp_get_002**
|
||||
**dev_app_get_002**
|
||||
- Prompt: agentId 为 123456 的开放平台应用是哪个
|
||||
- Expected: `dws devapp get --agent-id 123456 --format json`
|
||||
- Expected: `dws dev app get --agent-id 123456 --format json`
|
||||
- Flags: `--agent-id` = `123456`
|
||||
|
||||
**devapp_devapp_get_003**
|
||||
**dev_app_get_003**
|
||||
- Prompt: 查开放平台应用 DemoApp 的 appKey、clientId 和 agentId
|
||||
- Expected: `dws devapp get --name DemoApp --format json`
|
||||
- Expected: `dws dev app get --name DemoApp --format json`
|
||||
- Flags: `--name` = `DemoApp`
|
||||
|
||||
#### `dws devapp create`
|
||||
#### `dws dev app create`
|
||||
|
||||
**devapp_devapp_create_001**
|
||||
**dev_app_create_001**
|
||||
- Prompt: 创建一个企业内部应用,名称 DemoApp,描述是内部应用
|
||||
- Expected: `dws devapp create --name DemoApp --desc "内部应用" --type internal --dry-run --format json`
|
||||
- Expected: `dws dev app create --name DemoApp --desc "内部应用" --type internal --dry-run --format json`
|
||||
- Flags: `--name` = `DemoApp`, `--desc` = `内部应用`, `--type` = `internal`
|
||||
|
||||
**devapp_devapp_create_002**
|
||||
**dev_app_create_002**
|
||||
- Prompt: 已确认创建企业内部应用 DemoApp
|
||||
- Expected: `dws devapp create --name DemoApp --type internal --yes --format json`
|
||||
- Expected: `dws dev app create --name DemoApp --type internal --yes --format json`
|
||||
- Flags: `--name` = `DemoApp`, `--type` = `internal`
|
||||
|
||||
#### `dws devapp update`
|
||||
#### `dws dev app update`
|
||||
|
||||
**devapp_devapp_update_001**
|
||||
**dev_app_update_001**
|
||||
- Prompt: 把应用 UNIFIED_APP_ID 的描述改成 新描述
|
||||
- Expected: `dws devapp update --unified-app-id UNIFIED_APP_ID --desc "新描述" --dry-run --format json`
|
||||
- Expected: `dws dev app update --unified-app-id UNIFIED_APP_ID --desc "新描述" --dry-run --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--desc` = `新描述`
|
||||
|
||||
#### `dws devapp delete`
|
||||
#### `dws dev app delete`
|
||||
|
||||
**devapp_devapp_delete_001**
|
||||
**dev_app_delete_001**
|
||||
- Prompt: 删除开放平台应用 UNIFIED_APP_ID,先给我预览
|
||||
- Expected: `dws devapp delete --unified-app-id UNIFIED_APP_ID --dry-run --format json`
|
||||
- Expected: `dws dev app delete --unified-app-id UNIFIED_APP_ID --dry-run --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||||
|
||||
#### `dws devapp credentials get`
|
||||
#### `dws dev app credentials get`
|
||||
|
||||
**devapp_devapp_credentials_get_001**
|
||||
**dev_app_credentials_get_001**
|
||||
- Prompt: 查询应用 UNIFIED_APP_ID 的开放平台凭证
|
||||
- Expected: `dws devapp credentials get --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Expected: `dws dev app credentials get --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||||
|
||||
**devapp_devapp_credentials_get_002**
|
||||
**dev_app_credentials_get_002**
|
||||
- Prompt: 查询 AgentId AGENT_ID 对应应用的开放平台凭证
|
||||
- Expected: `dws devapp credentials get --agent-id AGENT_ID --format json`
|
||||
- Expected: `dws dev app credentials get --agent-id AGENT_ID --format json`
|
||||
- Flags: `--agent-id` = `AGENT_ID`
|
||||
|
||||
#### `dws devapp member list`
|
||||
#### `dws dev app member list`
|
||||
|
||||
**devapp_devapp_member_list_001**
|
||||
**dev_app_member_list_001**
|
||||
- Prompt: 查看开放平台应用 UNIFIED_APP_ID 的成员
|
||||
- Expected: `dws devapp member list --app-id UNIFIED_APP_ID --format json`
|
||||
- Expected: `dws dev app member list --app-id UNIFIED_APP_ID --format json`
|
||||
- Flags: `--app-id` = `UNIFIED_APP_ID`
|
||||
|
||||
#### `dws devapp member add`
|
||||
#### `dws dev app member add`
|
||||
|
||||
**devapp_devapp_member_add_001**
|
||||
**dev_app_member_add_001**
|
||||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 添加开发者成员 userId1,userId2,先预览
|
||||
- Expected: `dws devapp member add --app-id UNIFIED_APP_ID --users userId1,userId2 --member-type DEVELOPER --dry-run --format json`
|
||||
- Expected: `dws dev app member add --app-id UNIFIED_APP_ID --users userId1,userId2 --member-type DEVELOPER --dry-run --format json`
|
||||
- Flags: `--app-id` = `UNIFIED_APP_ID`, `--users` = `userId1,userId2`, `--member-type` = `DEVELOPER`
|
||||
|
||||
#### `dws devapp member remove`
|
||||
#### `dws dev app member remove`
|
||||
|
||||
**devapp_devapp_member_remove_001**
|
||||
**dev_app_member_remove_001**
|
||||
- Prompt: 已确认,从开放平台应用 UNIFIED_APP_ID 移除开发者成员 userId1
|
||||
- Expected: `dws devapp member remove --app-id UNIFIED_APP_ID --users userId1 --member-type DEVELOPER --yes --format json`
|
||||
- Expected: `dws dev app member remove --app-id UNIFIED_APP_ID --users userId1 --member-type DEVELOPER --yes --format json`
|
||||
- Flags: `--app-id` = `UNIFIED_APP_ID`, `--users` = `userId1`, `--member-type` = `DEVELOPER`, `--yes`
|
||||
|
||||
#### `dws devapp security config`
|
||||
#### `dws dev app security config`
|
||||
|
||||
**devapp_devapp_security_config_001**
|
||||
**dev_app_security_config_001**
|
||||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 配置 IP 白名单 192.0.2.10,先预览
|
||||
- Expected: `dws devapp security config --app-id UNIFIED_APP_ID --ip-whitelist 192.0.2.10 --dry-run --format json`
|
||||
- Expected: `dws dev app security config --app-id UNIFIED_APP_ID --ip-whitelist 192.0.2.10 --dry-run --format json`
|
||||
- Flags: `--app-id` = `UNIFIED_APP_ID`, `--ip-whitelist` = `192.0.2.10`
|
||||
|
||||
#### `dws devapp permission list`
|
||||
#### `dws dev app permission list`
|
||||
|
||||
**devapp_devapp_permission_list_001**
|
||||
**dev_app_permission_list_001**
|
||||
- Prompt: 查询应用 UNIFIED_APP_ID 已开通和未开通的全部 APP、SNS 权限
|
||||
- Expected: `dws devapp permission list --unified-app-id UNIFIED_APP_ID --status all --format json`
|
||||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --status all --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--status` = `all`
|
||||
|
||||
**devapp_devapp_permission_list_002**
|
||||
**dev_app_permission_list_002**
|
||||
- Prompt: 搜索应用 UNIFIED_APP_ID 里机器人发送消息相关的未开通权限
|
||||
- Expected: `dws devapp permission list --unified-app-id UNIFIED_APP_ID --keyword "机器人发送消息" --status unauthed --format json`
|
||||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --keyword "机器人发送消息" --status unauthed --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--keyword` = `机器人发送消息`, `--status` = `unauthed`
|
||||
|
||||
**devapp_devapp_permission_list_003**
|
||||
**dev_app_permission_list_003**
|
||||
- Prompt: 看一下权限 qyapi_robot_sendmsg 覆盖哪些 API
|
||||
- Expected: `dws devapp permission list --unified-app-id UNIFIED_APP_ID --scope qyapi_robot_sendmsg --format json`
|
||||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --scope qyapi_robot_sendmsg --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--scope` = `qyapi_robot_sendmsg`
|
||||
|
||||
**devapp_devapp_permission_list_004**
|
||||
**dev_app_permission_list_004**
|
||||
- Prompt: 给开放平台应用 UNIFIED_APP_ID 搜索手机号权限,应用权限和个人权限都要展示
|
||||
- Expected: `dws devapp permission list --unified-app-id UNIFIED_APP_ID --keyword "手机号" --status all --format json`
|
||||
- Expected: `dws dev app permission list --unified-app-id UNIFIED_APP_ID --keyword "手机号" --status all --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--keyword` = `手机号`, `--status` = `all`
|
||||
|
||||
#### `dws devapp permission add`
|
||||
#### `dws dev app permission add`
|
||||
|
||||
**devapp_devapp_permission_add_001**
|
||||
**dev_app_permission_add_001**
|
||||
- Prompt: 给应用 UNIFIED_APP_ID 申请 qyapi_robot_sendmsg 权限,先预览
|
||||
- Expected: `dws devapp permission add --unified-app-id UNIFIED_APP_ID --permissions qyapi_robot_sendmsg --dry-run --format json`
|
||||
- Expected: `dws dev app permission add --unified-app-id UNIFIED_APP_ID --permissions qyapi_robot_sendmsg --dry-run --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permissions` = `qyapi_robot_sendmsg`
|
||||
|
||||
**devapp_devapp_permission_add_002**
|
||||
**dev_app_permission_add_002**
|
||||
- Prompt: 已确认,给应用 UNIFIED_APP_ID 申请 Contact.User.mobile 权限
|
||||
- Expected: `dws devapp permission add --unified-app-id UNIFIED_APP_ID --permissions Contact.User.mobile --yes --format json`
|
||||
- Expected: `dws dev app permission add --unified-app-id UNIFIED_APP_ID --permissions Contact.User.mobile --yes --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permissions` = `Contact.User.mobile`
|
||||
|
||||
#### `dws devapp permission remove`
|
||||
#### `dws dev app permission remove`
|
||||
|
||||
**devapp_devapp_permission_remove_001**
|
||||
**dev_app_permission_remove_001**
|
||||
- Prompt: 从应用 UNIFIED_APP_ID 移除 qyapi_robot_sendmsg 权限,先预览
|
||||
- Expected: `dws devapp permission remove --unified-app-id UNIFIED_APP_ID --permission qyapi_robot_sendmsg --dry-run --format json`
|
||||
- Expected: `dws dev app permission remove --unified-app-id UNIFIED_APP_ID --permission qyapi_robot_sendmsg --dry-run --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--permission` = `qyapi_robot_sendmsg`
|
||||
|
||||
#### `dws devapp event list`
|
||||
#### `dws dev app event list`
|
||||
|
||||
**devapp_devapp_event_list_001**
|
||||
**dev_app_event_list_001**
|
||||
- Prompt: 查询应用 UNIFIED_APP_ID 的事件订阅配置
|
||||
- Expected: `dws devapp event list --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Expected: `dws dev app event list --unified-app-id UNIFIED_APP_ID --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`
|
||||
|
||||
#### `dws devapp version publish`
|
||||
#### `dws dev app version publish`
|
||||
|
||||
**devapp_devapp_version_publish_001**
|
||||
**dev_app_version_publish_001**
|
||||
- Prompt: 已确认,发布应用 UNIFIED_APP_ID 的版本 VERSION_ID,审批人是 USERID
|
||||
- Expected: `dws devapp version publish --unified-app-id UNIFIED_APP_ID --version-id VERSION_ID --approver USERID --yes --format json`
|
||||
- Expected: `dws dev app version publish --unified-app-id UNIFIED_APP_ID --version-id VERSION_ID --approver USERID --yes --format json`
|
||||
- Flags: `--unified-app-id` = `UNIFIED_APP_ID`, `--version-id` = `VERSION_ID`, `--approver` = `USERID`
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user