Compare commits
1
Commits
8bf2cb8740
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
987b5ff2d8 |
No files matched your search
@@ -6,7 +6,7 @@ ARTEMIS 的插件市场。配套 ARTEMIS 2.2.0 发布的电脑控制插件为 **
|
||||
|
||||
## 从 OCU 切换
|
||||
|
||||
Open Computer Use(OCU)已从市场索引下架,当前市场只提供 Cua。已安装 OCU 的用户请先安装并启用 Cua,再停用 OCU,避免同一任务加载两套电脑控制工具。排队、暂停或运行中的任务结束后再切换。
|
||||
Open Computer Use(OCU)已从市场索引下架,电脑控制使用 Cua。已安装 OCU 的用户请先安装并启用 Cua,再停用 OCU,避免同一任务加载两套电脑控制工具。排队、暂停或运行中的任务结束后再切换。
|
||||
|
||||
旧插件的源码、发行附件、历史任务与证据继续保留。下架不会删除用户的已安装版本,也不会替其他用户自动授权新插件。需要复核旧任务时仍可按其固定版本处理。
|
||||
|
||||
@@ -42,3 +42,11 @@ python tests/cua_discovery_smoke.py <安装后的artemis-cua-adapter.exe> --app
|
||||
[task-review](plugins/task-review/README.md) 使用 ARTEMIS 清单版本 3,为任务回放增加原始用例与人工评审侧栏,支持自动保存和上一条/下一条,并将选填结果写入报告。此插件不运行 MCP 或设备操作,需要 ARTEMIS 2.4.0+,在主程序插件市场安装并启用;2.2.x 尚不支持。
|
||||
|
||||
构建:`python scripts/build_task_review.py`。输出 ZIP 与校验文件位于 `artifacts/task-review/`。验证范围见 [VERIFICATION](plugins/task-review/VERIFICATION.md)。发行标签 `task-review-v1.1.0`,市场安装包与 SHA256 以 `catalog-v4.json` 为准;`catalog.json` 保留给 2.2.x。
|
||||
|
||||
## 家庭安防多工具测试 0.5.0+artemis.6(预览)
|
||||
|
||||
[artemis-device-test](plugins/artemis-device-test/README.md) 提供环境自检、用例路由、媒体/抓包/串口、设备协议及联合证据工具。仅声明 Windows x64;需要已安装 MCP、dotenv 的 Python 和对应外部工具/驱动,按[部署说明](plugins/artemis-device-test/DEPLOYMENT.md)配置。纯电脑任务还需选择 Cua 等已授权视觉插件;固件写入默认关闭。
|
||||
|
||||
本修订统一子进程生命周期并纠正未知执行的回执。134 项单元测试通过,正常 ARTEMIS 离线证据任务 5/5 通过,完成暂停恢复与报告导出核验;真实固件升级、设备发现、抓包、串口及全部 357 条业务用例未测,详见[审查记录](plugins/artemis-device-test/VERIFICATION.md)。原资料按公司市场分发授权记录,适配层 Apache-2.0。
|
||||
|
||||
构建:`python scripts/build_device_test.py --ref <固定提交>`。输出 ZIP、SHA256 和源码提交记录位于 `artifacts/device-test/`;发行标签 `artemis-device-test-v0.5.0+artemis.6`。安装包与校验值以对应市场索引及不可变发行附件为准。
|
||||
+342
@@ -277,6 +277,348 @@
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/task-review-v1.0.0/task-review-1.0.0.zip",
|
||||
"sha256": "5487fef365cfa9ec5d2eda7be60b5a5110bcf2edd24b2d10495ccda8ca02c454",
|
||||
"verification": "ARTEMIS 2.3.0+ 声明式工作区插件,无 MCP、模型或设备操作。Windows 隔离示例验证 Markdown 初始需求、左右侧栏、人工中文评分、选填备注与 Word/Excel 导出;宿主默认回归 3197 项、前端 336 项及构建通过。macOS/Linux 未实测;真实业务结果由人工评审,详见 plugins/task-review/VERIFICATION.md。"
|
||||
},
|
||||
{
|
||||
"manifest": {
|
||||
"schema_version": 2,
|
||||
"id": "artemis-device-test",
|
||||
"name": "家庭安防多工具测试",
|
||||
"version": "0.5.0+artemis.6",
|
||||
"description": "集成 artemis-device-test Skill:PATH/统一目录自动发现工具及匹配位数的 MediaInfo DLL、按能力独立自检、本机网卡枚举、357 条用例路由、媒体/抓包/串口、V1/V2 设备及联合证据。PC/网站复用视觉插件,手机沿用 Artemis;工具成功不等于用例通过。",
|
||||
"artemis_version": ">=2.0.0,<3.0.0",
|
||||
"platforms": [
|
||||
"win32"
|
||||
],
|
||||
"architectures": [
|
||||
"amd64"
|
||||
],
|
||||
"license": "LicenseRef-Yitong-Artemis-Market; Apache-2.0-Adapter",
|
||||
"server": {
|
||||
"transport": "stdio",
|
||||
"command": "${config.python}",
|
||||
"args": [
|
||||
"-B",
|
||||
"${plugin_dir}/server.py"
|
||||
],
|
||||
"env": {
|
||||
"ARTEMIS_DEVICE_TEST_PROFILE": "${config.profile}",
|
||||
"ARTEMIS_DEVICE_TEST_TOOL_ROOT": "${config.tool_root}",
|
||||
"ARTEMIS_DEVICE_TEST_ENV_FILE": "${config.rtsp_env_file}",
|
||||
"ARTEMIS_DEVICE_TEST_TIMEOUT": "${config.operation_timeout_seconds}",
|
||||
"ARTEMIS_DEVICE_TEST_ALLOW_FIRMWARE_WRITE": "${config.allow_firmware_write}"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"python": {
|
||||
"label": "Artemis Python 解释器",
|
||||
"description": "填写已安装 MCP 依赖的 Python 绝对路径。源码环境可使用项目 .venv/Scripts/python.exe。",
|
||||
"default": "python",
|
||||
"required": true
|
||||
},
|
||||
"profile": {
|
||||
"label": "本机工具 profile JSON",
|
||||
"description": "可选,固定 tools/runtimes/libraries 路径;不保存凭据。留空时自动发现统一目录和宿主 PATH;显式错误路径不回退。",
|
||||
"default": ""
|
||||
},
|
||||
"tool_root": {
|
||||
"label": "已解压工具目录",
|
||||
"description": "可选,本机已解压工具目录绝对路径;自动发现 EXE/匹配位数的 MediaInfo.dll,以及 binwalk-python/Scripts/python.exe。不安装程序。",
|
||||
"default": ""
|
||||
},
|
||||
"rtsp_env_file": {
|
||||
"label": "本机 RTSP 环境文件",
|
||||
"description": "可选,受控 .env 文件的绝对路径;仅按工具指定的环境变量名读取,不回显凭据。",
|
||||
"default": ""
|
||||
},
|
||||
"operation_timeout_seconds": {
|
||||
"label": "单次操作预算(秒)",
|
||||
"description": "默认 45。10..3300;增加前须将宿主 ARTEMIS_PLUGIN_TOOL_TIMEOUT_SECONDS 设得至少大 10 秒。任务总时限同样生效。",
|
||||
"default": "45"
|
||||
},
|
||||
"allow_firmware_write": {
|
||||
"label": "允许显式固件写入",
|
||||
"description": "默认 false。仅当前用例明确授权升级时设置 true;工具还要求 execute、完整身份、ROM SHA-256 和审阅摘要。",
|
||||
"default": "false"
|
||||
}
|
||||
},
|
||||
"skill": "SKILL.md",
|
||||
"targets": [
|
||||
"android",
|
||||
"mixed",
|
||||
"computer"
|
||||
],
|
||||
"resources": [
|
||||
"desktop:local",
|
||||
"lab:device-test"
|
||||
],
|
||||
"capabilities": {
|
||||
"kind": "other",
|
||||
"recording": "none",
|
||||
"required_tools": [
|
||||
"environment_doctor",
|
||||
"lookup_case",
|
||||
"probe_media",
|
||||
"media_info",
|
||||
"analyze_pcap",
|
||||
"scan_ports",
|
||||
"scan_firmware",
|
||||
"device_capabilities",
|
||||
"list_network_interfaces",
|
||||
"discover_devices",
|
||||
"identify_device",
|
||||
"device_info",
|
||||
"inspect_firmware",
|
||||
"firmware_preflight",
|
||||
"verify_firmware",
|
||||
"capture_packets",
|
||||
"capture_serial",
|
||||
"upgrade_firmware",
|
||||
"import_evidence",
|
||||
"bundle_evidence"
|
||||
],
|
||||
"tools": {
|
||||
"environment_doctor": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"lookup_case": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"probe_media": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"media_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"analyze_pcap": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"scan_ports": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"scan_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"device_capabilities": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"list_network_interfaces": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"discover_devices": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"identify_device": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"device_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"inspect_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "rom_file"
|
||||
},
|
||||
"firmware_preflight": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"verify_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_packets": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_serial": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "port"
|
||||
},
|
||||
"upgrade_firmware": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"import_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"bundle_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "run_id"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"release_stage": "preview",
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/artemis-device-test-v0.5.0+artemis.6/artemis-device-test-0.5.0-artemis.6.zip",
|
||||
"sha256": "0409323ba738a784fd26dca04d4757024d2e41c2a0ab7a7a17754b08bd763a74",
|
||||
"verification": "Windows x64 预览;Python 3.14.0 / ARTEMIS 2.4.4 实测。134 项单元测试、Windows Job 进程树/超时/取消、文件字节绑定、权限与资源互斥、真实 MCP20工具检查通过;正常宿主离线证据任务 5/5 AI验收通过,暂停恢复及 Word/Excel/全部资料导出读回通过。真实烧录、设备发现/网络扫描、抓包、串口及357条完整业务用例未测;外部工具和驱动需自行准备。原资料按公司市场分发授权记录,适配层 Apache-2.0。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+342
@@ -277,6 +277,348 @@
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/task-review-v1.1.0/task-review-1.1.0.zip",
|
||||
"sha256": "380faee187c122244ff36e20982ceb4e17ec6f6f5ae42533df52f621ad1fc708",
|
||||
"verification": "ARTEMIS 2.4.0+ 声明式工作区插件。Windows 隔离验证原始用例、自动保存、保存失败保留输入、上下条导航、所有模式面板、宽窄布局及深浅色。宿主本轮默认回归与前端 347 项及构建通过。macOS/Linux 未实测;真实业务结论由人工评审,详见包内 VERIFICATION.md。"
|
||||
},
|
||||
{
|
||||
"manifest": {
|
||||
"schema_version": 2,
|
||||
"id": "artemis-device-test",
|
||||
"name": "家庭安防多工具测试",
|
||||
"version": "0.5.0+artemis.6",
|
||||
"description": "集成 artemis-device-test Skill:PATH/统一目录自动发现工具及匹配位数的 MediaInfo DLL、按能力独立自检、本机网卡枚举、357 条用例路由、媒体/抓包/串口、V1/V2 设备及联合证据。PC/网站复用视觉插件,手机沿用 Artemis;工具成功不等于用例通过。",
|
||||
"artemis_version": ">=2.0.0,<3.0.0",
|
||||
"platforms": [
|
||||
"win32"
|
||||
],
|
||||
"architectures": [
|
||||
"amd64"
|
||||
],
|
||||
"license": "LicenseRef-Yitong-Artemis-Market; Apache-2.0-Adapter",
|
||||
"server": {
|
||||
"transport": "stdio",
|
||||
"command": "${config.python}",
|
||||
"args": [
|
||||
"-B",
|
||||
"${plugin_dir}/server.py"
|
||||
],
|
||||
"env": {
|
||||
"ARTEMIS_DEVICE_TEST_PROFILE": "${config.profile}",
|
||||
"ARTEMIS_DEVICE_TEST_TOOL_ROOT": "${config.tool_root}",
|
||||
"ARTEMIS_DEVICE_TEST_ENV_FILE": "${config.rtsp_env_file}",
|
||||
"ARTEMIS_DEVICE_TEST_TIMEOUT": "${config.operation_timeout_seconds}",
|
||||
"ARTEMIS_DEVICE_TEST_ALLOW_FIRMWARE_WRITE": "${config.allow_firmware_write}"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"python": {
|
||||
"label": "Artemis Python 解释器",
|
||||
"description": "填写已安装 MCP 依赖的 Python 绝对路径。源码环境可使用项目 .venv/Scripts/python.exe。",
|
||||
"default": "python",
|
||||
"required": true
|
||||
},
|
||||
"profile": {
|
||||
"label": "本机工具 profile JSON",
|
||||
"description": "可选,固定 tools/runtimes/libraries 路径;不保存凭据。留空时自动发现统一目录和宿主 PATH;显式错误路径不回退。",
|
||||
"default": ""
|
||||
},
|
||||
"tool_root": {
|
||||
"label": "已解压工具目录",
|
||||
"description": "可选,本机已解压工具目录绝对路径;自动发现 EXE/匹配位数的 MediaInfo.dll,以及 binwalk-python/Scripts/python.exe。不安装程序。",
|
||||
"default": ""
|
||||
},
|
||||
"rtsp_env_file": {
|
||||
"label": "本机 RTSP 环境文件",
|
||||
"description": "可选,受控 .env 文件的绝对路径;仅按工具指定的环境变量名读取,不回显凭据。",
|
||||
"default": ""
|
||||
},
|
||||
"operation_timeout_seconds": {
|
||||
"label": "单次操作预算(秒)",
|
||||
"description": "默认 45。10..3300;增加前须将宿主 ARTEMIS_PLUGIN_TOOL_TIMEOUT_SECONDS 设得至少大 10 秒。任务总时限同样生效。",
|
||||
"default": "45"
|
||||
},
|
||||
"allow_firmware_write": {
|
||||
"label": "允许显式固件写入",
|
||||
"description": "默认 false。仅当前用例明确授权升级时设置 true;工具还要求 execute、完整身份、ROM SHA-256 和审阅摘要。",
|
||||
"default": "false"
|
||||
}
|
||||
},
|
||||
"skill": "SKILL.md",
|
||||
"targets": [
|
||||
"android",
|
||||
"mixed",
|
||||
"computer"
|
||||
],
|
||||
"resources": [
|
||||
"desktop:local",
|
||||
"lab:device-test"
|
||||
],
|
||||
"capabilities": {
|
||||
"kind": "other",
|
||||
"recording": "none",
|
||||
"required_tools": [
|
||||
"environment_doctor",
|
||||
"lookup_case",
|
||||
"probe_media",
|
||||
"media_info",
|
||||
"analyze_pcap",
|
||||
"scan_ports",
|
||||
"scan_firmware",
|
||||
"device_capabilities",
|
||||
"list_network_interfaces",
|
||||
"discover_devices",
|
||||
"identify_device",
|
||||
"device_info",
|
||||
"inspect_firmware",
|
||||
"firmware_preflight",
|
||||
"verify_firmware",
|
||||
"capture_packets",
|
||||
"capture_serial",
|
||||
"upgrade_firmware",
|
||||
"import_evidence",
|
||||
"bundle_evidence"
|
||||
],
|
||||
"tools": {
|
||||
"environment_doctor": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"lookup_case": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"probe_media": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"media_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"analyze_pcap": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"scan_ports": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"scan_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"device_capabilities": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"list_network_interfaces": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"discover_devices": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"identify_device": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"device_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"inspect_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "rom_file"
|
||||
},
|
||||
"firmware_preflight": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"verify_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_packets": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_serial": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "port"
|
||||
},
|
||||
"upgrade_firmware": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"import_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"bundle_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "run_id"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"release_stage": "preview",
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/artemis-device-test-v0.5.0+artemis.6/artemis-device-test-0.5.0-artemis.6.zip",
|
||||
"sha256": "0409323ba738a784fd26dca04d4757024d2e41c2a0ab7a7a17754b08bd763a74",
|
||||
"verification": "Windows x64 预览;Python 3.14.0 / ARTEMIS 2.4.4 实测。134 项单元测试、Windows Job 进程树/超时/取消、文件字节绑定、权限与资源互斥、真实 MCP20工具检查通过;正常宿主离线证据任务 5/5 AI验收通过,暂停恢复及 Word/Excel/全部资料导出读回通过。真实烧录、设备发现/网络扫描、抓包、串口及357条完整业务用例未测;外部工具和驱动需自行准备。原资料按公司市场分发授权记录,适配层 Apache-2.0。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+342
@@ -187,6 +187,348 @@
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/cua-driver-v0.38.0+artemis.1/cua-driver-0.38.0+artemis.1-windows-amd64.zip",
|
||||
"sha256": "c007da16d58c4165a1a344113e650e68bd92a69ad3ce4ca8285818c5426dc0f4",
|
||||
"verification": "Windows x64 预览,配套 ARTEMIS 2.2.0。固定 Driver 0.38.0、源码提交和官方 ZIP 校验值;包含已知无标题 Shell/菜单兼容补丁及重新构建运行库。Go 测试、vet、构建及包内源码/二进制校验通过;菜单/任务栏 9 次调用、隔离 Brave 表单 38 次调用通过,并参与仅 PC 与跨端集中回归。前台输入占用桌面;显示光标与系统鼠标偶发分离待复现,未全面覆盖多屏/DPI、长时间压力、其他托盘菜单及原失败业务全流程。详情见 plugins/cua-driver/VERIFICATION.md。"
|
||||
},
|
||||
{
|
||||
"manifest": {
|
||||
"schema_version": 2,
|
||||
"id": "artemis-device-test",
|
||||
"name": "家庭安防多工具测试",
|
||||
"version": "0.5.0+artemis.6",
|
||||
"description": "集成 artemis-device-test Skill:PATH/统一目录自动发现工具及匹配位数的 MediaInfo DLL、按能力独立自检、本机网卡枚举、357 条用例路由、媒体/抓包/串口、V1/V2 设备及联合证据。PC/网站复用视觉插件,手机沿用 Artemis;工具成功不等于用例通过。",
|
||||
"artemis_version": ">=2.0.0,<3.0.0",
|
||||
"platforms": [
|
||||
"win32"
|
||||
],
|
||||
"architectures": [
|
||||
"amd64"
|
||||
],
|
||||
"license": "LicenseRef-Yitong-Artemis-Market; Apache-2.0-Adapter",
|
||||
"server": {
|
||||
"transport": "stdio",
|
||||
"command": "${config.python}",
|
||||
"args": [
|
||||
"-B",
|
||||
"${plugin_dir}/server.py"
|
||||
],
|
||||
"env": {
|
||||
"ARTEMIS_DEVICE_TEST_PROFILE": "${config.profile}",
|
||||
"ARTEMIS_DEVICE_TEST_TOOL_ROOT": "${config.tool_root}",
|
||||
"ARTEMIS_DEVICE_TEST_ENV_FILE": "${config.rtsp_env_file}",
|
||||
"ARTEMIS_DEVICE_TEST_TIMEOUT": "${config.operation_timeout_seconds}",
|
||||
"ARTEMIS_DEVICE_TEST_ALLOW_FIRMWARE_WRITE": "${config.allow_firmware_write}"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"python": {
|
||||
"label": "Artemis Python 解释器",
|
||||
"description": "填写已安装 MCP 依赖的 Python 绝对路径。源码环境可使用项目 .venv/Scripts/python.exe。",
|
||||
"default": "python",
|
||||
"required": true
|
||||
},
|
||||
"profile": {
|
||||
"label": "本机工具 profile JSON",
|
||||
"description": "可选,固定 tools/runtimes/libraries 路径;不保存凭据。留空时自动发现统一目录和宿主 PATH;显式错误路径不回退。",
|
||||
"default": ""
|
||||
},
|
||||
"tool_root": {
|
||||
"label": "已解压工具目录",
|
||||
"description": "可选,本机已解压工具目录绝对路径;自动发现 EXE/匹配位数的 MediaInfo.dll,以及 binwalk-python/Scripts/python.exe。不安装程序。",
|
||||
"default": ""
|
||||
},
|
||||
"rtsp_env_file": {
|
||||
"label": "本机 RTSP 环境文件",
|
||||
"description": "可选,受控 .env 文件的绝对路径;仅按工具指定的环境变量名读取,不回显凭据。",
|
||||
"default": ""
|
||||
},
|
||||
"operation_timeout_seconds": {
|
||||
"label": "单次操作预算(秒)",
|
||||
"description": "默认 45。10..3300;增加前须将宿主 ARTEMIS_PLUGIN_TOOL_TIMEOUT_SECONDS 设得至少大 10 秒。任务总时限同样生效。",
|
||||
"default": "45"
|
||||
},
|
||||
"allow_firmware_write": {
|
||||
"label": "允许显式固件写入",
|
||||
"description": "默认 false。仅当前用例明确授权升级时设置 true;工具还要求 execute、完整身份、ROM SHA-256 和审阅摘要。",
|
||||
"default": "false"
|
||||
}
|
||||
},
|
||||
"skill": "SKILL.md",
|
||||
"targets": [
|
||||
"android",
|
||||
"mixed",
|
||||
"computer"
|
||||
],
|
||||
"resources": [
|
||||
"desktop:local",
|
||||
"lab:device-test"
|
||||
],
|
||||
"capabilities": {
|
||||
"kind": "other",
|
||||
"recording": "none",
|
||||
"required_tools": [
|
||||
"environment_doctor",
|
||||
"lookup_case",
|
||||
"probe_media",
|
||||
"media_info",
|
||||
"analyze_pcap",
|
||||
"scan_ports",
|
||||
"scan_firmware",
|
||||
"device_capabilities",
|
||||
"list_network_interfaces",
|
||||
"discover_devices",
|
||||
"identify_device",
|
||||
"device_info",
|
||||
"inspect_firmware",
|
||||
"firmware_preflight",
|
||||
"verify_firmware",
|
||||
"capture_packets",
|
||||
"capture_serial",
|
||||
"upgrade_firmware",
|
||||
"import_evidence",
|
||||
"bundle_evidence"
|
||||
],
|
||||
"tools": {
|
||||
"environment_doctor": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"lookup_case": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"probe_media": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"media_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"analyze_pcap": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"scan_ports": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"scan_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"device_capabilities": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"list_network_interfaces": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"discover_devices": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
]
|
||||
},
|
||||
"identify_device": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"device_info": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"inspect_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "rom_file"
|
||||
},
|
||||
"firmware_preflight": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"verify_firmware": {
|
||||
"effect": "read",
|
||||
"observation": false,
|
||||
"idempotent": true,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_packets": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"capture_serial": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "port"
|
||||
},
|
||||
"upgrade_firmware": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "host"
|
||||
},
|
||||
"import_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "input_file"
|
||||
},
|
||||
"bundle_evidence": {
|
||||
"effect": "write",
|
||||
"observation": false,
|
||||
"idempotent": false,
|
||||
"cancellation": "unknown",
|
||||
"evidence": [
|
||||
"text",
|
||||
"state",
|
||||
"file"
|
||||
],
|
||||
"target_argument": "run_id"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"release_stage": "preview",
|
||||
"archive_url": "https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/download/artemis-device-test-v0.5.0+artemis.6/artemis-device-test-0.5.0-artemis.6.zip",
|
||||
"sha256": "0409323ba738a784fd26dca04d4757024d2e41c2a0ab7a7a17754b08bd763a74",
|
||||
"verification": "Windows x64 预览;Python 3.14.0 / ARTEMIS 2.4.4 实测。134 项单元测试、Windows Job 进程树/超时/取消、文件字节绑定、权限与资源互斥、真实 MCP20工具检查通过;正常宿主离线证据任务 5/5 AI验收通过,暂停恢复及 Word/Excel/全部资料导出读回通过。真实烧录、设备发现/网络扫描、抓包、串口及357条完整业务用例未测;外部工具和驱动需自行准备。原资料按公司市场分发授权记录,适配层 Apache-2.0。"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user