关于 vibedate
vibedate 是一款本地优先的命令行工具、库、网页应用和 MCP 服务,按用户在 Agent 编码命令行工具中的使用量分组匹配。原始 Token 数量保留在本机,实时发现需主动选择加入。
主要功能
- 01读取本地编码工具用量
- 02按 Token 划分使用等级
- 03列出同级或相邻等级的匹配对象
- 04通过 DHT 主动发现同伴
- 05提供本地网页界面
适用场景
- 01寻找编码工具用量相近的同伴
- 02浏览本地或发现的匹配对象
- 03从 MCP 主机查看使用等级
- 04通过命令行与同伴聊天
MCP 相关
MCP 服务向 MCP 主机提供 `profile` 和 `matches`,用于获取用户等级和匹配对象。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
26收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
vibedating
按 Token 数约会——连接你的 Claude Code / Codex 使用情况,加入对应的 级别(1M / 5M / 10M / 100M / 1B+),并匹配那些消耗 Token 方式与你相似的人。其核心理念是:这些工具的重度用户有值得作为匹配依据的共同点。
这是 Vibe Suite 的一部分——为 Agent 编码 CLI 提供的配套工具。以
CLI + npm 包 + MCP 服务的形式提供,另有本地 Web 应用。基于
@pooriaarab/vibe-core 构建。
演示
▶ 观看发布视频——她匹配到了梦中情人。他当时正在地下室里编程。
https://github.com/pooriaarab/vibedating/raw/main/branding/launch-video.mp4
本地优先。 原始 Token 使用数据会在你自己的设备上读取和存储,并且 绝不会离开设备。 分享的只有粗略的级别区间——绝不分享原始数字,也不分享各项目的细分数据。实时匹配通过 DHT 进行点对点连接(没有中央服务器),并且仅限主动选择加入;未启用时,匹配池只是本地生成的演示数据。
状态
v0 — 可在本地运行,隐私优先。 使用量通过 vibe-core 的 readHarnessUsage 从你的运行环境本地真实日志中验证(来源为 real →
verified: true);如果无法读取日志,你可以自行报告
(VIBEDATING_TOKENS,未经验证),或使用演示值(未经验证)。
用户名会绑定到持久化的 ed25519 身份(~/.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
自行报告 Token 数量(否则会使用演示值):
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 会加入公共的 hyperswarm
DHT,并使用你的级别主题——sha256('vibedate:' + leagueBucket)——让同级别的
对端彼此发现,无需中央服务器。在每次加密连接中,双方都会交换一行 hello,其中仅包含
{ handle, league, harness, verified, pubkey, nonce, sig }——证明字段会用你的持久化 ed25519 身份为 hello 签名,防止他人冒充用户名;原始使用数据绝不会通过网络传输。发现的
对端会保存到 ~/.vibedating/peers.json,并显示在 vibedating matches 中。
实时发现默认关闭。--live 标志表示明确选择加入
(并保存为 share:live 同意范围);每次实时运行前都会说明将分享的内容。按 Ctrl+C 可正常退出 swarm。
三种形式,一个本地引擎
三种形式都由同一个本地引擎驱动,因此你可以在任何工作场景中使用:
- Web —
vibedating open会在http://localhost:PORT提供约会界面(个人资料、匹配列表、级别阶梯)。页面通过一个小型本地 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 服务器、黑客马拉松)能帮你找到其他开发者;这个工具能帮你找到用量联赛档位与你接近的开发者。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。