
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 分