
Withvibe Voter
io.github.withvibe由 GitHub 账号 withvibe 发布v0.1.0更新于 Oct 24, 2026
Vote-gated change control for WithVibe — the agent proposes a change via MCP; team approves first.
概览
一个 WithVibe 插件,把环境变成投票把关的工作区:AI 先提出变更,团队批准后才会执行。
- 可以做什么
- 为请求的变更开启提案,而不是直接编辑,并指示智能体先不要改动(提案)。长轮询团队的裁决,直到通过、否决或过期(等待裁决)。在已批准的变更执行后记录结果,或将已批准的变更标记为失败(记录、报告失败)。展示当前看板,包括投票中的提案和最近已解决的提案(状态)。
- 适用场景
- 适用于需要多名团队成员在 AI 改动生效前签字确认的 WithVibe 环境,例如共享的应用、文档、场景或配置。它适合友好的团队协作流程,而非强制管控。
- 运行要求
- 作为 WithVibe 插件运行,每个环境启动一个容器;需通过 WithVibe 插件或市场流程安装,并在某个环境上启用。需要一个 Postgres 数据库(DATABASE_URL)和一个 schema 名称(PGSCHEMA)来存放其独立的数据表。团队成员在插件自带的网页面板中投票。
安装
在 SourceWeft 中
- 打开 控制台中的 Withvibe Voter,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Voter — a WithVibe plugin
Turn any WithVibe env into a team-voted workspace. When this plugin is enabled, the AI doesn't apply a prompt straight away — it opens a proposal the team votes on, and only an approved proposal gets built. Enable it on any env and that env becomes a vote-gated sandbox.
It's content-agnostic — it knows nothing about what the env contains. Whatever the env is (an app, a doc, a 3D scene, a config), enabling Voter makes every change go through the team first. Multiple envs = multiple independent boards.
How the gate works (and why it's just a plugin)
WithVibe auto-injects an enabled plugin's MCP tools into the agent's turn. Voter uses that to gate prompts without any change to WithVibe core:
voter_propose_change(prompt)— opens a proposal and tells the agent to not touch anything yet.voter_await_decision(proposal_id)— long-polls the vote. The platform's MCP bridge caps a single tool call at 60s, so this returns after ~45s withSTILL_VOTINGand the agent simply calls it again until it's terminal.- On
APPROVED, the agent makes the change and callsvoter_record_change. OnREJECTED/EXPIREDit makes no change.
Meanwhile every teammate votes in the plugin's own UI panel — independent of the agent. The gate is agent-cooperative (enforced via tool instructions), which is the right trade-off for a friendly workflow; hardening it to be unbypassable is a later option that would need a small core hook.
MCP tools
State
Four tables in the plugin's isolated Postgres schema (shared-postgres storage):
settings (vote window + thresholds), proposal, vote, feed_event.
Resolution rule: a proposal passes when approvals reach the threshold, fails when rejections reach the threshold, and at the deadline the majority wins (ties expire). Defaults: 600s window, 1 approval / 1 rejection — tune them in the panel.
Architecture
Build
For the marketplace this is published multi-arch as ghcr.io/withvibe/voter:<version>.
Install in WithVibe
- Workspace admin → Plugins → Install plugin (or Marketplace once listed).
- Paste manifest.yaml (or 1-click install from the catalog).
- Open any env → enable Voter → that env is now a vote-gated workspace.
Local development
Repository layout
License
Apache License 2.0. See NOTICE for attribution.
来源:README.md,提交 94a2c89
工具
0版本历史
1- v0.1.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分