关于 Dibs (Hive Commons)
Dibs 是连接创意提出者与由 Agent 群管理的开源仓库的创意市场,适合有想法但不负责编写代码的贡献者。双方接受匹配后,提出者会获得预填的 GitHub issue 链接,由本人提交并保留署名。
主要功能
- 01提交公开或私有创意
- 02匹配创意与仓库
- 03生成预填 GitHub issue
- 04公开已实现创意的署名
- 05从文档或音频提取创意
适用场景
- 01为开源项目提交功能想法
- 02将创意匹配到愿意接收的仓库
- 03通过 Agent 提交并跟踪创意
MCP 相关
Dibs 提供 Streamable HTTP MCP 服务,供客户端提交创意、列出个人创意和仓库,以及查看创意详情。提交创意需要认证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://dibs.hivecommons.dev/mcpclaude mcp add --transport http dev-hivecommons-dibs https://dibs.hivecommons.dev/mcp{"mcpServers":{"dev-hivecommons-dibs":{"type":"http","url":"https://dibs.hivecommons.dev/mcp"}}}在 Cursor 中打开{"servers":{"dev-hivecommons-dibs":{"type":"http","url":"https://dibs.hivecommons.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"dev-hivecommons-dibs":{"type":"http","url":"https://dibs.hivecommons.dev/mcp"}}}{"mcpServers":{"dev-hivecommons-dibs":{"serverUrl":"https://dibs.hivecommons.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://dibs.hivecommons.dev/mcp需要授权工具
详细介绍
Dibs
连接创意提出者与由 hive 管理的代码仓库的创意集市。
你的创意,你的荣誉,他们的代码。
AI Agent 时代缺失的贡献者层。
Dibs 是一个双边集市,连接创意提出者——为创意抢先占位的人:他们有绝妙见解,却没有时间、工具或意愿编写代码——与由 hive 管理的代码仓库,这些仓库中的 AI Agent 群组正期待着格式完善的任务。
- 创意提出者发布创意——公开或私密均可,使用日常语言或 Markdown。
- 代码仓库选择加入接收创意,并声明主题和需求意愿。
- 大模型进行匹配,将创意推荐给感兴趣的代码仓库;双方都必须表示同意。
- 双方接受后,Dibs 会为创意提出者提供一个预填内容的 GitHub issue——由他们使用自己的 GitHub 账号自行提交,因此 issue 会原生归属于他们(标签为
ideated)。hive 的 AI Agent 会负责实现。Dibs 只是牵线人:它绝不会代你提交 issue。
创意提出者是正式贡献者
开源领域一直有一群默默无闻、无处发挥的贡献者:研究人员、运维人员、设计师、高级用户——他们确切知道项目需要什么,却永远不会提交拉取请求。开源领域也始终认可创意本身就是贡献——all-contributors 规范中有一个 💡“ideas”表情符号,学术界的 CRediT 分类法也将“概念化”列为正式角色。Dibs 让这份荣誉成为现实,并且可供机器读取、公开可见。
创作者获得荣誉。Agent 负责工作。项目接受喝彩。
每个实现的创意都能追溯到提出者:GitHub issue 会注明创意作者,后续成果会保留其来源信息,公开的荣誉墙(/api/credits,界面中的“Credit wall”)会列出所有创意已发布的提出者。创意就是一种贡献。
架构
单个 Go 二进制文件(cmd/dibs),同时提供 JSON API 和嵌入式静态 UI,部署在其独立子域名:dibs.hivecommons.dev。基础路径可配置(DIBS_BASE_PATH),因此也支持带路径前缀的反向代理部署。
| Package | 用途 |
|---|---|
pkg/server | HTTP 服务、基础路径路由、嵌入式 UI |
pkg/auth | 身份验证桥接 — 根据 hub 验证 hive hub 会话 Cookie |
pkg/store | Idea 模型 + JSON 文件存储(原子写入,无外部数据库)、提议/结算状态机 |
pkg/fsutil | 供文件存储使用的共享原子 JSON 持久化辅助工具(临时文件 + 重命名,权限模式 0600) |
pkg/api | Idea 的 CRUD + 匹配/提议/动态/决策/通知 API(按作者限定范围,绝不泄露私有 Idea) |
pkg/registry | Hive 管理的仓库配置 +「接受 Idea」选择加入机制 |
pkg/match | 通过 litellm 网关进行 LLM Idea↔仓库评分、缓存 TLDR、「✨ 润色」草稿优化、确定性关键词回退 |
pkg/settle | 结算 — 预填 GitHub 新建 issue URL,由 Idea 提交者自行提交(ideated 标签、🐝 Dibs 页脚、URL 长度限制预算)+ issue URL 确认;旧版令牌模式。Idea 可指向任意 GitHub 仓库:非 hive 目标会跳过接受流程,其 issue 会附带「请求加入 hive」增长 CTA |
pkg/notify | 应用内通知动态(铃铛):匹配、提议、决策、issue |
pkg/mcpserver | 公开 Dibs 工具的 Streamable HTTP MCP 端点(参见从 Agent 提交 Idea) |
pkg/intake | 从上传的文档或转录的音频中提取 Idea 文本 |
pkg/game | 游戏化层 — 积分、等级、徽章 — 根据存储的 Idea 状态重新计算,绝不使用可变计数器 |
pkg/catalog | 构建并搜索独立的 CNCF 项目目录 |
pkg/history | 回填 hive 管理仓库的公开 GitHub 活动;持久化每日计数,供仓库索引图表使用 |
pkg/indexformula | 仓库市场指数背后的加权综合指标 |
pkg/news | 将近期合并的 PR 转化为仓库新闻卡片 |
pkg/deps | 集中声明 HTTP 服务、JSON API 和 MCP 端点所连接的子系统依赖项 |
配置
| 环境变量 | 默认值 | 含义 |
|---|---|---|
DIBS_BASE_PATH | / | 所有路由/资源的服务基础路径(例如,设置为 /ideas,用于带路径前缀的代理) |
DIBS_ADDR | :8080 | 监听地址 |
DIBS_METRICS_ADDR | (unset) | 内部 Prometheus /metrics 监听器(例如 :9090);未设置时保持关闭。参见 deploy/ |
HUB_URL | https://hive.hivecommons.dev | 用于会话验证和仓库同步的 Hive hub |
DATA_DIR | /data | JSON 存储目录 |
REPOS_SEED_FILE | (unset) | 用于开发/演示的静态 JSON 仓库配置种子文件 |
DIBS_LLM_BASE_URL | (unset) | OpenAI 兼容网关(hive litellm),例如 http://litellm:4000/v1。未设置时 → 使用确定性关键词匹配器 |
DIBS_LLM_API_KEY | (unset) | LLM 网关的 Bearer 令牌 |
DIBS_LLM_MODEL | gpt-4o-mini | 由网关路由的模型名称 |
DIBS_GITHUB_TOKEN | (unset) | 仅限旧模式,用于创建议题:设置后,Dibs 会在接受时于服务端创建署名议题。未设置(默认)时,创意提出者会自行提交预填好的 GitHub 议题 — 署名方式为原生 attribution。此外,若已设置,也会用于验证已确认议题 URL 的 GitHub 查询身份验证(否则使用匿名方式) |
DIBS_ADMINS | (unset) | 以逗号分隔、不区分大小写的 GitHub 登录名,获准访问管理员功能(创意审核端点) |
DIBS_CLANKER_MARKERS | hive: agent=,kubestellar-hive[bot] | 以逗号分隔、不区分大小写的标记,用于匹配 PR 分支/标签/正文/作者,以识别 Agent 活动 |
DIBS_INTAKE_MAX_MB | 25 | 创意提交的文件上传可接受的最大大小(MB) |
DIBS_STT_URL | (unset) | 语音转文本网关 URL;设置后启用语音/音频创意提交 |
DIBS_STT_KEY | (unset) | STT 网关的 API 密钥 |
DIBS_STT_MODEL | (unset) | 由 STT 网关路由的模型名称 |
旧的 IDEATE_* 名称(重命名前的前缀)仍会作为所有 DIBS_* 变量的回退值生效。
路线图
参见 ROADMAP.md 了解后续计划。交付历史:
- 第 1 波(已完成): 脚手架、hub 身份验证桥接、创意 CRUD、仓库注册表。
- 第 2 波(已完成): LLM 匹配和 TLDR、滑动交互体验(“提供”/“跳过”)、议题结算(署名的 GitHub 议题)、通知。
- 第 3 波(已完成): 部署(GHCR 镜像 +
deploy/清单,用于 dibs.hivecommons.dev)、公开落地页、公开贡献墙、创意提出者个人资料统计数据。 - 第 4 波(已完成): 撮合结算 — 创意提出者自行提交预填好的 GitHub 议题(原生 attribution,带有
ideated标签)并确认议题 URL;发布时使用 LLM 辅助优化创意,提交时根据仓库定制扩展;基于令牌的结算降级为旧版功能。 - 后续: Cookie 域名/hub OAuth 会话共享、非 hive 接收仓库、创意经济机制。
部署
每次推送到 main 时,都会通过 .github/workflows/docker.yml 发布 ghcr.io/hivecommons/dibs(latest +
提交 sha);该镜像采用 distroless 构建,并以非 root 用户运行。适用于 dibs.hivecommons.dev
的原生 Kubernetes 清单(Deployment、Service、cert-manager TLS Ingress、PVC、ConfigMap/Secret)位于
deploy/,其中包括所需的 DNS 记录和 hub Cookie 前置条件。
公共页面(无需登录)
| 路由 | 用途 |
|---|---|
GET / | 落地页(介绍 + 登录)——已登录用户可使用完整应用 |
GET /api/credits | 信用墙数据:仅包含已结算的创意(用户名、标题、TLDR、仓库、issue URL) |
GET /api/leaderboard | 汇总创意提出者的分数/等级/徽章 |
GET /api/ticker | 面向未登录落地页的公开创意滚动条 |
GET /api/board | 面向未登录落地页的实时市场看板 |
GET /api/stats | 汇总的非识别性计数 |
GET /api/repos/{org}/{repo}/index | 仓库价值指数图表数据系列 |
GET /api/repos/{org}/{repo}/news | 仓库新闻动态 |
GET /api/repos/{org}/{repo}/qr.png | 仓库二维码 |
GET /healthz | 存活检查 + 内嵌的 git 版本 |
GET /readyz | 就绪检查——验证数据存储是否可访问/可写入 |
其他所有内容都需要 hive hub 会话;已登录的创意提出者还可使用
GET /api/me/stats(已发布/已提供/已接受/已结算的创意数量)。
有关响应架构、资格/隐私规则、结算操作、奖励和稳定性等级,请参阅信用墙使用者 API。
从你的 Agent 提交创意
Dibs 提供无状态的 Streamable HTTP MCP 端点
https://dibs.hivecommons.dev/mcp,因此 Claude Code、Copilot CLI、Cursor、
Gemini CLI、Codex 和其他 MCP 客户端无需离开 Agent 即可提交创意。
Dibs 已在官方 MCP Registry 中列出,名称为 dev.hivecommons/dibs
(Registry 条目)。
请搜索完整名称:仅搜索 dibs 也会返回无关的 1stDibs 市场平台。有关如何发布该条目的说明,请参阅
MCP Registry 发布。
可用工具:
| 工具 | 身份验证 | 用途 |
|---|---|---|
submit_idea(title, description, tags?) | 必需 | 创建归你所有的私有草稿创意,并返回其 ID 和 API URL |
list_my_ideas() | 必需 | 列出你的创意及其生命周期阶段/状态 |
get_idea(id) | 公开创意可选;私有创意必需(作者,或拥有存放待处理或已接受提案的仓库的所有者) | 显示详情、匹配项、提案和结算状态 |
list_repos() | 非必需 | 列出已注册的仓库场所 |
令牌
使用 Authorization: Bearer <token>。Dibs 首先会请求 Hive Hub 的
/api/saas/whoami 端点,在服务器之间验证 Bearer 令牌;hub 已接受已注册 hub 用户的 GitHub Bearer 令牌。如果这种方式不方便,可以在浏览器中登录
https://hive.hivecommons.dev 后复制原始的 hive_hub_user cookie 值;Dibs 也可以通过 Web UI 使用的同一 hub whoami cookie 流程验证该值。
在 Chrome/Edge 中:打开 DevTools → Application → Cookies →
https://hive.hivecommons.dev(或 https://dibs.hivecommons.dev)→ 复制
hive_hub_user 值。
Claude Code
claude mcp add --transport http dibs https://dibs.hivecommons.dev/mcp \
--header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>"
Claude Desktop 和 ChatGPT 连接器
两者都支持通过 Streamable HTTP 连接远程 MCP 服务,因此无需本地进程即可使用同一端点。
Claude Desktop:Settings -> Connectors -> Add custom connector,URL 填写
https://dibs.hivecommons.dev/mcp。如果连接器界面允许设置自定义请求头,请设置
Authorization: Bearer <token>;只读工具无需令牌,submit_idea 则需要。
ChatGPT:Settings -> Connectors -> Add custom connector(在启用了自定义 MCP 连接器的套餐中可用),使用相同的 URL 和请求头。
GitHub Copilot CLI 和 VS Code
Copilot CLI 提供一行命令来添加远程 MCP 服务:
copilot mcp add --transport http \
--header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>" \
dibs https://dibs.hivecommons.dev/mcp
此命令会写入 ~/.copilot/mcp-config.json,使用与下方通用 MCP JSON 配置块相同的 mcpServers / type: "http" 格式。
VS Code 会读取 ~/.copilot/mcp-config.json(与 Copilot CLI 共享)和工作区 .mcp.json 文件。两者使用相同的 mcpServers 格式。更多详情,请参阅 Copilot CLI 文档和 VS Code MCP 服务文档。
Cursor
Cursor 会从 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目级)读取 MCP 配置。请使用包含 url 和 headers 的 mcpServers 格式:
{
"mcpServers": {
"dibs": {
"url": "https://dibs.hivecommons.dev/mcp",
"headers": {
"Authorization": "Bearer ${env:DIBS_TOKEN}"
}
}
}
}
Cursor 支持在请求头中使用 ${env:NAME} 插值,因此你可以将 DIBS_TOKEN 设置为环境变量,而不是存储在文件中。详情请参阅 Cursor MCP 文档。
Gemini CLI
gemini mcp add --scope user --transport http \
--header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>" \
dibs https://dibs.hivecommons.dev/mcp
此命令会将服务添加到 ~/.gemini/settings.json;省略 --scope user 可改为将其添加到项目的 .gemini/settings.json。详情请参阅
Gemini CLI MCP 文档。
Codex
Codex(CLI 和 IDE 扩展)会从 ~/.codex/config.toml 读取 MCP 服务。
bearer_token_env_var 可避免将令牌写入文件,并会以
Authorization: Bearer <token> 的形式发送:
[mcp_servers.dibs]
url = "https://dibs.hivecommons.dev/mcp"
bearer_token_env_var = "DIBS_TOKEN"
然后,在启动 Codex 之前运行 export DIBS_TOKEN=<your-token-or-hive_hub_user-cookie-value>。详情请参阅 Codex MCP 文档。
通用 MCP JSON
{
"mcpServers": {
"dibs": {
"type": "http",
"url": "https://dibs.hivecommons.dev/mcp",
"headers": {
"Authorization": "Bearer <your-token-or-hive_hub_user-cookie-value>"
}
}
}
}
找回从未付诸行动的想法
Dibs 提供了一个 MCP 提示词 recall_ideas,用于找回那些从未写进表单的想法:那些随口提过又被遗忘的想法。Dibs 无法自行找到这些想法——只有掌握你历史记录的助手才能找到——因此提示词会要求助手去查找。
它会指示助手搜索其记忆和你过去的对话,寻找你描述过但从未付诸行动的产品想法、功能愿望、需求和规格,提供足够的背景信息以便采取行动,然后询问你要列出哪些内容。它只会提交你选择的内容。
| 参数 | 用途 |
|---|---|
scope | 可选的搜索范围,例如某个项目、仓库或一段时间(如“过去一年”)。省略则搜索所有可用内容。 |
limit | 要报告的候选项上限。默认为 10,最多为 50。 |
在 Claude Code 和 Claude Desktop 中,添加连接器后,该提示词会以斜杠命令的形式显示。无法在界面中显示提示词的客户端仍可直接调用 prompts/get。
运维与延伸阅读
- MCP Registry 发布:清单以及用于 DNS 身份验证、发布和验证的运维步骤。
- 运行手册:事件响应、发布回滚、数据恢复、SLO和事后分析模板。
- CONTRIBUTING.md:DCO 签署、CI 要求和代码规范。
- 想法收集的信任与滥用控制:拟议设计,尚未实现。
开发
go test -race -count=1 ./...
go run ./cmd/dibs # serves on :8080 at /
go build -o dibs ./cmd/dibs # builds the binary (plain `go build ./...` writes none)
./dibs --version # prints the embedded commit
在本地运行并登录
除公开接口外,每个路由都需要 hive hub 会话。进行本地开发时,hack/fakehub 是仅供开发使用的 hub 替代服务:它会将任何非空的 hive_hub_user Cookie 视为该用户,并提供一个小型静态仓库列表。在一个终端中运行它,然后在另一个终端中将 Dibs 指向它:
go run ./hack/fakehub # listens on :9999 (override with FAKEHUB_ADDR)
HUB_URL=http://127.0.0.1:9999 DATA_DIR=./data go run ./cmd/dibs
curl -H 'Cookie: hive_hub_user=dev' http://127.0.0.1:8080/api/me
若要加载比 fakehub 的两个条目更丰富的仓库配置文件,还需设置 REPOS_SEED_FILE=hack/seed-repos.example.json。
对容器镜像进行冒烟测试
docker build 只能证明镜像可以成功构建。hack/smoke.sh
会按照 deploy/deployment.yaml 中的方式运行镜像
(uid 65532、根文件系统只读、仅 /data 可写、删除所有
capabilities),并检查 --version 是否已写入版本信息、/healthz 和
/readyz 是否返回 200、着陆页是否在替换 HUB_URL 并设置安全标头后正常提供服务、认证墙是否针对
公共 API 返回 401/502、/metrics 是否公开告警查询所需的 dibs_* 系列
(按刚才测试过的路由组标记),以及 SIGTERM 是否能完成排空并以退出码 0 结束:
docker build --build-arg GIT_HASH="$(git rev-parse HEAD)" -t dibs:smoke .
hack/smoke.sh dibs:smoke "$(git rev-parse HEAD)"
贡献与社区
Dibs 是 Hive Commons 的一部分,这是一个用于与 AI Agent 协作的工具系列。
- 想要贡献?请参阅 CONTRIBUTING.md,了解 DCO 签署、CI 和覆盖率门槛以及代码规范。
- 发现错误?请提交错误报告。对 Dibs 本身有想法?请提交功能请求。
- 要报告安全漏洞?请按照 SECURITY.md 私下报告,不要通过公开 issue 提交。
- 有问题?欢迎加入 Hive Commons Discord。
- 请遵守 Hive Commons 行为准则。
许可证
Apache-2.0 — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。