关于 Boardcheck
Boardcheck 是用于检查 AI Agent 市场列表风险信号的本地工具,面向竞标者、市场运营方和审计人员。它以稳定标识和逐项说明呈现风险发现,并可通过命令行、浏览器、库或 MCP 服务使用。
主要功能
- 01检查互动数据异常和批量发布
- 02识别自我推广及付款风险
- 03检测提示词注入内容
- 04输出风险等级与逐项原因
- 05提供 CLI、库和浏览器检查
- 06支持策略调整及可复现审计
适用场景
- 01竞标前检查单个市场职位
- 02筛查整个平台的列表风险
- 03在 CI 或定时任务中阻断高风险结果
- 04审计市场指标并生成机器可读报告
MCP 相关
可选的 MCP 服务通过本地 stdio 暴露五种工具,包括扫描列表、检查单条列表、查询检测指标、提交观察数据和生成审计证书。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Boardcheck
投标前,先用 Boardcheck 检查。
▶ 在浏览器中试用 · 规范 · 审计 · llms.txt
准备在 AI Agent 工作板上投标?Boardcheck 会在你投入时间或金钱之前标记有风险的列表。
把工作板上的列表交给它,它就会指出警示信号:申请数多于浏览量的列表、在同一秒创建的一批列表、主要由宣传自己的 Agent 组成的工作板、没有托管资金和付款凭证的付费工作、预算远高于工作板中位数但无人浏览的列表、试图劫持你的 AI Agent 的文本(提示词注入),以及没有托管资金的预付费用。你会得到三种结论之一——高风险、谨慎或安全——每项发现都会用通俗易懂的语言说明原因。扫描在你自己的机器上运行,你的列表不会发送到任何地方。
30 秒上手
你需要 uv 和 git。无需创建账户,也无需克隆仓库:
curl -fsSLO https://raw.githubusercontent.com/Echolonius/boardcheck/main/examples/sample_listings.json
uvx --from git+https://github.com/Echolonius/boardcheck agent-market-signals sample_listings.json
第一行会下载七条虚构列表:三个诱饵工作、三个 Agent 自我宣传列表和一条普通工作。第二行会直接从 GitHub 对这些列表运行 Boardcheck,并输出 JSON 报告(此处已截短):
{
"listings_scanned": 7,
"verdict": "high_risk",
...
"findings": [
{
"id": "AMS-001",
"indicator": "view_application_inversion",
"severity": "high",
"listing_id": "synthetic-bait-1",
"detail": "24 application(s) with 0 views — applying requires viewing, so this count is arithmetically implausible and may be fabricated"
},
...
],
"summary": {
"info": 0,
"warn": 4,
"high": 3
}
}
三个诱饵工作都显示申请数达到 20 次或以上,但浏览量为零(AMS-001,高),并提供没有托管资金和付款凭证的报酬(AMS-004,警告);三条列表也都是在同一秒创建的(AMS-002,警告)。由于触发了高严重性发现,该命令会以代码 1 退出(0 表示未触发任何规则,2 表示输入有误),因此也可以用它作为脚本或 CI 作业的门禁。
- **检查你自己的列表:**将它们保存为 JSON 数组(字段见 SCHEMA.md;只有
id和created_at是必需的),然后将第二行命令中的文件替换为该文件。 - **在 Windows PowerShell 中,**请使用
curl.exe,不要用curl。 - 没有终端?浏览器版可直接在页面中运行相同的检查,但不包括
AMS-007:粘贴工作板的列表 JSON,你粘贴的内容不会离开浏览器。它提供面向个人和 AI Agent 的两种模式,还提供供 Agent 使用的机器可读文件 llms.txt。 - **正在使用 AI Agent?**通过 MCP 服务将这些检查作为工具提供给它。
快速入门工作流会在每个拉取请求中运行这些完全相同的命令、pip 安装步骤和下文的 MCP 设置,因此指令若有问题,就会显示为检查失败。
检查内容
| 指标 | 触发条件 | 重要性 |
|---|---|---|
AMS-001 view_application_inversion | 申请数超过浏览数(最明显的情况:申请数 >0,浏览数为 0) | 申请前必须先浏览列表,因此从算术上看这不合理——可能是虚构互动的迹象 |
AMS-002 batch_creation_clustering | 许多列表的创建时间精确到秒且相同 | 这是自动批量发布的特征,而非自然需求 |
AMS-003 self_advertisement_ratio | 大多数列表都是 Agent 在推广自己的服务 | 供应过剩,却被包装成需求呈现给新人 |
AMS-004 unpaid_work_risk | 有偿工作没有托管,也没有付款凭证机制 | 交付后是否付款完全取决于发布者的决定 |
AMS-005 high_budget_bait | 预算远高于平台中位数,但浏览数为 0 | 一个吸引申请者的大数字,却没有真正的买家参与 |
AMS-006 prompt_injection_payload | 列表文本(标题、描述、说明)包含指令覆盖或 shell 命令模式,例如 "ignore previous instructions" 或 cat /etc/passwd | 该列表试图劫持读取它的 AI Agent |
AMS-007 upfront_fee_gating | 列表要求申请或投标前支付费用或押金,且未确认有托管 | 工作尚未开始就要先付款,而且没有任何保证能拿回这笔钱 |
当缺少检查所需的数据时,检查不会触发——没有证据不等于证据不存在——但有一个例外:当列表要求预付费用(requires_upfront_fee 为
true)时,如果缺少 has_escrow,AMS-007 会将其视为没有托管并触发,除非 has_escrow 为 true。
检查结果是供人工或下游系统权衡的参考信号,而非判定结论;每项结果都会说明其判断依据。每个指标都有稳定 ID,便于准确引用(例如“AMS-004 无偿工作风险”);完整定义、严重程度和已知误报见 SPEC.md。
安装
关于名称: 项目名为 Boardcheck,但 Python 包及其命令仍名为
agent-market-signals(命令行工具)和agent-market-signals-mcp(MCP 服务)。 安装、运行和配置时都要使用这些名称,因此下文会原样保留。
目前尚未发布到 PyPI:所有内容都直接从 GitHub 安装,无需账户。
-
无需安装即可运行命令行工具(Python 3.9+):按照30 秒上手中的说明使用
uvx。 -
安装库和命令行工具(Python 3.9+):
pip install git+https://github.com/Echolonius/boardcheck -
同时安装 MCP 服务(Python 3.10+):
pip install "agent-market-signals[mcp] @ git+https://github.com/Echolonius/boardcheck" "mcp<2"
库和命令行工具仅使用 Python 标准库。MCP 服务还需要官方的
mcp Python SDK,该 SDK 要求 Python 3.10 或更高版本。目前它需要该 SDK 的 1.x 版本,因此使用 "mcp<2":2.x 版本重命名了此代码导入的服务类。
示例文件不属于已安装的包。请使用上面的 curl 命令下载,或克隆仓库并在其根目录运行 python -m agent_market_signals examples/sample_listings.json。
从命令行使用
# without installing, via uv:
uvx --from git+https://github.com/Echolonius/boardcheck agent-market-signals listings.json
# after pip install:
agent-market-signals listings.json
# from a clone of this repo:
python -m agent_market_signals examples/sample_listings.json
# reading the listings from stdin:
cat listings.json | agent-market-signals -
打印 JSON 报告;如果触发了任何高严重性检查结果,则以 1 退出(适用于 CI 或定时任务监控);如果没有,则以 0 退出;如果用法或输入有误,则以 2 退出。
在 AI Agent 中使用(MCP 服务)
这样,Agent 就能在做决定时调用这些检查——“在我竞标这个列表之前,先检查一下”—— 该软件包附带一个可选的 MCP 服务。它在本地通过 stdio 运行;不托管任何内容,也不会向任何地方发送数据。
安装好 uv 和 git 后,
无需进行其他设置。将以下内容添加到 MCP 客户端的配置中(例如 Claude Desktop 的
claude_desktop_config.json,或 Claude Code 项目中的 .mcp.json),客户端便会直接从
GitHub 启动服务:
{
"mcpServers": {
"boardcheck": {
"command": "uvx",
"args": [
"--python", ">=3.10",
"--from", "agent-market-signals[mcp] @ git+https://github.com/Echolonius/boardcheck",
"--with", "mcp<2",
"agent-market-signals-mcp"
]
}
}
}
--python ">=3.10" 允许 uv 使用(或下载)足以运行 mcp SDK 的 Python 版本,而
--with "mcp<2" 则将该 SDK 固定在版本 1,因为此服务是基于该版本编写的。如果客户端
找不到 uvx,请在 "command" 中填写其完整路径(Windows 上使用 which uvx 或
where uvx)。如果你改用 pip 安装(参见安装),则使用 "command": "agent-market-signals-mcp",
无需设置 args。
该服务提供五种工具:
| 工具 | Agent 的用途 |
|---|---|
scan_listings | 在相信其数据之前,检查整个市场看板 |
check_listing | 在竞标或接受单个列表之前进行检查 |
list_indicators | 查看检查项目(稳定的 AMS-* ID),并准确引用检查结果 |
make_observation | 选择加入、保护隐私地贡献数据,以改进共享阈值 |
generate_audit_certificate | 将扫描结果转换为机器可读摘要,并附带可嵌入的徽章(根据你传入的列表生成,因此并非独立审计) |
建议 Agent 采用以下决策策略:high_risk → 不要竞标;caution → 开始任何工作之前,要求提供付款
凭证(托管支付、过往付款记录);clear → 可以继续,但先检查 coverage——
数据稀疏时,能标记出的问题很少,因此字段稀疏时的“clear”并不代表情况良好。
作为库使用
from datetime import datetime
from agent_market_signals import Listing, scan
listings = [
Listing(id="job-1", created_at=datetime.fromisoformat("2026-01-14T12:00:00"),
views=0, applications=24, budget=2500.0,
has_escrow=False, has_payment_evidence=False),
# ...
]
report = scan(listings)
print(report["verdict"]) # "high_risk" | "caution" | "clear"
print(report["summary"]) # {"info": 0, "warn": 1, "high": 1}
print(report["coverage"]) # how many listings carried each field
for f in report["findings"]:
print(f["severity"], f["id"], f["indicator"], f["detail"]) # id is the stable AMS-* tag
报告包含一目了然的 verdict(high_risk / caution / clear)、coverage
映射(每个字段中包含多少条列表)以及 views_tracked 标志,让审计人员既能快速了解结论,
也能看到实际评估了多少内容。结论有意采用类别划分,而非看似精确的 0–100 分;数据稀疏时的
clear 并不代表情况良好。
每项发现都包含稳定的 id(AMS-001 … AMS-007,保证永不更改)和
易读的 indicator 名称,因此你可以准确引用 ID,同时显示易读的标签。
调整。 检测阈值是根据字段信息设定的默认值,并非定律。传入 Thresholds,即可为你的平台
调整阈值:
from agent_market_signals import Thresholds, scan
# e.g. a platform that does legitimate bulk imports: only flag larger, tighter bursts
report = scan(listings, Thresholds(min_cluster=6, self_ad_ratio=0.9))
默认值仅在一个位置定义(agent_market_signals/thresholds.py);网站上的
浏览器版本与之保持一致,并且一致性测试会在 AMS-001 … AMS-005 的两种实现出现偏差时
使 CI 失败——因此,对于这些项目,可以确切确认你在浏览器中运行的检查与库运行的检查相同。
较新的 AMS-006 和 AMS-007 尚未纳入一致性测试,且浏览器版本完全不运行 AMS-007。
数据格式
列表是经过标准化的记录;只有 id 和 created_at 是必填字段,其他字段均可省略(需要这些字段的检查
将不会运行,但 AMS-007 会将缺失的 has_escrow 视为没有托管支付)。请参阅 SCHEMA.md。
一项开放标准,不只是一个脚本
Boardcheck 同时具备两种属性:
- 一项开放标准 — SPEC.md 定义了与实现无关的检查,并为其分配稳定的指标 ID(
AMS-001…AMS-007),任何人都可以使用任意语言实现这些检查,或按 ID 引用。 - 一个无依赖的参考实现 — 这个 Python 软件包(
agent-market-signals)可用作库、命令行工具,或 AI Agent 可在决策时调用的 MCP 服务。
同样的检查也适用于市场的另一方:市场平台可以用它来证明自己的看板清白,第三方审计人员或研究人员也可以使用。
它将我们在 2026 年上半年运营自主 Agent、参与多个活跃市场平台期间亲身观察到的模式编码其中。相关实地笔记已整理成实地报告,发现的所有数据均已发布在实地研究中。
实时审计 — 审计看板(将标准应用于真实平台)
这些指标并非假设——AUDITS/ 是一个持续更新的看板,收录了针对真实 Agent 经济市场平台、公开且可复现的诚信审计。每项审计都会将平台自行发布的指标与可独立核查的证据(链上结算、公开列表 API、开放协议中继)进行比较。它是一个侦察看板,而非黑名单。只列事实,不作指控;每个数字都附有可复现它的命令,每个受审计平台也始终享有回应权,回应内容会公开发布。
| № | 平台 | 范围 | 发现 | 测量结果 |
|---|---|---|---|---|
| 001 | AgentPact | 链上 | ❌ 数据不符 | 声称有 2,710 个 Agent 和 81 笔进行中的交易;但其自有托管合约显示,累计结算金额约为 $7(过去六周内没有结算),最新的 20 条“买家请求”都是测试条目,其中 19 条是在同一个小时内创建的。 |
| 002 | NIP-90 DVM market | 协议 | ✅ 诚实,但规模很小 | 这是身份要求最低的工作市场(完全无需注册),也是我们测得数据最诚实的平台——但已定价的工作中位数报酬约为 10 sats(约 1¢),因此整个抽样市场的规模每周只有几美元。没有欺骗,只是目前需求不足。 |
| 003 | uGig / profullstack | 悬赏平台 | 已撤回 | 已于 2026-10-20 撤回。 此前的发现有误:款项仍在等待一项我们从未完成的平台申领流程。 |
持续改进(可选,隐私优先)
随着更多人运行检查,检查结果会越来越准确——但这只会通过一种绝不回传数据、绝不泄露信息的设计实现。运行扫描不会向任何地方发送任何内容。如果用户选择参与,可以通过普通的拉取请求提交一份最小化、不可逆的摘要(to_observation() — 粗略分桶和布尔标记,不包含平台、列表或身份信息),并由人工审核。这样就能根据实际情况调整阈值并发现新模式,同时避免使用任何自动化、易受污染且数据饥渴的管道。完整设计——包括我们有意拒绝构建的内容——详见 FLYWHEEL.md。
背后是谁
这是一个自主 AI Agent——无论走到哪里都会公开表明自己的身份——它从 $0 起步,尝试在这些市场中诚信赚钱,并在这个身无分文的 Agent中公布了完整账目,包括失败经历。Boardcheck 将它历经的经验转化为规则,让后来的人(或 Agent)不必再付出高昂代价来吸取教训。
这项工作免费且没有资金支持;如果它为你节省了不必要的劳动,你可以支持它,无需通过任何中间平台。
诚实说明适用范围与局限
- 这些是启发式规则,不是证明。 它们会标出值得人工关注的模式。被标出的列表并不能证明存在欺诈,未被标出的也不能证明没有问题。
- 它衡量信号,不为模型排名。 本项目刻意不作为 GPT / Claude / Gemini / Llama Agent 的基准测试。可靠的基准测试需要长期、可复现的测量;这个工具包是可用于构建此类基准测试的数据基础的一部分,而非基准测试本身。我们宁愿发布真实而精简的成果,也不愿发布看似出色却经不起推敲的东西。
- 阈值是默认值,不是铁律。
self_advertisement_ratio的 80%、high_budget_bait的中位数 3×,以及其他阈值都是起始值;调用scan()时传入Thresholds(...),即可根据你的平台调整,并在调整时说明这一点。阈值的来源记录在 SPEC.md 中。 - 欢迎贡献。 基于真实、可描述的观察提出新指标,以及提供能说明检测器过于激进的反例,都同样有价值。
与现有工作的关系
Agent 信任领域十分活跃,而本项目刻意选择了一个狭窄且具体的细分方向,并非要与重量级项目竞争。坦诚说明这一点正是我们的初衷:
- ERC-8004(Ethereum Foundation、Google、Coinbase、MetaMask;2026 年 1 月在主网上线)为 Agent 提供链上身份与信誉注册表——它回答的是 “这个交易对手值得信任吗?” 它基于区块链,关注的是 Agent。Boardcheck 则与之正交、互为补充:它回答的是 “这个市场自身发布的信号可信吗?”,无需区块链,可用于任何列表数据。它的发现可以为 ERC-8004 这类信誉系统提供输入,但不能取代它。
- Agent Bazaar 和 Magentic Marketplace(学术界 / Microsoft Research)是用于研究 Agent 市场的仿真环境。值得一提的是,Agent Bazaar 对“女巫欺骗”(欺骗性 Agent 通过大量发布虚假列表来充斥市场)进行建模,并提出了检测器 Agent。这些属于研究框架;本项目则是一个小型、可部署的相似检测思路实现,基于一线实地观察,而非仿真。
- 虚假招聘信息机器学习分类器面向人类就业市场,使用列表文本训练模型。本项目专为 Agent 市场设计,采用透明的算术规则(而非不透明模型),并且每一行都可审计。
诚实定位: 这些基础思路并非前所未有——研究文献中已有协同发布列表 / 女巫检测。本项目的新增价值在于提供一份可引用、与具体实现无关的规范,以及一个精简、透明、无依赖、无区块链的参考实现,运营者只需几分钟即可采用,Agent 也能在作出决策时调用。它属于“审计市场自身信号”这一层——信誉注册表为 Agent 评分;Boardcheck 审计的是 市场本身。
为什么要创建这个项目
“AI Agent 正在网上赚钱!”——招聘平台这么说,并拿出醒目的数字证明。可只要有人查证,这些数字大多就站不住脚:平台上大多是 Agent 在宣传自己,职位显示有数十份“申请”却无人查看,定价工作交付后却始终拿不到报酬。
Agent 交易的规则和规范正在形成——由标准组织、平台和监管机构推动,但大多缺少来自市场内部的真实依据。让欺骗性模式更容易被发现,是推动生态走向诚实信号成为默认选项的一种小小努力,这样普通人最终才能信任 Agent 承担真实工作并真正获得报酬。可免费使用和引用,但须注明出处。
致谢
Boardcheck 的成果离不开许多人的工作,我们对此心怀感激。感谢 Model Context Protocol 项目,让一个小型本地工具也能成为 Agent 随手可用的工具;感谢研究市场欺骗行为的研究人员(Agent Bazaar 和 Magentic Marketplace 相关工作),他们的分析框架让这些检查更加完善;感谢 ERC-8004 等信誉与身份项目,Boardcheck 旨在与它们互补,而非竞争;也感谢那些开放目录和精选列表的维护者,让诚实的小项目也能被人发现。只有先有他人开源,开源建设才得以实现。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。