Vibedate

io.github.pooriaarab由 GitHub 帳號 pooriaarab 發布v0.8.8更新於 Oct 24, 2026

Dating by tokens, matched by usage league across agentic CLIs. Local-first.

發布方自己的服務:AI Benchmark Index

概覽

AI 產生的概覽

Vibedate 是本地優先的約會類 MCP 伺服器,把你於程式設計 CLI 的 token 用量歸入等級,並與同等級或相鄰等級的對象配對。

可以做什麼
  • 讀取本機 harness 的 token 用量並計算所屬等級(1M 至 1B+)
  • 向助理顯示你的個人檔案與等級
  • 列出同等級或相鄰等級的候選配對對象,開啟探索時還包含透過點對點 DHT 找到的即時夥伴
  • 配對由與命令列工具及本機網頁應用共用的本機引擎完成;MCP 伺服器本身只提供個人檔案與配對兩項工具
適用情境
適合想嘗試以 agentic 程式設計 CLI 使用量為主題的趣味交友或社交配對工具、並希望用量資料留在本機的人。它不是日常程式開發的通用工具。
執行需求
以本機 stdio 程序執行,通常透過 npm 套件 vibedate 的 npx 啟動(需要 Node.js)。未宣告帳號、API 金鑰或環境變數。它會讀取主目錄下的本機 harness 日誌,並把狀態存放在本機資料目錄。即時夥伴探索需要網路存取,且須主動開啟。
安裝前請注意
它會讀取本機程式設計 CLI 的用量日誌並寫入磁碟。開啟即時探索後會加入公開 DHT,並向對等端分享代號、等級、harness 名稱、驗證標記與身分公鑰;說明稱原始 token 數不會外傳。會在本機建立持久化的 ed25519 身分檔案。自報的 token 數未經驗證。啟用即時模式前請先確認分享內容。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

vibedating

[npm version] [npm downloads per month] [license]

npm package · Install · Quick start · Privacy · Alternatives

Dating by tokens — connect your Claude Code / Codex usage, get sorted into a league (1M / 5M / 10M / 100M / 1B+), and match with people who burn tokens the way you do. The premise: heavy users of these tools share something worth matching on.

Part of the Vibe Suite — companion tools for agentic coding CLIs. Ships as CLI + npm package + MCP server, plus a local web app. Built on @pooriaarab/vibe-core.

Demo

▶ Watch the launch video — she matched with the man of her dreams. He was coding in a basement.

https://github.com/pooriaarab/vibedating/raw/main/branding/launch-video.mp4

Local-first. Raw token usage is read and stored on your own machine and never leaves it. Only the coarse league bucket is ever shared — never the raw number, never per-project breakdowns. Live matching is peer-to-peer over a DHT (no central server) and opt-in only; without it the pool is a local seeded demo.

Status

v0 — works locally, privacy-first. Usage is verified from your harness's real local logs via vibe-core's readHarnessUsage (source real → verified: true); when no logs are readable you can self-report (VIBEDATING_TOKENS, unverified) or fall back to a demo value (unverified). Handles are bound to a persistent ed25519 identity (~/.vibedating/identity.json, mode 0600): every hello is signed, and a forged signature gets the peer dropped.

Install

bash
npm install -g vibedate

…or run it ad-hoc:

bash
npx vibedate connect

Quick start

bash
# 1. Read your usage, compute + print your league (stored locally at ~/.vibedating)vibedating connect
# 2. See candidates in your league (same or adjacent tier)vibedating matches
# 3. (Opt-in) find live same-league peers over the DHT — no servervibedating discover --live        # shares ONLY handle+league+harness+verified flag+identity pubkey
# 4. Open the local web app in your browser (served from your machine)vibedating open

Self-report a token count (otherwise a demo value is used):

bash
VIBEDATING_TOKENS=23400000 vibedating connect   # also accepts 12M / 1.2B / 500k

All commands

vibedating connect            Read usage, compute + print your league                              (first run auto-assigns a memetic handle — never @you)vibedating matches [--live]   List candidates in your league (live peers if any,                              with last-message time)vibedating discover [--live]  Find live same-league peers over the DHT (opt-in)vibedating live [--keep-alive]  Live text chat (--keep-alive / non-TTY survives stdin EOF)vibedating handle [@name]     Print or set your handlevibedating daemon [start|stop|status|install|uninstall]                              Notify-only background daemon — alerts on NEW matches,                              never opens chat/video; install = run on login (launchd/systemd)vibedating open [--port N]    Serve the local web app (default: random free port)vibedating mcp                Run the stdio MCP server (tools: profile, matches)vibedating --versionvibedating --help

Live P2P discovery (opt-in)

vibedating discover --live joins the public hyperswarm DHT on your league topic — sha256('vibedate:' + leagueBucket) — so same-league peers find each other with no central server. On each encrypted connection the two sides exchange a one-line hello with only { handle, league, harness, verified, pubkey, nonce, sig } — the proof fields sign the hello with your persistent ed25519 identity so a handle can't be impersonated; raw usage is never put on the wire. Discovered peers are stored in ~/.vibedating/peers.json and shown by vibedating matches.

Live discovery is off by default. The --live flag is the explicit opt-in (persisted as the share:live consent scope); every live run prints what it shares before joining. Ctrl+C leaves the swarm cleanly.

Three faces, one local engine

The same local engine drives all three, so you can use it wherever you work:

  • Web — vibedating open serves the dating UI (profile, match stack, league ladder) at http://localhost:PORT. The page reads your league + matches from a tiny local JSON endpoint.
  • CLI — vibedating connect / matches.
  • MCP — vibedating mcp exposes profile (your league) and matches to any MCP host (Claude Code, Codex, Cursor, …).

As a library

ts
import { league, matches, readUsage, CANDIDATES } from 'vibedate';
const usage = await readUsage('claude-code');     // { totalTokens, verified, ... }const lg = league(usage.totalTokens);             // { name: '10M', min: 10_000_000 }const who = matches(lg.name, CANDIDATES);         // same/adjacent-tier candidates

Privacy

  • Raw usage stays local. totalTokens is read into memory, stored at ~/.vibedating/state.json, and shown in the web app only behind an opt-in toggle. It is never transmitted.
  • Only the league bucket is shared — with the local demo pool, and (only if you opt in with --live) as { handle, league, harness, verified, pubkey, nonce, sig } with same-league peers over the hyperswarm DHT. The handshake parser whitelists those fields, so a peer can't even be sent anything else into your process; the verified flag and identity pubkey are the only additions, never a token count.
  • Consent for sharing the league is modeled with @pooriaarab/vibe-core's consent ledger (scope share:league), granted on connect and revocable on reset. Live P2P discovery has its own scope (share:live), default off.

Leagues & matching

Bucketed by lifetime tokens; you match within your league or an adjacent tier (so the tiny 1B+ pool still has people to match with):

LeagueTokens (lifetime)
1M1M – 4.99M
5M5M – 9.99M
10M10M – 99.9M
100M100M – 999M
1B+1B+

Prototype

An interactive, self-contained UX prototype (no build, no network): docs/prototype.html. The shipped local web app (vibedating open) is an adapted, data-driven version of this prototype.

Alternatives

  • Mainstream dating apps (Hinge, Bumble, Tinder) match on photos and prompts; vibedating matches on a signal that is hard to fake: how much compute you actually burn.
  • Speed-networking and community tools (Discord servers, hackathons) find other builders; this finds builders whose usage league sits near yours.

License

MIT

來源:README.md,提交 1cd65d0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.8.8最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Aibenchmarkindex 整合