关于 Testsy
Testsy integrations 将编码 Agent 接入 Testsy 工作区,用自然语言执行网页 QA、发布检查和回归跟进。它包含共享技能、MCP 配置、CLI 和 GitHub Action。
主要功能
- 01自然语言 QA 测试技能
- 02发布检查运行
- 03调查失败运行
- 04从缺陷创建回归测试
- 05CLI 与 GitHub Action 集成包
适用场景
- 01发布前运行已保存的 QA 检查
- 02调查失败的测试运行
- 03根据缺陷创建回归覆盖
MCP 相关
通过托管 MCP 端点连接客户端与 Testsy。集成包提供客户端配置和技能,凭据需另行提供。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://app.testsy.dev/mcpclaude mcp add --transport http dev-testsy-testsy https://app.testsy.dev/mcp{"mcpServers":{"dev-testsy-testsy":{"type":"http","url":"https://app.testsy.dev/mcp"}}}在 Cursor 中打开{"servers":{"dev-testsy-testsy":{"type":"http","url":"https://app.testsy.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"dev-testsy-testsy":{"type":"http","url":"https://app.testsy.dev/mcp"}}}{"mcpServers":{"dev-testsy-testsy":{"serverUrl":"https://app.testsy.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://app.testsy.dev/mcp需要授权工具
详细介绍
Testsy 集成
将发布检查转化为保存的纯英文测试,检查失败的运行,并在修复后保留回归覆盖。这些软件包通过托管的 MCP 端点,将编码 Agent 连接到你的 Testsy 工作区。
三个共享技能分别是 testsy-check-release、testsy-investigate-run 和 testsy-regression-from-bug。请参阅示例请求。所有技能都会保留预期行为,并区分应用失败、受阻、无法得出结论和执行错误等结果。
此目录是独立的 MIT 许可集成软件包。其许可证仅适用于这些集成文件;不适用于 Testsy 服务或父级仓库。
构建和检查
需要 Node.js 22 或更高版本;无需依赖项或 API 调用:
npm run check
npm run build
npm run export
npm run archives
在父级仓库的 integrations/testsy 目录中运行这些命令。在独立检出中,则在仓库根目录运行。dist/ 包含独立的客户端软件包、两个本地市场目录、固定版本的 GitHub Action 和 MCP Registry 元数据。每个软件包都由同一份 skills/ 源文件组装而成;生成的清单不包含凭据。这些检查用于验证本地打包和模拟 API 行为,不代表与实际客户端兼容、获得市场批准或成功运行托管测试。请参阅发布要求。
npm run export 会在 release/ 中准备独立的仓库根目录;独立源代码软件包使用明确的文件允许列表。它绝不会复制父级检出内容或其 Git 历史记录,也不会初始化 Git 或发布任何内容。release/export.json 会通过 SHA-256 列出每个导出文件。npm run archives 会在 release/archives/ 中准备确定性的 testsy-<target>.tar.gz 归档,并附带 SHA256SUMS 和 release.json。每个归档都解压到一个 testsy-<target>/ 目录中。发布时只审核并复制选定的仓库根目录;切勿从私有父级检出目录运行发布命令。
在父级 Testsy 应用的检出目录中,npm run downloads 会将相同的归档和校验和元数据写入着陆页站点的固定目录 apps/landing/public/downloads/testsy/,供下一次部署使用。发布下载文件不会创建市场列表。下载的源代码软件包支持上述构建命令;原生客户端软件包已经组装完成,安装说明请参阅其自带的 README。
在父级检出目录中运行 npm run downloads:check,可验证已提交的公开归档是否仍与当前软件包一致;此命令不会修改公开资源。
在父级仓库中构建之前,请从仓库根目录运行 npx tsx scripts/v11/config-gen.ts,刷新共享配置。地址请编辑 shared/hosts.ts,规范 CLI 请编辑 apps/customer/public/cli/qa-ai.mjs。生成器会将这些配置复制到此软件包中。在导出的独立检出中,生成的文件是已提交的发布输入文件。
连接工作区
在 Testsy「设置」→「API 密钥」中创建工作区 API 密钥,并授予工作流所需的运行和编辑权限。请将密钥保存在密钥管理器、客户端设置中,或通过 QA_AI_API_KEY 环境变量提供。切勿将其粘贴到提示词、屏幕截图或已提交的配置中。只读调查只需读取权限。运行会使用工作区配额,并可能执行测试中描述的操作。
当前端点和原生配置位于 config.json 和 manifests/ 中。API 密钥仍可独立于 OAuth 目录连接使用。
Codex
构建完成后,使用 codex plugin marketplace add ./dist/codex-marketplace 添加本地目录,然后在受支持的 Codex 客户端中从该目录安装 Testsy。对于下载的目录,请解压 testsy-codex-marketplace.tar.gz,并在该命令中使用 ./testsy-codex-marketplace。请单独配置 MCP 连接,让 Codex 从环境变量读取 bearer token,而不是将明文密钥存储在插件中:
codex mcp add testsy --url "$(node -p "require('./config.json').app + '/mcp'")" --bearer-token-env-var QA_AI_API_KEY
在客户端的环境中安全地设置 QA_AI_API_KEY,重启客户端,并检查其 MCP 和技能列表。Codex 软件包仅包含技能;上面的命令提供了 API 密钥连接。主机可以为 CLI/服务名称添加命名空间。
Claude Code
在环境中安全地设置 QA_AI_API_KEY,然后为本地会话加载软件包:
claude --plugin-dir ./dist/claude
若要通过生成的目录安装,请在 Claude Code 中运行 /plugin marketplace add /absolute/path/to/dist/claude-marketplace 和 /plugin install testsy@testsy。重启会话并检查 /mcp 和 /skills。内置的 HTTP 配置会读取 QA_AI_API_KEY;插件不包含其值。
Cursor
dist/cursor 中的软件包包含原生 Cursor 清单,其中声明了 QA_AI_API_KEY 变量及其 HTTP MCP 配置。它已准备好用于提交至仓库或导入团队管理的插件;请通过 Plugins → Configure 设置该变量。它目前尚未列入 Cursor 的公共市场。
若要在条目获批前直接使用,请将三个技能文件夹复制到项目的 .cursor/skills/ 中,并使用 Cursor 支持的密钥/环境变量机制,将 manifests/cursor.mcp.json 中的 mcpServers 条目合并到 MCP 配置中。不要覆盖现有项目配置。运行测试前,请在 Cursor 中验证工具发现情况。
Gemini CLI
gemini extensions install ./dist/gemini
出现提示时,请在 Testsy API 密钥的敏感设置中提供 API 密钥。重启 Gemini CLI,然后检查其 MCP 和技能列表。清单会显式声明环境变量,因为 Gemini 扩展会清理继承的环境变量。
ChatGPT 和可移植插件主机
dist/portable-skills 是一个仅包含技能的 Agent Plugins v1 软件包。它需要单独建立一个能够提供工具的 Testsy 连接。dist/openai-oauth-candidate 还包含用于 OAuth 发现的远程 MCP 端点。在针对已部署的服务通过授权、工作区隔离、刷新和撤销测试,并完成全新安装测试及目录审核之前,请将其视为候选版本。
可移植 Agent Plugins v1 的 HTTP 标头是字面值;可移植 mcp.json 中的 ${QA_AI_API_KEY} 会按字面值发送。因此,本软件包使用原生客户端密钥机制进行直接 API 密钥安装,绝不声称支持可移植的 API 密钥插值。
skills.sh 和其他 Agent Skills 主机
源 skills/ 目录使用标准 SKILL.md 文件。将所选技能文件夹复制到客户端支持的技能目录,并单独连接 Testsy MCP。发布经过审核的导出仓库后,再宣传基于仓库的技能安装命令。此源软件包并不意味着存在公共仓库或市场条目。
CI 和命令行
带版本的 CLI 已打包在 bin/testsy.mjs 中,且 action.yml 中的 action 会执行该固定版本。它不会在运行时从可变网站获取可执行代码。CLI 为保持兼容性,支持现有的 QA_AI_* 环境变量。
node bin/testsy.mjs version
node bin/testsy.mjs projects
node bin/testsy.mjs run --project p_myproject --junit testsy-junit.xml
退出码:0 表示满足已配置的门槛,1 表示选定的失败状态,2 表示用法/API/运行启动失败,3 表示轮询超时。默认门槛会在状态为 failed,error 时失败;如果发布要求所有选定测试均明确完成,请使用 --fail-on failed,error,blocked,inconclusive,cancelled。
将构建好的 action 复制到应用仓库的 .github/actions/testsy 后:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- uses: ./.github/actions/testsy
with:
api-key: ${{ secrets.TESTSY_API_KEY }}
project: p_myproject
fail-on: failed,error,blocked,inconclusive,cancelled
- uses: actions/upload-artifact@v4
if: always()
with:
name: testsy-results
path: testsy-junit.xml
将 dist/action 发布为专用的公开 action 仓库,并在记录远程 uses: 地址前,为经过审核的提交打上标签。在生产工作流中固定该提交的 SHA。移动端构建输入支持 APK 和压缩的 iOS Simulator 应用;依赖应用执行前,请确认当前运行器是否可用。
注册表和发布
server.json 描述现有的远程 MCP 服务,并带有机密 Authorization 标头。dev.testsy/testsy 命名空间需要通过域名所有权验证。发布、创建公开仓库和目录审核是彼此独立的外部步骤;请参阅 RELEASING.md。
已于 2026-10-21 查阅的官方格式参考:OpenAI 插件打包、Agent 插件规范、Claude 插件清单、Claude 市场、Cursor 插件、Gemini 扩展、MCP Registry 远程服务。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。