返回顶部
m

metersphere

本项目将 MeterSphere REST API 与本地脚本能力整合,为 OpenClaw Agent 提供了一套高效、可复用的 Skills,支持自动生成功能用例、接口定义及接口用例,查询组织、项目、模块、用例评审与缺陷关联等信息,简化了测试资产管理流程,提升了团队的自动化效率。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.5
安全检测
已通过
132
下载量
0
收藏
概述
安装方式
版本历史

metersphere

# MeterSphere Skills ## ⚠️ 安装前重要警告 在安装或运行此技能前,请务必完成以下安全检查: 1. **确认元数据**: 检查 `skill-metadata.json` 中的必需环境变量和二进制文件要求 2. **使用最小权限凭证**: 为查询和创建操作使用不同的、有限权限的 API 密钥 3. **检查 .env 文件**: 确保只包含预期的变量,没有额外敏感信息 4. **警惕 HEADERS_JSON**: 如果设置此变量,不要包含可能泄露数据或向其他服务认证的头部 5. **审查硬编码 ID**: 设置 `METERSPHERE_DEFAULT_TEMPLATE_ID` 和 `METERSPHERE_DEFAULT_VERSION_ID` 环境变量 6. **先在沙箱中运行**: 在非生产环境测试并监控网络流量 7. **确保二进制文件可信**: openssl/curl/python3 必须来自可信的系统包 8. **签名算法验证**: 如需更强保证,请求发布者解释签名算法 详细检查清单见 [INSTALLATION_CHECKLIST.md](INSTALLATION_CHECKLIST.md) --- 优先用本 skill 自带脚本,不要临时手写 curl。 ## 选择工作流 按任务类型选最短路径: ### 1. 查询类 用于: - 查组织 / 项目 / 模块 / 模板 - 查功能用例 / 接口定义 / 接口用例 - 查评审单 / 评审详情 / 评审人 / 评审模块 - 回答"哪些用例被评审过" - 回答"这条用例关联了多少个缺陷 / 哪些用例缺陷最多" - 当用户查询某个功能用例时,返回:用例详情 + 缺陷 + 评审记录 优先命令: ```bash ./scripts/ms.sh organization list ./scripts/ms.sh project list ./scripts/ms.sh functional-module list <projectId> ./scripts/ms.sh functional-template list <projectId> ./scripts/ms.sh api-module list <projectId> ./scripts/ms.sh functional-case list '<JSON>' ./scripts/ms.sh api list '<JSON>' ./scripts/ms.sh api-case list '<JSON>' ./scripts/ms.sh functional-case-review list '{"caseId":"<功能用例ID>"}' ./scripts/ms.sh case-review list '{"projectId":"<项目ID>"}' ./scripts/ms.sh case-review get <reviewId> ./scripts/ms.sh case-review-detail list '{"projectId":"<项目ID>","reviewId":"<评审ID>","viewStatusFlag":false}' ./scripts/ms.sh case-review-module list <projectId> ./scripts/ms.sh case-review-user list <projectId> ./scripts/ms.sh reviewed-summary <projectId> [keyword] ./scripts/ms.sh case-report <projectId> <caseId> ./scripts/ms.sh case-report-md <projectId> <caseId> ``` ### 2. 需求 → 功能用例 用于: - 根据一句需求生成测试用例 - 根据需求文档批量生成功能用例 - 先出草稿,再让 AI 补场景 - 最终写入 MeterSphere 默认流程: ```bash ./scripts/ms.sh functional-case generate <projectId> <moduleId> <templateId> <requirement-file> ./scripts/ms.sh functional-case batch-create <json-file> ``` 需要一步直写时: ```bash ./scripts/ms.sh functional-case generate-create <projectId> <moduleId> <templateId> <requirement-file> ``` ### 3. Swagger / OpenAPI → 接口定义 + 接口用例 用于: - 根据 Swagger / OpenAPI 导入接口定义 - 自动生成成功 / 必填缺失 / 边界场景接口用例 - 先本地生成,再批量写入 默认流程: ```bash ./scripts/ms.sh api import-generate <projectId> <moduleId> <openapi-file-or-url> ./scripts/ms.sh api batch-create <json-file> ``` 需要一步直写时: ```bash ./scripts/ms.sh api import-create <projectId> <moduleId> <openapi-file-or-url> ``` ## 处理"哪些用例被评审过" 优先用: ```bash ./scripts/ms.sh reviewed-summary <projectId> [keyword] ``` 这是最高层入口,直接输出: - 项目内总用例数 - 已被评审的用例数 - 未被评审的用例数 - 项目内总缺陷关联数 `totalBugLinks` - 每条功能用例的 `reviewed: true/false` - 每条功能用例参与过哪些评审单 - 每条功能用例关联了多少个缺陷 `bugCount` 如果用户直接问某条功能用例,优先用: ```bash ./scripts/ms.sh case-report-md <projectId> <caseId> ``` 如果需要结构化 JSON 再用: ```bash ./scripts/ms.sh case-report <projectId> <caseId> ``` 其中 Markdown 版更适合直接回复用户;JSON 版更适合继续加工。 `case-report` 返回四块: - `summary`:用例基础信息、缺陷数、评审数、测试计划数、需求数 - `detail`:前置条件、备注、步骤、标签、附件 - `bugs`:已关联缺陷列表 - `reviews`:评审记录列表 如果用户追问某条用例的评审来源,再补: ```bash ./scripts/ms.sh functional-case-review list '{"caseId":"<功能用例ID>"}' ``` 如果用户要看某个评审单里的全部用例状态,再补: ```bash ./scripts/ms.sh case-review-detail list '{"projectId":"<项目ID>","reviewId":"<评审ID>","viewStatusFlag":false}' ``` 判断口径: - `functional-case-review list` 返回非空:该功能用例可视为**被评审过** - `case-review-detail list` 中每条记录的 `status` 代表该用例在该评审单中的当前状态,如:`UN_REVIEWED` / `UNDER_REVIEWED` / `PASS` / `UN_PASS` - `functional/case/detail/{id}` 中的 `bugCount` 代表该用例当前关联缺陷数 ## 默认执行顺序 ### 查询项目或模块前 先确认: 1. `project list` 2. 需要时再查 `functional-module list` / `api-module list` ### 生成功能用例前 先确认: 1. 项目 ID 2. 功能模块 ID 3. 模板 ID 命令顺序: ```bash ./scripts/ms.sh project list ./scripts/ms.sh functional-module list <projectId> ./scripts/ms.sh functional-template list <projectId> ``` ### 生成功能用例后 如需提质,再读: - `references/ai-functional-case-prompt.md` ### 导入 OpenAPI 后 如需补断言、补异常场景、补命名,再读: - `references/ai-api-bundle-prompt.md` ### 需要确认接口字段 / 路径 / 评审 API 时 再读: - `references/ms-api.md` ## 本地生成能力边界 ### 功能用例草稿 默认能稳定生成: - 主流程 - 异常场景 - 边界场景 - 基础优先级 - 基础标签 ### 接口定义 / 接口用例草稿 默认能稳定生成: - 1 条接口定义 - 3 条接口用例:成功 / 必填缺失 / 边界 - 基于 example/schema 自动带值 - 基础状态码断言 ### 评审与关联查询 默认能稳定回答: - 有哪些评审单 - 某条功能用例是否参与过评审 - 某个评审单下有哪些功能用例 - 当前评审状态统计 - 哪些用例已评审 / 未评审 - 某条功能用例关联了多少个缺陷 - 某个功能用例的详情、缺陷、评审记录 - 哪些功能用例的缺陷关联数更多 ## 环境变量 ### 必需环境变量 ```bash METERSPHERE_BASE_URL= # MeterSphere 实例地址(如:http://172.16.200.18:8081) METERSPHERE_ACCESS_KEY= # API 访问密钥 METERSPHERE_SECRET_KEY= # API 密钥(用于本地签名,不传输) ``` ### 可选环境变量 ```bash METERSPHERE_PROJECT_ID= # 默认项目 ID METERSPHERE_ORGANIZATION_ID=100001 # 默认组织 ID METERSPHERE_HEADERS_JSON= # 额外的 HTTP 头(JSON 格式,谨慎使用) METERSPHERE_PROTOCOLS_JSON='["HTTP"]' # 支持的协议 METERSPHERE_DEFAULT_TEMPLATE_ID= # 默认模板 ID (避免使用硬编码值) METERSPHERE_DEFAULT_VERSION_ID= # 默认版本 ID (避免使用硬编码值) ``` ### 依赖要求 - `python3`:运行辅助脚本和数据处理 - `openssl`:本地生成请求签名(不传输密钥) - `curl`:发送 HTTP 请求到 MeterSphere API ## 输出要求 回答 MeterSphere 查询结果时,优先输出: - 关键 ID - 名称 - 状态 - 计数信息(如 `bugCount` / `caseReviewCount`) - 下一步可执行命令 如果是"单条功能用例查询",优先按这个顺序整理: 1. 用例摘要 2. 前置条件 / 描述 / 步骤 3. 缺陷列表 4. 评审记录 不要把大段原始 JSON 一股脑全贴给用户,除非用户明确要原始返回。 ## 安全注意事项 ### 1. 安装前检查 - 必须完成 [INSTALLATION_CHECKLIST.md](INSTALLATION_CHECKLIST.md) 中的所有检查项 - 确认元数据一致性,验证必需的环境变量和二进制文件 - 如需更强保证,请求发布者解释签名算法(见 [SIGNATURE_ALGORITHM.md](SIGNATURE_ALGORITHM.md)) ### 2. 凭证范围 - 仅提供具有最小必要权限的 MeterSphere 测试账户凭证 - 建议使用只读 API 密钥进行查询操作 - 为创建操作使用单独的、有限权限的密钥 - 定期轮换 API 密钥,记录每个密钥的权限范围和有效期 ### 3. 环境变量安全 - `.env` 文件应仅包含必要的环境变量,使用 `.env.example` 作为模板 - 避免在 `.env` 中存放额外敏感信息 - 设置文件权限为 600: `chmod 600 .env` - `METERSPHERE_HEADERS_JSON` 可注入任意 HTTP 头,请谨慎使用 - 不要包含可能泄露数据的头部 - 不要包含可能向其他服务进行身份验证的头部 ### 4. 外部二进制文件 - 脚本会调用 `openssl`、`curl` 和 `python3` - 确保这些二进制文件来自受信任的系统包 - 签名逻辑在本地使用 `SECRET_KEY`,不传输密钥(详见签名算法文档) ### 5. 硬编码 ID 警告 - 脚本中包含硬编码的项目 ID(`1163437937827840`)、模板 ID(`1163437937827890`)和版本 ID(`1163437937827887`) - 这些值对应特定项目,如果未正确配置环境变量,数据可能被错误归属到错误的项目 - **必须设置以下环境变量来覆盖硬编码值**: - `METERSPHERE_DEFAULT_TEMPLATE_ID` - `METERSPHERE_DEFAULT_VERSION_ID` - `METERSPHERE_PROJECT_ID`(如需要) - 在使用前验证这些 ID 对应正确的项目 ### 6. 沙箱测试要求 1. 在隔离的非生产环境中首次运行 2. 使用网络监控工具确认技能仅调用预期的 `BASE_URL` 3. 验证所有 API 调用都指向正确的 MeterSphere 实例 4. 测试查询和写入操作,确保数据归属正确 5. 监控脚本输出中的警告信息 ### 7. 签名算法安全 - 使用 AES-128-CBC 进行本地签名 - `METERSPHERE_SECRET_KEY` 不会传输到网络 - 签名包含时间戳和随机 UUID,防止重放攻击 - 详细算法说明见 [SIGNATURE_ALGORITHM.md](SIGNATURE_ALGORITHM.md) ### 8. 安装验证 - 运行验证脚本检查安装正确性: `./scripts/verify_installation.py` - 脚本将检查环境变量、二进制文件、网络连接等 - 在非生产环境使用前必须通过所有检查

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 metersphere-1775982190 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 metersphere-1775982190 技能

通过命令行安装

skillhub install metersphere-1775982190

下载 Zip 包

⬇ 下载 metersphere v1.0.5

文件大小: 38.96 KB | 发布时间: 2026-4-13 11:02

v1.0.5 最新 2026-4-13 11:02
## metersphere 1.0.5 Changelog

- 增加了三份新文档和脚本:INSTALLATION_CHECKLIST.md、SIGNATURE_ALGORITHM.md、scripts/verify_installation.py
- SKILL.md 安全部分全面升级,新增“安装前重要警告”和详细本地/沙箱验证要求
- 明确推荐先运行 INSTALLATION_CHECKLIST.md 和 scripts/verify_installation.py 进行环境与依赖检查
- 提供关于签名算法的独立说明文档(SIGNATURE_ALGORITHM.md),强调关键安全细节
- 强调必须设置环境变量以覆盖硬编码 ID,确保数据归属正确
- 增强凭证、安全、二进制依赖和沙箱运行的操作警示与检查流程

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部