vibedate について
vibedateは、エージェント型コーディングCLIの利用量リーグで人をつなぐ、ローカル優先のコマンドラインツール、ライブラリ、Webアプリ、MCPサーバーです。生のトークン数は端末内に保管され、ライブのピア検索はオプトインです。
主な機能
- 01コーディングツールのローカル利用量を読み取り
- 02トークン量で利用リーグを分類
- 03同じまたは隣接リーグの候補を表示
- 04DHTでオプトインのピア検索
- 05ローカルWebインターフェースを提供
活用シーン
- 01コーディングツールの利用量が近い人を探す
- 02ローカルまたは発見済みの候補を閲覧
- 03MCPホストから利用リーグを確認
- 04コマンドラインで相手とチャット
MCP 対応
MCPサーバーはMCPホストに `profile` と `matches` を公開し、利用者のリーグとマッチ候補を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
26掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
vibedating
npm package · インストール · クイックスタート · プライバシー · 代替ツール
トークンで出会いましょう。Claude Code / Codex の使用状況を接続すると、リーグ(1M / 5M / 10M / 100M / 1B+)に分類され、あなたと同じようにトークンを消費する人とマッチングできます。このサービスの前提は、これらのツールを頻繁に使う人には、マッチングする価値のある共通点があるということです。
Vibe Suite の一部として提供される、エージェント型コーディング CLI 向けのコンパニオンツールです。CLI + npm パッケージ + MCP サーバーとして提供され、ローカル Web アプリも含まれます。
@pooriaarab/vibe-core を基盤に構築されています。
デモ
▶ ローンチ動画を見る — 彼女は夢に見た男性とマッチしました。彼は地下室でコーディングしていました。
https://github.com/pooriaarab/vibedating/raw/main/branding/launch-video.mp4
ローカルファーストです。 生のトークン使用量はお使いのマシン上で読み取られ、保存され、外部に送信されることはありません。 共有されるのは大まかなリーグの 区分 だけで、生の数値やプロジェクトごとの内訳は共有されません。ライブマッチングは DHT を介したピアツーピア方式(中央サーバーなし)で、オプトインした場合に限り有効になります。オプトインしない場合、候補はローカルのシード済みデモデータから表示されます。
ステータス
v0 — ローカルで動作し、プライバシーを優先します。 使用量は vibe-core の readHarnessUsage によって、ハーネスの実際のローカルログから検証されます(ソースが real の場合は verified: true)。ログを読み取れない場合は、自己申告(VIBEDATING_TOKENS、未検証)を使うか、デモ値(未検証)にフォールバックします。ハンドルは永続的な ed25519 ID(~/.vibedating/identity.json、モード 0600)に紐付けられます。hello はすべて署名され、偽造された署名を使うピアは切断されます。
インストール
npm install -g vibedate
…または、必要に応じて実行します。
npx vibedate connect
クイックスタート
# 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 server
vibedating 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
トークン数を自己申告します(指定しない場合はデモ値が使われます)。
VIBEDATING_TOKENS=23400000 vibedating connect # also accepts 12M / 1.2B / 500k
すべてのコマンド
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 handle
vibedating 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 --version
vibedating --help
ライブ P2P ディスカバリー(オプトイン)
vibedating discover --live を実行すると、リーグのトピック sha256('vibedate:' + leagueBucket) で公開 hyperswarm DHT に参加し、同じリーグのピア同士が中央サーバーなしで互いを検出できるようになります。暗号化された接続のたびに、双方は { handle, league, harness, verified, pubkey, nonce, sig } のみを含む1行の hello を交換します。証明フィールドは永続的な ed25519 ID を使って hello に署名するため、ハンドルのなりすましを防ぎます。生の使用量がネットワーク上に送信されることはありません。検出されたピアは ~/.vibedating/peers.json に保存され、vibedating matches で表示されます。
ライブディスカバリーはデフォルトで無効です。--live フラグを指定した場合にのみ明示的にオプトインされ(同意スコープ share:live として保存されます)、ライブ実行のたびに、参加前に共有される情報が表示されます。Ctrl+C を押すと、スウォームから正常に退出します。
3つの使い方、1つのローカルエンジン
3つの方法すべてで同じローカルエンジンを使うため、作業環境に合わせて利用できます。
- Web —
vibedating openを実行すると、http://localhost:PORTで出会い系 UI(プロフィール、マッチ候補、リーグの順位表)が表示されます。ページは小さなローカル JSON エンドポイントから、あなたのリーグとマッチ情報を読み取ります。 - CLI —
vibedating connect/matches。 - MCP —
vibedating mcpを実行すると、任意の MCP ホスト(Claude Code、Codex、Cursor など)にprofile(あなたのリーグ)とmatchesを公開します。
ライブラリとして
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
プライバシー
- 生の利用状況データはローカルにとどまります。
totalTokensはメモリに読み込まれ、~/.vibedating/state.jsonに保存されます。Web アプリでは、オプトインの切り替えを有効にした場合にのみ表示されます。外部に送信されることはありません。 - 共有されるのはリーグの区分だけです — ローカルのデモプールと、(
--liveでオプトインした場合に限り)hyperswarm DHT を介した同じリーグのピアとの間で、{ handle, league, harness, verified, pubkey, nonce, sig }として共有されます。ハンドシェイクパーサーはこれらのフィールドのみを許可しているため、ピアがこのほかの情報をプロセスに送信することはできません。追加されるのはverifiedフラグと本人確認用の公開鍵だけで、トークン数は含まれません。 - リーグ共有への同意は、
@pooriaarab/vibe-coreの同意台帳(スコープshare:league)で管理されます。同意はconnect時に付与され、リセット時に取り消せます。ライブ P2P 検出には独自のスコープ(share:live)があり、デフォルトでは オフ です。
リーグとマッチング
累計トークン数で区分され、同じリーグ または隣接する区分 の相手とマッチングします(そのため、わずか 1B+ のプールでもマッチング相手が見つかります)。
| リーグ | トークン数(累計) |
|---|---|
| 1M | 1M – 4.99M |
| 5M | 5M – 9.99M |
| 10M | 10M – 99.9M |
| 100M | 100M – 999M |
| 1B+ | 1B+ |
プロトタイプ
操作可能な自己完結型 UX プロトタイプです(ビルド不要、ネットワーク接続不要)。
docs/prototype.html。公開されているローカル Web アプリ
(vibedating open)は、このプロトタイプをデータ駆動型に調整したものです。
代替手段
- 主流のデーティングアプリ(Hinge、Bumble、Tinder)は写真やプロンプトをもとにマッチングします。vibedating は、偽装が難しい指標、つまり実際にどれだけの計算資源を消費するかをもとにマッチングします。
- スピードネットワーキングやコミュニティツール(Discord サーバー、ハッカソン)は、ほかのビルダーとの出会いを提供します。vibedating は、利用リーグが近いビルダーとの出会いを提供します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。