人机交互节律调整服务

Vibe Harness是一个实验性MCP服务器,通过调整AI模型行为来匹配用户工作状态,优化人机交互节律。

  • by m3data
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 m3data/vibe-harness-mcp

使用说明

振动线束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 <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() 显示检测到的离开时间,以便您可以看到调速器看到的内容。

规则(按优先顺序):

  1. 冷却 --每15分钟最多轻推一次
  2. 会话持续时间 --活动120分钟后,建议冷静下来
  3. 模式持续时间 --在一种模式下激活45分钟后,进行特定模式的登记
  4. 模式漂移 --例如,在高度互动的情况下探索->“可能正在构建,但没有命名”
  5. 交互计数 --100多个操作,无需模式开关->登记
  6. 深夜 --工作时间超过设定时间时的昼夜节律微调

所有阈值均可通过以下方式配置 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