振动线束MCP
基于工作模式调整人机交互节奏的MCP服务器。
花时间和精力与人工智能互动应该感觉像跳舞。Vibe Harness是一项让舞蹈更直观、反应更灵敏的实验。建立在人类和我们的神经系统是可变的,人工智能模型是可调整的前提下。大多数AI可视化工具都假设人类是稳定的,并优化模型输出。Vibe Harness反转了这一点。调整AI模型行为以匹配您的工作状态。
安装
一行:
claude mcp add vibe-harness -- uvx --from "git+https://github.com/m3data/vibe-harness-mcp.git" vibe-harness-mcp或者从本地克隆:
git clone https://github.com/m3data/vibe-harness-mcp.git
cd vibe-harness-mcp
pip install -e .
claude mcp add vibe-harness -- uvx --from . vibe-harness-mcp或在中手动注册 ~/.claude.json 在...之下 mcpServers:
{
"vibe-harness": {
"command": "uvx",
"args": ["--from", "git+https://github.com/m3data/vibe-harness-mcp.git", "vibe-harness-mcp"],
"type": "stdio"
}
}模式
| 模式 | 方向 |
|---|---|
| 探索 | 开放、发散、跟随线索 |
| 构建 | 简洁、代码优先、行动导向 |
| 思考 | 反思,保持复杂性 |
| 船 | 果断,抓住范围蔓延 |
| 冷却 | 最小输出,逐渐减少 |
过渡摩擦
并非所有模式开关都是平等的。一些过渡有摩擦:
- 无:自然进程(探索->建造,建造->船)
- 中等:后退--承认但允许(构建->探索)
- 高:大跃进——需要打电话
vibe_set_mode()两次确认(探索->飞船,冷却->飞船)
冷却液总是无摩擦地进入。
工具
| 工具 | 目的 |
|---|---|
vibe_set_mode(mode) | 切换工作模式 |
vibe_check() | 当前状态+时钟时间+待处理提示 |
vibe_nudge() | 请求上下文建议 |
vibe_history() | 模式转换时间表 |
vibe_session_export() | 将会话JSON导出到 ~/.vibe-harness/sessions/ |
vibe_configure(setting, value) | 在运行时调整阈值 |
斜杠命令
这 skills/ 目录包含用于方便斜线命令的Claude Code技能定义:
/vibe--检查当前状态/vibe-mode--切换模式/vibe-history--过渡时间表
要安装,请将技能文件夹复制到项目的 .claude/skills/ 目录:
cp -r /path/to/vibe-harness-mcp/skills/* /your/project/.claude/skills/时间意识
Vibe Harness知道现在是什么时间,你的一天过得怎么样。
vibe_check() 现在显示:
- 时钟时间 时段(上午、下午、晚上、深夜)
- 今日会议 --你使用它的次数和总分钟数
- 深夜轻推 --在晚上10点以后或早上6点之前工作时,进行温和的昼夜节律登记
从中挖掘跨会话模式 ~/.vibe-harness/mode-history.jsonl --该文件已经记录了每个模式转换。没有新的数据收集。
深夜阈值是可配置的:
vibe_configure("temporal.late_night_start", "23") # default: 22
vibe_configure("temporal.late_night_end", "5") # default: 6州长(助推逻辑)
只拉——当你打电话时,轻轻推一下水面 vibe_check() 或 vibe_nudge()切勿主动注射。
活动时间,而不是挂钟时间。 调速器会跟踪您实际与工具交互的时间。如果您的终端彻夜开放或您外出散步,则会检测并减去空闲间隙(工具调用之间30多分钟)。一个10小时的会议,你活跃了45分钟,不会产生错误的推动。 vibe_check() 显示检测到的离开时间,以便您可以看到调速器看到的内容。
规则(按优先顺序):
- 冷却 --每15分钟最多轻推一次
- 会话持续时间 --活动120分钟后,建议冷静下来
- 模式持续时间 --在一种模式下激活45分钟后,进行特定模式的登记
- 模式漂移 --例如,在高度互动的情况下探索->“可能正在构建,但没有命名”
- 交互计数 --100多个操作,无需模式开关->登记
- 深夜 --工作时间超过设定时间时的昼夜节律微调
所有阈值均可通过以下方式配置 vibe_configure() 或配置文件。
不可行的治理
治理规则可以被覆盖。这是设计出来的。
把它想象成手机上的屏幕时间提醒。警报根据规则(“你已经滚动了45分钟”)触发,但其他规则可以覆盖它(“你5分钟前已经看到一个轻推,不要唠叨”)。第一条规则的结论是 *击败* 根据第二条规则的较高优先级。
Vibe Harness明确指出:
- 每个规则都有一个 名字, 优先级,以及 类型 (抑制、轻推或漂移)
- 每条规则都声明了什么可以打败它
- 会话导出包括 治理追踪 显示哪些规则被触发,哪些被覆盖
这对问责制很重要。无声的覆盖是无形的治理。明确的可撤销性意味着你可以看到 *为什么* 一个轻推出现了或没有出现。
规则优先级(最高优先)
| 优先级 | 规则 | 类型 | 被击败 |
|---|---|---|---|
| 1 | 冷却抑制 | 抑制 | (无) |
| 2 | 会话持续时间 | 轻推 | 冷却 |
| 3 | 模式持续时间 | 轻推 | 冷却,会话持续时间 |
| 4 | 模式漂移 | 漂移 | 冷却时间、会话持续时间、模式持续时间 |
| 5 | 交互计数 | 轻推 | 冷却时间、会话持续时间、模式持续时间和模式漂移 |
| 6 | 深夜 | 轻推 | 所有优先级较高的规则 |
规则是数据,不是代码。第2层(生物信号)和第3层(语义耦合)将添加新的规则和defeater,而无需重构现有的逻辑。
配置
三层分辨率: defaults < ~/.vibe-harness/config.json < .vibe-harness.json < runtime
{
"nudges.time_check_minutes": 45,
"nudges.session_max_minutes": 120,
"nudges.interaction_threshold": 100,
"nudges.cooldown_minutes": 15,
"friction.enabled": true,
"export.auto_export": false,
"activity.idle_threshold_minutes": 30,
"temporal.late_night_start": 22,
"temporal.late_night_end": 6
}坚持
- 模式历史:
~/.vibe-harness/mode-history.jsonl(仅附加,每次转换) - 会话导出:
~/.vibe-harness/sessions/*.json(按需通过vibe_session_export()--包括挂钟和活动持续时间、空闲间隙、治理跟踪) - 配置:
~/.vibe-harness/config.json(用户级别)或.vibe-harness.json(项目级)
图层
- 层1 (当前):手动模式切换,带有研究通知预设+时间感知
- 层2 (设计):Polar H10 BLE集成,用于生物信号知情推动
- 层3 (未来):全循环——语义耦合+生物信号+会话历史模式
设置(开发)
git clone https://github.com/m3data/vibe-harness-mcp.git
cd vibe-harness-mcp
pip install -e .
python -m vibe_harness_mcp # stdio transport for MCP测试
pip install -e ".[dev]" # or: pip install pytest
python -m pytest tests/ -v许可证
地球人管理许可证(ESL-A)v0.1
