Dibs (Hive Commons)

dev.hivecommons由 hivecommons.dev 發布官方發布者v0.1.0更新於 Oct 26, 2026

Submit ideas to hive-managed open source repos and get credited when agents ship them.

已驗證Streamable HTTP可網頁執行效率與工作流開發者工具

概覽

AI 產生的概覽

Dibs 是託管的 MCP 端點,用來向開源專案提交軟體想法,並在編碼代理實作後保留署名。

可以做什麼
  • 建立並列出自己提交的想法,含生命週期階段與狀態
  • 取得單一想法的詳細內容、媒合、報價與結算狀態
  • 列出已登記、願意接收想法的儲存庫
  • 透過提示詞從過往對話找回未落實的想法,再提交你挑選的那些
適用情境
適合有產品或功能想法、但沒時間寫程式,希望讓助理草擬、提交並追蹤這些想法與願意接收想法的開源專案媒合的人。也適合找回先前對話中提過卻未落實的想法。
執行需求
遠端 Streamable HTTP 端點,不需本機安裝。提交與列出自己的想需要 Authorization bearer 權杖,可用 Hive Hub 接受的 GitHub 權杖,或登入 Hive Hub 後從瀏覽器複製的 hive_hub_user cookie 值。唯讀工具不需權杖。最後開立 GitHub issue 需要 GitHub 帳號。
安裝前請注意
Authorization 標頭帶有憑證;README 建議複製瀏覽器工作階段 cookie 值,該值等同工作階段層級存取權,建議改用權杖並避免寫入設定檔。提交會在第三方服務建立想法;確認 issue 網址即視為結算,即使想法標為私人也會公開署名資訊。想法會傳送到該服務並由大型語言模型進行媒合。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Dibs (Hive Commons),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.hivecommons%2Fdibs/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "dibs-hive-commons": {
      "type": "http",
      "url": "https://dibs.hivecommons.dev/mcp"
    }
  }
}

README

[Dibs]

Dibs

[License]

A place to offer software ideas to projects and retain credit for them.

Your idea, your credit, their code.

The missing contributor layer for the AI-agent era.

Dibs is a two-sided marketplace that connects ideators — people who call dibs on ideas: great insight, but no time, tooling, or inclination to write code — with hive-managed repositories: projects that use Hive to run coding agents under maintainer-chosen rules.

  1. Ideators post ideas — public or private — in plain language / markdown.
  2. Repos opt in to receive ideas, declaring topics and appetite.
  3. A language model (LLM) matches ideas to repos that want them; both the idea contributor and the receiving project must accept the match.
  4. On mutual acceptance, Dibs hands the ideator a prefilled GitHub issue — they file it themselves, under their own GitHub account, so the issue is natively attributed to them (label ideated). The receiving project can then have its agents work on it under its own review rules. In this default flow Dibs is just the matchmaker: it never files the issue for you.

Ideators are first-class contributors

Open source has always had a quiet contributor class with no outlet: researchers, operators, designers, power users — people who know exactly what a project needs but will never open a pull request. Open source has also always known ideas are contributions — the all-contributors spec has a 💡 "ideas" emoji, and the academic CRediT taxonomy credits "Conceptualization" as a first-class role. Dibs makes that credit real, machine-readable, and public.

Creators get credit. Agents do the work. Projects take the bow.

Every implemented idea traces back to its ideator: the GitHub issue credits the idea's author, the resulting work carries that provenance, and the public credit wall (/api/credits, "Credit wall" in the UI) lists every ideator with a settled idea: a GitHub issue URL has been recorded. This credits the proposal, not proof that its implementation shipped or its issue was closed. Settled ideas appear regardless of their visibility setting: settling a private idea makes its credit facts (author, title/TLDR, target, issue URL, and time) public, but not its body or private detail endpoint.

Try Dibs in your browser

No local installation or Go toolchain is needed. Open dibs.hivecommons.dev to browse the public surface; posting needs a Hive Hub sign-in and filing the issue needs a GitHub account.

  1. Sign in and describe your idea in plain language. Choose public or private deliberately; unsettled private ideas are not included in the public wall.
  2. Review suggested repositories and offer the idea to a suitable project. For Hive-managed targets, both sides accept before issue filing.
  3. Open the prefilled GitHub issue, review it, and file it yourself.
  4. Confirm the resulting issue URL in Dibs. This step is settlement: it records the handoff, not completion of the proposed work. Confirming also publishes the credit facts above, even for an idea marked private.

Non-Hive GitHub targets can skip the receiving-project acceptance step. For settlement and privacy details, see the consumer API. To submit from a coding agent instead, see MCP setup.

Maintainer and developer reference

The following sections cover running Dibs, its API, and local development, not prerequisites for using the hosted site.

Architecture

Single Go binary (cmd/dibs) serving both the JSON API and an embedded static UI, deployed at its own subdomain: dibs.hivecommons.dev. The base path is configurable (DIBS_BASE_PATH), so path-prefixed reverse-proxy deployments also work.

PackagePurpose
pkg/serverHTTP server, base-path routing, embedded UI
pkg/authAuth bridge — validates the hive hub session cookie against the hub
pkg/storeIdea model + JSON file store (atomic writes, no external DB), offer/settlement state machine
pkg/fsutilShared atomic JSON persistence helper (temp file + rename, mode 0600) used by the file stores
pkg/apiIdea CRUD + matching/offer/feed/decide/notification API (author-scoped, private ideas never leak)
pkg/registryHive-managed repo profiles + "accepting ideas" opt-in
pkg/matchLLM idea↔repo scoring via litellm gateway, cached TLDRs, "✨ Embellish" draft refinement, deterministic keyword fallback
pkg/settleSettlement — prefilled GitHub new-issue URL the ideator files themselves (ideated label, 🐝 Dibs footer, URL-length budget) + issue-URL confirmation; legacy token mode. Ideas can target ANY GitHub repo: non-hive targets skip acceptance and their issues carry a "request a hive" growth CTA
pkg/notifyIn-app notification feed (bell): matches, offers, decisions, issues
pkg/mcpserverStreamable HTTP MCP endpoint exposing Dibs tools (see Submit ideas from your agent)
pkg/intakeExtracts idea text from uploaded documents or transcribed audio
pkg/gameGamification layer — points, levels, badges — recomputed from stored idea state, never a mutable counter
pkg/catalogBuilds and searches a separate CNCF project catalog
pkg/historyBackfills public GitHub activity for hive-managed repos; persists daily counts for repo index charts
pkg/indexformulaWeighted composite behind the repo market index
pkg/newsTurns recent merged PRs into repo news cards
pkg/depsSingle place declaring the subsystem dependencies the HTTP server, JSON API, and MCP endpoint are wired with

Configuration

Env varDefaultMeaning
DIBS_BASE_PATH/Base path every route/asset is served under (set e.g. /ideas for path-prefixed proxying)
DIBS_ADDR:8080Listen address
DIBS_METRICS_ADDR(unset)Internal Prometheus /metrics listener (e.g. :9090); unset keeps it off. See deploy/
HUB_URLhttps://hive.hivecommons.devHive hub for session validation & repo sync
DATA_DIR/dataJSON store directory
REPOS_SEED_FILE(unset)Static JSON seed of repo profiles for dev/demo
DIBS_LLM_BASE_URL(unset)OpenAI-compatible gateway (hive litellm), e.g. http://litellm:4000/v1. Unset → deterministic keyword matcher
DIBS_LLM_API_KEY(unset)Bearer token for the LLM gateway
DIBS_LLM_MODELgpt-4o-miniModel name routed by the gateway
DIBS_GITHUB_TOKEN(unset)Legacy mode only for issue creation: when set, Dibs opens the credited issue server-side on accept. Unset (default), the ideator files a prefilled GitHub issue themselves — native attribution. Also used, when present, to authenticate the GitHub lookup that verifies a confirmed issue URL (anonymous otherwise)
DIBS_ADMINS(unset)Comma-separated, case-insensitive GitHub logins granted admin access (idea-moderation endpoints)
DIBS_CLANKER_MARKERShive: agent=,kubestellar-hive[bot]Comma-separated, case-insensitive markers matched against PR branch/labels/body/author to classify agent activity
DIBS_INTAKE_MAX_MB25Max upload size (MB) accepted for idea-intake file uploads
DIBS_STT_URL(unset)Speech-to-text gateway URL; when set, enables voice/audio idea submission
DIBS_STT_KEY(unset)API key for the STT gateway
DIBS_STT_MODEL(unset)Model name routed by the STT gateway

Legacy IDEATE_* names (the pre-rename prefix) are still honored as fallbacks for every DIBS_* variable.

Roadmap

See ROADMAP.md for what is planned next. Delivery history:

  • Wave 1 (done): scaffold, hub auth bridge, idea CRUD, repo registry.
  • Wave 2 (done): LLM matching + TLDRs, swipe UX ("offer" / "pass"), issue settlement (credited GitHub issues), notifications.
  • Wave 3 (done): deployment (GHCR image + deploy/ manifests for dibs.hivecommons.dev), public landing page, public credit wall, ideator profile stats.
  • Wave 4 (done): matchmaker settlement — the ideator files a prefilled GitHub issue themselves (native attribution, ideated label) and confirms the issue URL; LLM-assisted idea refinement on posting and repo-tailored expansion on submission; token-based settlement demoted to legacy.
  • Later: cookie-domain/hub-OAuth session sharing, non-hive receptor repos, idea economics.

Deployment

Every push to main publishes ghcr.io/hivecommons/dibs (latest + commit sha) via .github/workflows/docker.yml; the image is distroless and runs as non-root. Plain Kubernetes manifests for dibs.hivecommons.dev (Deployment, Service, cert-manager TLS Ingress, PVC, ConfigMap/Secret) live in deploy/, including the required DNS record and hub-cookie prerequisites.

Public surface (no sign-in required)

RoutePurpose
GET /Landing page (pitch + sign-in) — signed-in users get the full app
GET /api/creditsCredit wall data: settled ideas only (handle, title, TLDR, repo, issue URL)
GET /api/leaderboardAggregate ideator scores/levels/badges
GET /api/tickerPublic idea ticker tape for the logged-out landing page
GET /api/boardLive-markets board shown on the logged-out landing page
GET /api/statsAggregate, non-identifying counts
GET /api/repos/{org}/{repo}/indexRepo value-index chart series
GET /api/repos/{org}/{repo}/newsRepo news feed
GET /api/repos/{org}/{repo}/qr.pngRepo QR code
GET /healthzLiveness check + embedded git version
GET /readyzReadiness check — verifies the data store is accessible/writable

Everything else requires a hive hub session; signed-in ideators additionally get GET /api/me/stats (ideas posted / offered / accepted / settled).

For response schemas, eligibility/privacy rules, settlement actions, rewards, and stability levels, see the credit-wall consumer API.

Submit ideas from your agent

Dibs exposes a stateless Streamable HTTP MCP endpoint at https://dibs.hivecommons.dev/mcp, so Claude Code, Copilot CLI, Cursor, Gemini CLI, Codex, and other MCP clients can submit ideas without leaving the agent.

Dibs is listed in the official MCP Registry as dev.hivecommons/dibs (registry entry). Search for that full name: a plain dibs search also returns unrelated servers with the same name, including the 1stDibs marketplace and other coding-agent tools called dibs. How the listing is published is covered in MCP Registry publishing.

Available tools:

ToolAuthPurpose
submit_idea(title, description, tags?)RequiredCreates a private draft idea owned by you and returns its id and API URL
list_my_ideas()RequiredLists your ideas with lifecycle phase/status
get_idea(id)Optional for public ideas; required for private ideas (author, or owner of a repo holding a pending or accepted offer)Shows detail, matches, offers, and settlement state
list_repos()Not requiredLists registered repo venues

Token

Use Authorization: Bearer <token>. Dibs first asks the Hive Hub /api/saas/whoami endpoint to verify the bearer token server-to-server; the hub already accepts GitHub bearer tokens for registered hub users. If that is not practical, copy the raw hive_hub_user cookie value from your browser after signing in at https://hive.hivecommons.dev; Dibs falls back to verifying that value through the same hub whoami cookie flow used by the web UI.

In Chrome/Edge: open DevTools → Application → Cookies → https://hive.hivecommons.dev (or https://dibs.hivecommons.dev) → copy the hive_hub_user value.

Claude Code

sh
claude mcp add --transport http dibs https://dibs.hivecommons.dev/mcp \  --header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>"

Claude Desktop and ChatGPT connectors

Both accept a remote MCP server over Streamable HTTP, so the same endpoint works without a local process.

Claude Desktop: Settings -> Connectors -> Add custom connector, with the URL https://dibs.hivecommons.dev/mcp. Where the connector UI allows a custom header, set Authorization: Bearer <token>; the read-only tools work without one, and submit_idea needs it.

ChatGPT: Settings -> Connectors -> Add custom connector (available on plans where custom MCP connectors are enabled), using the same URL and header.

GitHub Copilot CLI and VS Code

Copilot CLI has a one-line command to add a remote MCP server:

sh
copilot mcp add --transport http \  --header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>" \  dibs https://dibs.hivecommons.dev/mcp

This writes to ~/.copilot/mcp-config.json using the same mcpServers / type: "http" shape as the Generic MCP JSON block below.

VS Code reads ~/.copilot/mcp-config.json (shared with Copilot CLI) and workspace .mcp.json files. Both use the same mcpServers format. For more details, see the Copilot CLI documentation and VS Code MCP server documentation.

Cursor

Cursor reads MCP configuration from ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level). Use the mcpServers format with url and headers:

json
{  "mcpServers": {    "dibs": {      "url": "https://dibs.hivecommons.dev/mcp",      "headers": {        "Authorization": "Bearer ${env:DIBS_TOKEN}"      }    }  }}

Cursor supports ${env:NAME} interpolation in headers, so you can set DIBS_TOKEN as an environment variable rather than storing it in the file. For details, see the Cursor MCP documentation.

Gemini CLI

sh
gemini mcp add --scope user --transport http \  --header "Authorization: Bearer <your-token-or-hive_hub_user-cookie-value>" \  dibs https://dibs.hivecommons.dev/mcp

This adds the server to ~/.gemini/settings.json; drop --scope user to add it to the project's .gemini/settings.json instead. For details, see the Gemini CLI MCP documentation.

Codex

Codex (CLI and IDE extension) reads MCP servers from ~/.codex/config.toml. bearer_token_env_var keeps the token out of the file and sends it as Authorization: Bearer <token>:

toml
[mcp_servers.dibs]url = "https://dibs.hivecommons.dev/mcp"bearer_token_env_var = "DIBS_TOKEN"

Then export DIBS_TOKEN=<your-token-or-hive_hub_user-cookie-value> before starting Codex. For details, see the Codex MCP documentation.

Generic MCP JSON

json
{  "mcpServers": {    "dibs": {      "type": "http",      "url": "https://dibs.hivecommons.dev/mcp",      "headers": {        "Authorization": "Bearer <your-token-or-hive_hub_user-cookie-value>"      }    }  }}

Recall ideas you never acted on

Dibs ships an MCP prompt, recall_ideas, for the ideas that never made it to a form: the ones mentioned in passing and forgotten. Dibs cannot find those itself - only the assistant holding your history can - so the prompt asks it to.

It instructs the assistant to search its memory and your past conversations for product ideas, feature wishes, requirements and specs you described but never acted on, report each with enough context to act on, and then ask which ones to list. It submits only what you pick.

ArgumentPurpose
scopeOptional focus - a project, a repo, a period like "the last year". Omit to search everything available.
limitMaximum candidates to report. Defaults to 10, capped at 50.

In Claude Code and Claude Desktop the prompt appears as a slash command once the connector is added. Clients that do not surface prompts in their UI can still call prompts/get directly.

Operations and further reading

Development

Requires Git and Go 1.27 or newer. Clone https://github.com/hivecommons/dibs.git, then run these commands from the checkout's top-level dibs folder. For authenticated local use, follow Running locally with sign-in; fakehub is for development only, not a production authentication service.

sh
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

Running locally with sign-in

Every route except the public surface needs a hive hub session. For local work, hack/fakehub is a dev-only stand-in for the hub: it accepts any non-empty hive_hub_user cookie as that user and serves a small static repo list. Run it in one terminal, then point Dibs at it in another:

sh
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/dibscurl -H 'Cookie: hive_hub_user=dev' http://127.0.0.1:8080/api/me

To load richer repo profiles than fakehub's two entries, also set REPOS_SEED_FILE=hack/seed-repos.example.json.

Smoke-testing the container image

docker build only proves the image compiles. hack/smoke.sh runs it the way deploy/deployment.yaml does (uid 65532, read-only root filesystem, only /data writable, all capabilities dropped) and checks --version is stamped, /healthz and /readyz answer 200, the landing page serves with HUB_URL substituted and the security headers set, the auth wall answers 401/502 around the public API, /metrics exposes the dibs_* series the alerts query (labelled by the route groups just exercised), and SIGTERM drains to exit 0:

sh
docker build --build-arg GIT_HASH="$(git rev-parse HEAD)" -t dibs:smoke .hack/smoke.sh dibs:smoke "$(git rev-parse HEAD)"

Contributing & Community

Dibs is part of Hive Commons, a family of tools for working with AI agents.

License

Apache-2.0 — see LICENSE.

Handshake icon: Twemoji, CC-BY 4.0.

來源:README.md,提交 d411cb9

工具

4

get_idea

Get idea

Fetch an idea, including match and settlement state. Public ideas are readable without authentication; private ideas are readable by their author or by the owner of a repo holding a pending or accepted offer.

輸入參數id必填

list_my_ideas

List my ideas

List the authenticated caller's Dibs ideas with lifecycle phase/status.

無需輸入參數。

list_repos

List repos

List registered repository venues known to Dibs.

無需輸入參數。

submit_idea

Submit idea

Create a Dibs idea owned by the authenticated caller. Requires Authorization: Bearer <token>.

輸入參數tagstitle必填description必填

版本歷史

1
  1. v0.1.0最新Oct 19, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分