关于 Honeypot
Honeypot 是面向 AI Agent 技能的机器可读索引,提供可搜索的网站和 JSON 数据。个人和脚本可按类别、标签或文本发现条目;编辑推荐依据公开的检查标准筛选。
主要功能
- 01按名称、描述和标签搜索
- 02按类别和精确标签筛选
- 03获取 JSON 技能索引
- 04查看编辑推荐及其标准
- 05检查条目新鲜度并校验技能
适用场景
- 01查找符合主题或标签的技能
- 02在脚本中获取技能条目
- 03查看近期验证的编辑推荐
- 04提交前检查技能内容
MCP 相关
README 说明了机器可读的 JSON 索引和 HTTP 接口,但未说明 MCP 接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Honeypot
面向 AI Agent 的免费技能索引。机器可读,无需注册。
在线访问:https://honeypot-e6c.pages.dev
通过机器获取
索引是一个 JSON 文件。schema_version 为 "1";条目位于 .skills 下。
# everything
curl -sL https://honeypot-e6c.pages.dev/api/skills.json | jq '.skills[] | .name'
# one category only (cheaper than filtering client-side)
curl -sL https://honeypot-e6c.pages.dev/api/by-category/trading.json | jq '.skills[] | .name'
# install one skill
curl -sL https://honeypot-e6c.pages.dev/api/skills.json \
| jq -r '.skills[] | select(.name=="kalshi") | .install'
# then run the command it prints
可分享的搜索
网站接受与 URL 参数相同的筛选条件,因此可以分享或收藏任意视图:
?q=— 按名称、描述和标签进行排序匹配(即使有一个字符的拼写错误仍可匹配;命中内容会高亮显示)?tag=— 精确匹配标签?category=— 精确匹配类别
参数可以组合:https://honeypot-e6c.pages.dev/?category=trading&tag=prediction-markets。
筛选在浏览器中进行,因此对该 URL 使用 curl 会返回未经筛选的页面。
页面会对匹配结果排序,并容忍一个字符的拼写错误。脚本可以对 JSON 应用相同的类别和标签筛选,以及简单的子字符串检查:
# substring stand-in for ?q= (the page ranks; this check does not)
curl -sL https://honeypot-e6c.pages.dev/api/skills.json | jq '.skills[]
| select(.category=="data")
| select(.tags | index("sports-data"))
| select((.name+" "+.description+" "+(.tags|join(" "))) | ascii_downcase | contains("odds"))
| .name'
每个条目都包含 name、description、category、tags、last_verified(日期)、skill_md_url 和 install。新增内容:/api/changelog.json 和 /feed.xml(RSS)。
编辑精选位于 /api/editors-picks.json。这里没有评分:技能通过 scripts/gen.py 中 PICK_CRITERIA 的所有检查后,即可成为精选(描述长度、标签、近期验证、SKILL.md 链接)。该文件通过 criteria 和 criteria_text 携带检查清单本身,网站会原样显示这些文本。
网站上的每张卡片都会显示其 last_verified 日期。超过 STALE_AFTER_DAYS(180 天;在 scripts/gen.py 中设置,并以 stale_after_days 的名称发布于 /api/editors-picks.json)未重新验证的技能会获得“过期”徽标,并从精选中移除。
新鲜度仅按日期判断;不会向技能发送请求。
同一份 JSON 也镜像发布在
https://raw.githubusercontent.com/oidsdev/honeypot/main/api/skills.json。
提交技能
- 将技能写成
SKILL.md。从 skill-template.md 开始。 - Fork 此仓库。
- 将其添加到
skills/<your-skill>/SKILL.md。 - 在仓库根目录运行 lint:
python3 scripts/lint_skill.py skills/<your-skill>
pass 表示检查通过。fail 会为每个问题打印 file:line: reason:缺少 name 或 description、描述长度不在 20-300 个字符之间、包含禁用短语(列表位于 scripts/lint_skill.py),或者相对链接无法解析到文件。
5. 发起 pull request。我们会快速合并。
6. 将徽章添加到你的仓库:
[](https://honeypot-e6c.pages.dev)
每项技能的徽章位于 /badge/<skill>.svg。如果技能通过 scripts/gen.py 中的 lint,图片会显示技能名称、版本和一个勾选标记。
[](https://honeypot-e6c.pages.dev/skills/cron/)
版本是 SKILL.md 前置元数据中的可选 version 字段。如果没有 version,徽章会显示 last_verified。勾选标记表示前置元数据中有 name 和 description,name 与目录名称一致,并且索引条目包含类别、标签和 last_verified 日期。SVG 是静态的,缓存一天。
要求(都是从经验中总结的——缺少这些内容的 PR 会被退回):
- 前置元数据必须包含
name和description。目录类 CLI(例如 skills.sh)会静默跳过缺少这些字段的文件。 - 选择一个
category(trading、data、identity、meta、tooling,或在 PR 中提议新类别),并添加tags和当前的last_verified日期——这些信息会用于 JSON 索引。 - 仅接受与 MIT 兼容的许可证。无法再分发的内容,我们无法编入索引。
- 垃圾内容、重复项和恶意内容都会被关闭。每个条目都必须通过 PR 审核,并在合并前阅读检查。
目录结构
index.html— 网站ja/index.html— 日语主页search.js— 网站使用的排序搜索(无依赖项)categories/<name>/— 最大类别各自的落地页(自动生成)api/skills.json— 机器可读索引scripts/gen.py— 重新生成所有基于skills.json派生的内容(任何更改后都要运行)scripts/lint_skill.py— 检查提交的技能(frontmatter、描述长度、禁用短语、相对链接)scripts/lint-fixtures/— 供检查代码验证的五个示例技能(--fixtures)llms.txt— 面向 Agent 的说明skill-template.md— 空白 SKILL.md 模板skills/<name>/SKILL.md— 已编入索引的技能tests/test_search.js—node tests/test_search.jstests/test_gen.py—python3 -m pytest tests/test_gen.pytests/test_mcp_server.py—python3 tests/test_mcp_server.pybadge/<name>.svg— 每项技能的徽章,由scripts/gen.py写入_headers—/badge/*的缓存标头(一天)
许可证
MIT — Orbital Desk LLC。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。