关于 SuperSkill Registry
SuperSkill Registry 是面向 AI Agent 能力的目录与安装系统,提供网页界面和命令行工具。它明确展示发布版本、信任证据、撤销和用户同意门槛,供管理 Agent 资源的人员使用。
主要功能
- 01搜索和筛选 Agent 资源
- 02查看信任、文件与版本
- 03为 Codex 和 Claude Code 安装能力
- 04通过命令行验证和评估
- 05工作区审批与设置门槛
适用场景
- 01为 Agent 任务查找可复用能力
- 02安装前审查版本与信任详情
- 03将能力安装到 Codex 或 Claude Code
- 04验证或评估 harness 包
MCP 相关
目录流程可通过 MCP 和 HTTP 使用,并提供包括 `/mcp` 在内的 Agent 发现端点。其命令行工具也可生成 MCP 配置。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://superskill.sh/mcpclaude mcp add --transport http com-onlyharness-registry https://superskill.sh/mcp{"mcpServers":{"com-onlyharness-registry":{"type":"http","url":"https://superskill.sh/mcp"}}}在 Cursor 中打开{"servers":{"com-onlyharness-registry":{"type":"http","url":"https://superskill.sh/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-onlyharness-registry":{"type":"http","url":"https://superskill.sh/mcp"}}}{"mcpServers":{"com-onlyharness-registry":{"serverUrl":"https://superskill.sh/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
12| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 用于搜索公开 SuperSkill 资源的自然语言或关键词查询。 |
详细介绍
SuperSkill
superskill.sh 是面向用户的统一产品,用于查找和安装经过审核的 AI Agent 能力。它保留现有注册信息和工作区,为 Codex 和 Claude Code 提供统一安装链接,并明确列出具体版本、信任、撤销和用户同意关卡。
旧版 OnlyHarness 界面和主机仅用于兼容:面向用户的路由会重定向到 SuperSkill,而旧版 API/MCP 坐标、npm/软件包名称、数据库标识符和不可变归档 URL 仍可供已安装的客户端使用,并维持数据连续性。内部软件包名称仍使用 @harnesshub/*;发布的兼容 CLI 软件包仍为 onlyharness。
什么是原生 harness 软件包?
原生 harness 软件包是更广泛的 OnlyHarness 资源目录中采用严格格式、经过验证的软件包:
harness.yaml清单,包含运行时、工具、权限、质量关卡和风险档案。- 提示词、示例、评估用例和预期输出。
- 用于 validate、eval、gate、diff、import 和 PR 注释的 CLI 命令。
- 社交功能层:星标、服务端 remix 分叉、讨论串、已验证的关卡运行、安装确认、热度、标签、结果和维护者审核。
正式运行的 MVP
- 应用:https://superskill.sh
- API 健康状态:https://superskill.sh/api/healthz
- Registry API:https://superskill.sh/api/registry
- 通用安装器清单:https://superskill.sh/api/superskill/install
Supabase 身份验证已启用,支持注册/登录、星标、本地 remix 草稿、讨论串帖子和身份验证后的发布。
功能
- 类似 HuggingFace 的 Agent 资源发现功能,采用 Win98 桌面界面,并配有真正的窗口管理器(拖动、最小化、z 顺序、任务栏、开始菜单)。
- 结果筛选器、全局搜索、排行榜、Harness 热度、星标、服务端 remix 分叉计数、讨论串和已验证的关卡运行计数。
- Harness 详情会在独立窗口中打开,提供 Overview、Install、Trust、Try sample、Thread、Files 和 Versions 标签页,以及朴素风格的信任面板;Versions 基于归档快照历史。
- 经过身份验证的快速发布流程(
New Resource Wizard),可将 Markdown 导入为小型未验证脚手架。 - 分享卡片窗口(
harness_flex.exe)、狂野西部奖项、Paint 热度图表,以及可打开向导的回形针吉祥物。 - CLI 软件包
onlyharness,含hh兼容命令以及superskill install;HH_REGISTRY_URL可指向其他 Registry,默认值为https://superskill.sh/api。 - 便于 Agent 使用的发现入口:
/llms.txt、/api/openapi.json、/server.json和/mcp。 - 本地悬赏流程:通过现有的
gate_escrow通道创建/认领/交付/接受工作状态;只有在匹配的托管购买款项针对已交付的关卡收据完成扣款后,才会设置paid。 - 语义化 PR 审查和质量关卡辅助 API。
- 面向生产环境的 Docker 堆栈,支持在共享 VPS 主机上通过系统 Caddy 部署。
架构
flowchart LR
Web["React/Vite UI"] --> API["Fastify Harness API"]
API --> Seeds["Seed harnesses"]
API --> Imports["Imported harnesses"]
Web --> Supabase["Supabase Auth + RLS tables"]
API --> SupabaseAuth["Supabase token verification"]
Caddy["System Caddy / superskill.sh"] --> Web
CLI["hh CLI"] --> Schema["Schema, eval, gate, diff"]
本地运行
npm install
npm run seed
npm run check
npm run smoke
npm run dev
打开:
- UI:
http://127.0.0.1:5177 - API:
http://127.0.0.1:8787/healthz - 本地 Gitea Forge:
http://127.0.0.1:3000
运营方付款
付款报告和账本创建仅限手动运维。该脚本会读取已结算的 purchases 和 payout_accounts,应用当前费率,并可创建具备幂等性的付款草稿账本。它绝不会调用付款服务提供方,也不会将任何项目标记为已付款。
npm run payout:report -- --month 2026-07
npm run payout:report -- --month 2026-07 --json
npm run payout:ledger -- --month 2026-07 --ledger-out data/payout-ledgers/2026-07.json
使用 SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY,或通过 --purchases 和 --payout-accounts 使用本地 JSON 测试数据。--record-ledger 会通过 Supabase service role 对 payout_runs/payout_items 执行 upsert。没有 creator_user_id 的行会标记为 MISSING_CREATOR_ID;没有付款账户的行会被阻止,并标记为 MISSING_PAYOUT_ACCOUNT。
CLI
该 npm 包已发布:
npx onlyharness@latest search market research
npx onlyharness@latest suggest market research --json
npx onlyharness@latest resources search superpowers --json
npx onlyharness@latest resources detail github:obra/superpowers --json
npx onlyharness@latest resources open github:obra/superpowers --json
npx onlyharness@latest resources approve onlyharness:harnesses/deep-market-researcher --workspace acme --collection approved --json
npx onlyharness@latest install harnesses/deep-market-researcher --target claude-code --json
npx onlyharness@latest publish-resource ./agent-tool --name agent-tool --type command_pack --json
npx onlyharness@latest publish-resource ./agent-tool --workspace acme --name agent-tool --type command_pack --json
npx onlyharness@latest mcp-config deep-market-researcher --target claude-desktop --json
npm i -g onlyharness # installs the `hh` command
已发布的 [email protected] 提供资源目录、不可变的 publish-resource、工作区审批/设置/门禁、成员资格到期、手动且与提供商无关的工作区订阅生命周期、通用安装以及 SuperSkill 托管命令;0.2.18 是一个已知有问题的单链接版本,因为其发布的通用技能摘要已过时。也可通过 MCP/HTTP 使用服务端目录流程。
本地开发时,构建工作区包并直接运行:
npm run build -w onlyharness
node packages/harness-cli/dist/hh.mjs doctor
node packages/harness-cli/dist/hh.mjs audit-setup
node packages/harness-cli/dist/hh.mjs suggest market research --apply --out suggested-deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs suggest market research --apply --target codex --out suggested-deep-market-researcher --adapter-out .codex/harnesses/deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs install harnesses/deep-market-researcher --target codex --out deep-market-researcher --adapter-out .codex/harnesses/deep-market-researcher --json
node packages/harness-cli/dist/hh.mjs pull harnesses/deep-market-researcher --version 0.1.0 --out deep-market-researcher-0.1.0 --json
node packages/harness-cli/dist/hh.mjs mcp-config deep-market-researcher --target claude-desktop --out mcp.json
node packages/harness-cli/dist/hh.mjs benchmark benchmarks/research-discovery.yaml --json
node packages/harness-cli/dist/hh.mjs extract ~/.claude/skills/my-skill --out my-skill-harness
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish [email protected]:acme/harnesses.git --path harnesses/my-harness --name my-harness --json
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish-resource ./agent-tool --name agent-tool --type command_pack --json
HH_TOKEN=<token> node packages/harness-cli/dist/hh.mjs publish-resource https://github.com/acme/agent-tool.git --path packages/tool --name agent-tool --type command_pack --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs publish-resource ./agent-tool --workspace acme --name agent-tool --type command_pack --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs resources search agent-tool --workspace acme --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs resources detail @acme/agent-tool --json
HH_WORKSPACE_TOKEN=<workspace-token> node packages/harness-cli/dist/hh.mjs workspace setup acme --target claude-code --json
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs setup @acme
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs publish workflow.md --org acme --name my-private-harness
HH_ORG_TOKEN=<org-token> node packages/harness-cli/dist/hh.mjs sync [email protected]:acme/skills.git --org acme
TELEGRAM_BOT_TOKEN=<bot-token> HH_ORG_TOKEN=<org-token> TELEGRAM_CHANNEL_ID=<channel-id> npm run telegram:gate-bot
SuperSkill 内部 alpha 版
SuperSkill 是构建于 OnlyHarness 之上的任务优先型托管能力层。当前已检入的目录包含 12 个精确的不可变候选项,并有意将已批准的展示项目数设为零,直到获得真实的 Claude Code、Codex 和人工审查证明。
- 公开、只读:
GET /api/showroom/capabilities和GET /api/showroom/capabilities/{id}。这些路由绝不会推荐、下载或激活文件。 - 已选列表:
GET /api/showroom/selected会将当前经审查的受理候选项以selected_unreviewed卡片形式公开。它们可以填充 Daylight 目录,但在获得针对确切版本的审批证据前,不能被推荐或激活。 - 已确认用户的 Bearer 凭据:
/api/recommendations、/api/capabilities/{id}、确切版本/存档路由、托管证明发布和托管生命周期事件,均使用一个已确认的 Supabase 用户凭据,并要求有效的服务端superskill:managed授权。无头客户端会显式继承HH_TOKEN。HH_SUPERSKILL_TOKEN仅用于兼容旧版内部 alpha,不能生成公开 GO 证据。 - 托管 CLI 版本:
[email protected]是当前的单链接版本,已发布并通过全新npx安装验证,且在plugins/superskill/runtime.json中固定为官方 npm 完整性值。它会将托管技能详情、存档标头和存档字节绑定到一个不可变的版本/摘要/大小/信任元组。0.2.14和0.2.18是已知有问题的单链接版本;切勿用latest替代确切的运行时固定版本。 - Web:SuperSkill 产品界面已锁定在
superskill.sh主机名上;旧版查询参数或存储的皮肤状态无法切换它。
npm run build:superskill-catalog
npm run check:superskill-catalog
npm run check:superskill-router
npm run smoke:superskill
npm run superskill:pilot-report
插件源代码位于 plugins/superskill 下,Claude Code 和 Codex 共用一个字节级完全相同的技能。能力交接使用一个不可变的 https://superskill.sh/api/superskill/install/{id}/{version}/{sha256} URL;固定版本的本地安装器会准确选择一个无歧义的客户端,而路由和激活许可仍彼此独立。发布到市场以及在全新会话中验证插件,仍是独立的发布操作。
面向 Agent
- 发现:
/llms.txt、/AGENTS.md、/api/openapi.json、/server.json中的 MCP Registry 元数据,以及/.well-known/oauth-protected-resource中的 OAuth 受保护资源元数据。SuperSkill 不会公布自定义授权服务器:托管的无头流程通过HH_TOKEN手动接收已确认的账户令牌;在某个发行方拥有完整且符合标准的流程之前,/.well-known/oauth-authorization-server会有意返回 404。 - MCP v0.2.19:
https://superskill.sh/mcp,包含确切的工具清单search_harnesses、harness_detail、search_resources、resource_detail、resource_use_instructions、pull_instructions、pull_harness、search_docs、publish_markdown_to_harness和publish_resource_package。资源详情/使用工具接受可选的精确version;明确指定的历史读取不会偏移到最新版本。工具结果使用structuredContent;逻辑失败会将isError设为true,并返回稳定的机器代码和经过清理的详情。 - 生产环境已启用公开托管的资源包发布。已确认的发布者可创建不可变的语义化版本,并具有幂等性、持久所有权、工件 SHA-256 和有界文本存档;更改现有版本会安全地拒绝操作。SuperSkill 网页表单接受仓库文件夹或编写的技能,并将每个已接受的发布版本标记为
unreviewed,直到有独立的审核证据。静态 v2 检查结果为fail时,会在任何存档、目录或事件变更之前拒绝请求,并提供经过清理的规则/文件证据;HTTP 使用SECURITY_SCAN_FAILED,而 MCP 保持稳定的VALIDATION_FAILED响应格式。检查结果为pass/warn的发布版本仍标记为未审核;静态检查通过并不表示已知晓运行时风险等级。 - Registry 发布:
server.json仅指向规范地址https://superskill.sh/mcp的远程服务;com.onlyharness/registry仍是兼容性标识符。发布仍需要针对superskill.sh的 MCP Registry 授权/发布证明、精确的已发布运行时固定版本,以及干净的客户端证明;onlyharness.com仅用于兼容。 - 团队设置和发布:
hh setup @acme读取GET /api/orgs/{slug}/bundle;hh publish --org acme会写入组织私有的 harness。两者在ORGS_ENABLED=true时都使用HH_ORG_TOKEN。组织身份验证/捆绑包/审计会优先读取 Supabase 服务角色表,并将HARNESS_ORGS_PATH/HARNESS_ORG_AUDIT_PATH作为本地冒烟测试备用路径。 - 团队工作区 UI/API:Network Neighborhood 使用
GET /api/orgs/{slug}/workspace和相同的组织令牌,并返回组织私有卡片、经过清理的审计行,以及权限/风险摘要。 - 工作区资源目录:已确认的账户通过
POST /api/workspaces创建仅限邀请的工作区;该事务还会创建所有者成员身份、邀请策略和默认的已批准集合。GET /api/workspaces/{slug}/workspace、GET/PUT /api/workspaces/{slug}/setup-bundle、GET /api/workspaces/{slug}/resources、GET /api/workspaces/{slug}/resources/{id}、GET /api/workspaces/{slug}/resources/{id}/archive、POST /api/workspaces/{slug}/imports/resource-package、POST /api/workspaces/{slug}/resources/approve和/api/workspaces/{slug}/collections...均受WORKSPACES_ENABLED=true控制。API/网页读取可使用有效且未过期的工作区成员会话,或使用HH_WORKSPACE_TOKEN。CLI 目前仍基于令牌,HH_ORG_TOKEN可作为迁移备用方式。hh workspace setup acme --target claude-code会安装由工作区托管的包,并为已批准的公开资源写入说明,不会假装这些资源拥有工作区存档。GET/POST /api/workspaces/{slug}/members、POST /api/workspaces/{slug}/invites、POST /api/workspaces/{slug}/join和DELETE /api/workspaces/{slug}/members/{userId}通过member:write/invite:write管理成员身份;POST /members接受可选的expiresAt,过期或已移除的成员无法使用私有安装/存档路径。原始邀请码仅返回一次,存储的只有哈希值;网页分享 URL 将原始码放在#后,因此在明确加入之前不会将其发送到服务器。工作区门控还提供GET/PUT /api/workspaces/{slug}/join-policies、POST /api/workspaces/{slug}/join-code、只读的POST /api/workspaces/{slug}/join-code/verify,以及用于 Telegram/Discord/权益检查的显式POST /api/workspaces/{slug}/join-grants,需要gate:verify/gate:write作用域。有效的paid_subscription加入策略要求启用WORKSPACE_SUBSCRIPTIONS_ENABLED=true;POST /subscriptions/checkout仅创建未完成的收据,带签名的POST /webhooks/workspace-subscriptions以幂等方式激活/续期/宽限/取消访问权限,不会恢复已移除/已暂停的成员;POST /subscriptions/sweep会过期已结束的访问权限,但不会收取费用。使用hh resources approve onlyharness:harnesses/deep-market-researcher --workspace acme --collection approved,可将经过扫描的公开条目作为本地整理加入工作区集合,但这不代表 OnlyHarness 验证;not_scanned和检查失败的资源不能获批为可安装资源。 - 团队 Git 同步:
hh sync <git-url-or-local-path> --org acme会克隆/扫描 Markdown 技能和运行手册,然后通过组织发布端点导入。首个版本不含 Webhook。 - 维护者发布:
hh publish <harness-dir>需要本地.harnesshub/results.json;hh publish <git-url> --path <harness-dir>会克隆到临时目录,在该目录中运行本地评估/门控,然后仅在服务器重新检查架构、安全性和门控均成功时发布。 - 资源包发布:
hh publish-resource <dir-or-git-url> --name <slug> --type <type>会将技能、插件、工作流、MCP 服务、命令包、脚本、文档或源代码包中的安全且有界的文本文件打包到 OnlyHarness 存档存储中,并在/api/resources中列出结果。这不会获得 Verified harness 徽章。 - 工作区资源包发布:
hh publish-resource <dir-or-git-url> --workspace acme --name <slug> --type <type>会将同一完整包发布到私有工作区目录中,名称为@acme/name;它不会经过 Markdown 脚手架路径,也不会声称获得 Verified 徽章。 - 组织私有拉取使用相同的令牌路径:
HH_ORG_TOKEN=<org-token> hh pull @acme/private-harness。 - 目录架上的条目是归属于
directories所有者的纯链接发现索引。它们会在搜索结果中显示open <url>,而GET /api/repos/directories/{name}/archive会返回409 DIRECTORY_LINK_ONLY,而不是可运行文件。 - 服务端 remix 是一个本地草稿流程,会创建真实的 fork 图记录:
POST /api/repos/{owner}/{repo}/remixes仅从存档文件创建免费的未验证local/{name}副本,并记录源 -> fork 的边。付费、组织/私有、目录、纯链接及许可证未指定的来源会被安全地拒绝;复制的备用配方不会增加 fork 数,也不会存储提示词/本地路径。 - 公开 API 负载绝不暴露服务器文件系统路径:注册表/详情在可用时使用公开 Forge、OnlyHarness GitHub 镜像或上游 URL;
/healthz仅返回状态;详情中的维护者审核明确标记为local-demo预览,直到连接真实的 Forge PR 来源。 /api/resources是面向技能、插件、工作流、MCP 服务、配置、指南、运行时、目录及原生 harness 格式包的主要混合来源感知目录。/api/registry保留 harness 加纯链接目录这一契约,以兼容现有 Agent 客户端。- 类别基准测试基础设施以本地优先:
hh benchmark <suite.yaml>使用声明的评估用例分数,从本地路径比较候选 harness 和类似 harness。套件位于benchmarks/;冒烟测试会运行其中每个 YAML 套件。这仍是运行器/比较层,并非独立的大模型质量测量。 - Agent 自动驾驶:
hh suggest <task> --json会进行搜索,返回带信任字段的排序候选项,获取所选 harness 的详情,输出完整信任摘要,并记录隐私安全的suggested事件。使用--pick <rank>可检查/应用其他候选项。hh suggest <task> --apply --out <dir>会通过与hh pull相同的存档路径安装所选 harness,在选择--apply时记录accepted,并仅在文件写入后记录applied。添加--target cli|claude-code|codex|cursor可在记录applied前运行完整的适配器安装流程。 - 版本化存档:harness 详情包含
versions[];hh pull owner/name --version <semver>和hh install owner/name --version <semver>会请求相同的不可变/archive?version=路径,并将.harnesshub/source.json固定到已解析的版本。 hh eval和hh gate在通过时,会为已拉取的 harness 记录隐私安全的eval/gate事件;详情负载会从这些事件中公开verification.lastVerifiedAt。Registry 的runs仅根据通过的gate事件计数,绝不根据hh run示例预览计数。hh gate --receipt会写入带签名的门控收据,其中包含 harness 引用、版本、resultsHash、判定结果和时间戳。POST /api/receipts仅验证 ed25519 签名,不产生副作用,也不会存储提示词、本地路径、付款或权益。- 门控托管采用先预留模式:
pricing.model: gate_escrow结账/Webhook 会创建reserved状态和带过期时间的escrow_reserved存档权益。POST /api/billing/escrow/receipt会在有效收据判定通过时扣款,或在有效收据判定失败时退款;POST /api/billing/escrow/timeout会在 72 小时窗口后退款。 - 赏金基于同一托管资金通道管理工作状态:
/api/bounties*支持创建、认领、交付和接受;接受操作会验证已交付收据、托管目标、金额和货币,阻止重复使用托管资金,并且仅在扣款后写入paid。 - 托管端点尚未上线:
hh run仅作为示例预览在本地执行,HTTP/MCP 接口会交付 harness 文件,而不会在服务端运行作者代码。pricing.model=per_call会返回409 HOSTED_EXECUTION_NOT_AVAILABLE,直到运行器/合作伙伴路径发布并通过冒烟测试。 - 付费安装/拉取在获得权益之前会返回 402。当
PAYMENTS_ENABLED=true、X402_ENABLED=true且设置了X402_PAY_TO时,存档响应还会包含 x402 v2PAYMENT-REQUIRED标头。成功的hh install --pay或hh pull --pay存档交付要求X402_FACILITATOR_URL完成验证/结算,随后会授予钱包权益。 - 结账 URL 会跳转到
/checkout:没有provider_ref时,网页 UI 会要求买家登录并创建手动结账会话;带有provider_ref时,会显示待处理的手动交接状态。这两种状态都不会在客户端授予访问权限。 - 手动结账是唯一启用的结账提供方(未设置
PAYMENT_PROVIDER或设置为manual)。任何其他提供方值都会在创建购买之前被安全地拒绝;x402 是单独的存档付款通道。 - 买家收据为只读:
GET /api/billing/receipt?provider_ref=<ref>会返回已通过身份验证的用户的待处理/已付款购买状态和权益标记,但绝不会结算提供方或授予访问权限。 - Bot 门控可使用带有
entitlements:read权限的组织令牌调用GET /api/entitlements/check?subject=user:<id>&harness=owner/name;该请求仅返回判定结果,绝不返回存档文件。 - 更安全的社区门控使用短期有效的签名码:买家获得权益后调用
POST /api/community/invite-code,然后 Telegram/Discord Bot 使用带作用域的组织令牌调用POST /api/community/verify-code,再授予访问权限。API 必须配置COMMUNITY_INVITE_SECRET。 - Registry 条目包含
installConfirms;只有经过身份验证的kind=install&client=claude-code事件才会计入works in Claude Code: N confirms徽章。 - Claude Code 兼容市场:
claude plugin marketplace add elvismusli/onlyharness,然后执行claude plugin install superskill@superskill。单链接安装器是主要安装路径。 - Codex MCP 设置:
codex mcp add superskill --url https://superskill.sh/mcp --bearer-token-env-var HH_TOKEN。 - 本地验证:
npm run check:mcp-registry && npm run check:plugin;安装了 Claude CLI 时,还要运行claude plugin validate . && claude plugin validate plugins/onlyharness。 从示例创建本地环境:
cp .env.example .env.local
cp .env.example apps/registry-web/.env.local
生产环境部署
当前 VPS 使用共享系统 Caddy,监听端口 80/443。OnlyHarness 在其后运行于 127.0.0.1:8097。
SSH_TARGET=hetzner-root DEPLOY_MODE=system-caddy scripts/deploy-production.sh
scripts/deploy-production.sh 在容器重新加载后默认执行公开冒烟测试:/api/healthz、/server.json、/.well-known/oauth-protected-resource、预期返回 404 的 /.well-known/oauth-authorization-server、/checkout 和 /mcp。对于非默认主机名,请覆盖 PUBLIC_BASE_URL;只有在刻意进行不完整部署时才设置 RUN_DEPLOY_SMOKE=0。
如需在不创建临时用户的情况下执行经过身份验证的生产冒烟测试,请在被忽略的生产环境文件中设置兼容性 QA 凭据,并针对 https://superskill.sh/api 运行 scripts/smoke-production-auth.ts。
部署产物:
infra/production-compose.ymlinfra/production-system-caddy.override.ymlinfra/Caddyfile.local-smokescripts/deploy-production.shscripts/smoke-production-compose.shscripts/smoke-production-auth.ts
生产冒烟测试:
scripts/smoke-production-compose.sh
set -a
. infra/production.env
set +a
SMOKE_API_URL=https://superskill.sh/api SMOKE_EXPECT_EMAIL_CONFIRMATION=1 npm run smoke:prod-auth
验证
当前验证关卡:
npm run build
npm run check
npm run smoke
npm run smoke:mcp
npm run smoke:x402
scripts/smoke-production-compose.sh
生产身份验证冒烟测试会创建一个 QA Supabase 用户,并验证电子邮件确认会阻止立即登录。若要使用已预先确认的令牌测试经过身份验证的发布,请在 CLI 发布流程中传入 HH_TOKEN,或针对已确认的会话运行 API 发布冒烟测试。
仓库布局
apps/
harness-api/ Fastify API and registry endpoints
registry-web/ React/Vite OnlyHarness UI
packages/
cli/ hh CLI
schema/ harness.yaml schema, validation, risk checks
semantic-diff/ harness semantic diff and PR review markdown
seed-harnesses/ curated MVP harness examples
supabase/ auth/social/thread schema migrations
infra/ Docker, Caddy, Gitea, and production compose
scripts/ seed, smoke, deploy, Gitea proof scripts
安全说明
- 真实的
.env.local、应用环境文件和infra/production.env文件均已加入 git 忽略列表。 - 生产环境中的发布需要有效的 Supabase bearer 令牌。
- 配置了
HARNESS_WEBHOOK_TOKEN时,内部 webhook/eval 端点需要该令牌。 - 组织设置由
ORGS_ENABLED控制;组织令牌以sha256:哈希形式存储在 Supabase 或本地备用存储中,审计日志不得包含原始令牌。 - Supabase 表使用 RLS 策略管理个人资料、用户操作和线程帖子。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。