mcpField
D
Dibs (Hive Commons)

Dibs (Hive Commons)

远程服务
github.com/hivecommons版本控制0今天更新
代码仓库

关于 Dibs (Hive Commons)

Dibs 是连接创意提出者与由 Agent 群管理的开源仓库的创意市场,适合有想法但不负责编写代码的贡献者。双方接受匹配后,提出者会获得预填的 GitHub issue 链接,由本人提交并保留署名。

主要功能

  1. 01提交公开或私有创意
  2. 02匹配创意与仓库
  3. 03生成预填 GitHub issue
  4. 04公开已实现创意的署名
  5. 05从文档或音频提取创意

适用场景

  1. 01为开源项目提交功能想法
  2. 02将创意匹配到愿意接收的仓库
  3. 03通过 Agent 提交并跟踪创意

MCP 相关

Dibs 提供 Streamable HTTP MCP 服务,供客户端提交创意、列出个人创意和仓库,以及查看创意详情。提交创意需要认证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://dibs.hivecommons.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://dibs.hivecommons.dev/mcp需要授权

工具

详细介绍

Dibs

Dibs

License

连接创意提出者与由 hive 管理的代码仓库的创意集市。

你的创意,你的荣誉,他们的代码。

AI Agent 时代缺失的贡献者层。

Dibs 是一个双边集市,连接创意提出者——为创意抢先占位的人:他们有绝妙见解,却没有时间、工具或意愿编写代码——与由 hive 管理的代码仓库,这些仓库中的 AI Agent 群组正期待着格式完善的任务。

  1. 创意提出者发布创意——公开或私密均可,使用日常语言或 Markdown。
  2. 代码仓库选择加入接收创意,并声明主题和需求意愿。
  3. 大模型进行匹配,将创意推荐给感兴趣的代码仓库;双方都必须表示同意。
  4. 双方接受后,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/serverHTTP 服务、基础路径路由、嵌入式 UI
pkg/auth身份验证桥接 — 根据 hub 验证 hive hub 会话 Cookie
pkg/storeIdea 模型 + JSON 文件存储(原子写入,无外部数据库)、提议/结算状态机
pkg/fsutil供文件存储使用的共享原子 JSON 持久化辅助工具(临时文件 + 重命名,权限模式 0600)
pkg/apiIdea 的 CRUD + 匹配/提议/动态/决策/通知 API(按作者限定范围,绝不泄露私有 Idea)
pkg/registryHive 管理的仓库配置 +「接受 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_URLhttps://hive.hivecommons.dev用于会话验证和仓库同步的 Hive hub
DATA_DIR/dataJSON 存储目录
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_MODELgpt-4o-mini由网关路由的模型名称
DIBS_GITHUB_TOKEN(unset)仅限旧模式,用于创建议题:设置后,Dibs 会在接受时于服务端创建署名议题。未设置(默认)时,创意提出者会自行提交预填好的 GitHub 议题 — 署名方式为原生 attribution。此外,若已设置,也会用于验证已确认议题 URL 的 GitHub 查询身份验证(否则使用匿名方式)
DIBS_ADMINS(unset)以逗号分隔、不区分大小写的 GitHub 登录名,获准访问管理员功能(创意审核端点)
DIBS_CLANKER_MARKERShive: agent=,kubestellar-hive[bot]以逗号分隔、不区分大小写的标记,用于匹配 PR 分支/标签/正文/作者,以识别 Agent 活动
DIBS_INTAKE_MAX_MB25创意提交的文件上传可接受的最大大小(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。

运维与延伸阅读

开发

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 协作的工具系列。

许可证

Apache-2.0 — 参见 LICENSE。

握手图标:Twemoji,CC-BY 4.0。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。