mcpField
V
vibedate

vibedate

本地服务
github.com/pooriaarab社交媒体02 周前更新

关于 vibedate

vibedate 是一款本地优先的命令行工具、库、网页应用和 MCP 服务,按用户在 Agent 编码命令行工具中的使用量分组匹配。原始 Token 数量保留在本机,实时发现需主动选择加入。

主要功能

  1. 01读取本地编码工具用量
  2. 02按 Token 划分使用等级
  3. 03列出同级或相邻等级的匹配对象
  4. 04通过 DHT 主动发现同伴
  5. 05提供本地网页界面

适用场景

  1. 01寻找编码工具用量相近的同伴
  2. 02浏览本地或发现的匹配对象
  3. 03从 MCP 主机查看使用等级
  4. 04通过命令行与同伴聊天

MCP 相关

MCP 服务向 MCP 主机提供 `profile` 和 `matches`,用于获取用户等级和匹配对象。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pooriaarab-vibedate": {
"command": "npx",
"args": [
"-y",
"vibedate"
]
}
}
}
启动命令npx -y vibedate

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmvibedate0.8.8

工具

26

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

vibedating

npm 版本 每月 npm 下载量 许可证

npm 包 · 安装 · 快速开始 · 隐私 · 替代方案

按 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+ 档位仍有人可匹配):

联赛令牌数(生命周期)
1M1M – 4.99M
5M5M – 9.99M
10M10M – 99.9M
100M100M – 999M
1B+1B+

原型

交互式、自包含的 UX 原型(无需构建,无需网络): docs/prototype.html。随附的本地 Web 应用 (vibedating open)是此原型的适配版,由数据驱动。

替代方案

  • 主流约会应用(Hinge、Bumble、Tinder)根据照片和提示词进行匹配;vibedating 则根据一种难以伪造的信号进行匹配:你实际消耗了多少算力。
  • 快速社交和社区工具(Discord 服务器、黑客马拉松)能帮你找到其他开发者;这个工具能帮你找到用量联赛档位与你接近的开发者。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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