Files
Artemis-Plugins/plugins/artemis-device-test/README.md
T

59 lines
5.7 KiB
Markdown
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.
# 家庭安防多工具测试插件
将用户提供的 `artemis-device-test 0.5.0-internal` 接入 Artemis 2.0 插件系统,版本为 `0.5.0+artemis.6`。提供 20 个真实 MCP 工具、357 条保留用例路由和按需参考资料。工具成功、协议完成、业务通过分别记录。
## 安装
团队接收方先读 [首次部署与自检](DEPLOYMENT.md):准备完整依赖后,把目录加入 PATH 或只设置一次 `tool_root`,无需逐个填路径。保留 MediaInfo DLL 后端,自动发现匹配位数的 DLL;各能力独立报告就绪情况。插件仅依赖 `requirements.txt` 中的 MCP 与 dotenv,不附带 FFmpeg、Wireshark、Nmap、Binwalk、MediaInfo、厂商软件或驱动,安装器也不自动安装 Python requirements。
维护者在 Artemis-Plugins 仓库根目录,从已提交的源码打包:
```powershell
python scripts/build_device_test.py --ref HEAD
```
ZIP、SHA-256 和源码提交记录写入 `artifacts/device-test/`,ZIP 根层包含 `plugin.json`。宿主开发检查命令见 ARTEMIS 仓库的 `docs/plugin-development.md`。在网页“插件 → 高级接入”导入 ZIP 或本目录,打开设置填写 Python 的绝对路径,授权后启用。安装使用平台正常接口,不修改任务、历史或原 Skill,不要求重启平台。
新装默认未启用。插件不提供画面观察,纯电脑任务须同时选择已授权的 Cua 等视觉插件;Android 任务仍使用 Artemis 原有手机能力。插件不在任务中递归调用 `mobile_run_task`。
## 本机设置
| 字段 | 设置 |
| --- | --- |
| `python` | 当前 Artemis 环境的 Python 绝对路径;不要误用未安装 MCP 的系统 Python |
| `profile` | 可选,本机工具配置 JSON 路径;结构见 `skill/assets/profile.example.json` |
| `tool_root` | 可选,统一的已解压工具目录;profile 优先,其次该目录,再次宿主 PATH;MediaInfo 也支持自动发现 |
| `rtsp_env_file` | 可选,本机受控 `.env` 文件路径;需要 RTSP 时保存 `DUT_RTSP_URL` 等变量,工具只传变量名 |
| `operation_timeout_seconds` | 默认 45 秒,10..3300;宿主 `ARTEMIS_PLUGIN_TOOL_TIMEOUT_SECONDS` 至少比它大 10 秒,默认宿主 60 秒 |
| `allow_firmware_write` | 默认 `false`;当前用例明确授权升级时才设为 `true`,调用仍需要 `execute=true` 等完整条件 |
profile 不保存密码或 URL。GUI 和网站没有伪造的业务 API;环境诊断列为需要真实界面/会话验证,安装包存在不能当成业务可用。原资料中的环境安装、人工登录和厂商专用能力边界仍适用。
本包仅声明 Windows x64,未声称其他平台通过验证。标准资源为 `desktop:local`、`lab:device-test`,与电脑插件共用桌面锁,并保守串行共享实验台。任务若只需手机且希望独立并行,可明确不选此插件。
## 使用示例
在 Artemis 正常任务中描述:
```text
使用家庭安防多工具测试插件,先检查本机工具和用例路由。
按本次指定的完整用例、摄像机 SN/实际上报型号、协议和手机序列号执行。
先只读验证;缺失项记录为阻塞,不升级、不恢复出厂、不重提失败业务。
PC/网站通过已授权电脑插件观察,已有登录态可复用,未登录交给人工完成。
将实际观测、未验证项和仍需人工核验项保存到任务证据,生成独立联合资料包。
```
工具与操作规则见 [插件 Skill](SKILL.md)。报告工具只接受本任务附件名;外部本机证据先用 `import_evidence` 复制校验。独立 ZIP 内保留可移植 Markdown/JSON 和证据相对路径;导出的单独 Markdown 与 JSON 用于预览,以 ZIP 为完整交付。单附件不超过 64 MiB,联合包输入总计不超过 48 MiB。
查询当前局域网设备可直接描述“通过配置工具查询当前局域网内的设备,核对身份和版本”。插件先用 `list_network_interfaces` 读取本机已连接的物理 IPv4 接口,再在实际接口上分别进行 V1/V2 只读发现;用户指定协议或接口时遵守该范围。无需预先知道摄像机 SN、型号或打开配置工具 GUI。`environment_doctor` 的 GUI `manual-interface` 状态不阻塞独立协议适配器。接口枚举不会发送设备发现包;实际发现和身份查询仍由正常 Artemis 任务持有资源后执行。
`artemis.2` 补齐本机网卡入口;`artemis.3` 增加可迁移的 DLL/运行时发现与分层自检。`environment_doctor(check_functional=true)` 会检查程序启动、DLL 加载及固定本地视频/PCAP/固件样本;接口与 COM 只枚举,不抓包或打开串口。默认自检仅发现文件。修改系统 PATH 后需从新环境重新启动 Artemis,再在插件内检查。保留原 Skill 资料与 vendor 协议实现;固件适配器、工具运行器及相关测试的修改见来源清单,固件写入条件不变。
## 验证与来源
[VERIFICATION.md](VERIFICATION.md) 记录本次实际验证层次;[source-manifest.json](source-manifest.json) 保存导入文件的原始 SHA-256。固件适配器、工具运行器及相关测试已修订,其余原始资料按来源清单记录;不包含缓存、个人配置、账号、原始测试证据、模型 Key 或原始参考源码 ZIP。
[SOURCE.md](SOURCE.md) 说明来源与许可。[RELEASE.md](RELEASE.md) 说明本修订的发布范围;以市场索引和对应不可变发行附件确认实际分发状态。
`artemis.6` 将环境自检与工具执行合并到同一 Windows Job 生命周期,限制管道输出;执行后清理异常保留已启动事实,回执返回未知或部分执行。市场记录见 `MARKET.json`,其通过范围以验证文档为准,不代表实机能力全部通过。