io.github.pooriaarab/vibedonate

Official registry AI and agents

BitTorrent-style mesh for AI inference across agentic CLIs. Local-first.

What can you do with io.github.pooriaarab/vibedonate?

  • Node.js developers: test consent and capacity decisions through the exported library.
  • Hyperswarm experimenters: exchange echo jobs between same-pool peers.
  • Ollama users: inspect local chat-runner availability before building a custom integration.
  • Agent builders: call MCP request_capacity to check a proposed donation without executing a job.
  • Vibe Suite users: inspect hash-chained usage and payment records on their own machine.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package vibedonate
Claude Code
claude mcp add vibedonate -- npx -y vibedonate@0.4.2 mcp
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "vibedonate": {
            "command": "npx",
            "args": [
                "-y",
                "vibedonate@0.4.2",
                "mcp"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. vibedonate
  2. Install
  3. Run your first local check
  4. How it works
  5. Why it exists
  6. Compare
  7. Coverage
  8. Common use cases
  9. Features
  10. Runtime surfaces
  11. Delivery and behavior limits
  12. Integration guides
  13. Status
  14. FAQ
  15. License

vibedonate

Package · Setup · Runtime surfaces · Compare

vibedonate is an open-source, self-hosted compute-sharing experiment for developers who use coding agents. Your hardware, opt-in, metered. It provides peer transport, donation controls, and local ledgers in the Vibe Suite. The current CLI mesh runs an echo stub; its separate Ollama runner is not connected to mesh jobs.

Install

npm install -g vibedonate

Requires Node.js 18 or later. Includes TypeScript declarations and three direct runtime dependencies.

Run your first local check

vibedonate status

On a fresh installation, the output reports that the node is not armed. No credentials or environment variables are required. No sharing starts from this command. The CLI reads exported environment variables; it does not load .env files.

For an opt-in transport demo, run this donor in one terminal:

vibedonate share --compute --idle 00:00-23:59 --cap 2M --pool allowlist:consumer --handle donor

Run the consumer in another terminal:

vibedonate request "hello" --pool allowlist:consumer --handle consumer

With reachable peers inside the UTC window, the consumer prints olleh. This is the echo stub, not AI inference. Stop the donor with Ctrl+C, then run vibedonate stop to revoke persisted consent.

How it works

share -> saved config + consent -> Hyperswarm pool discovery
                                      |
consumer prompt -> donor checks -> echo stub -> result + metering receipt

status / MCP preflight -> separate Ollama availability check
payment flags -> stub wallet + local payment ledger

Announcements contain handle, pool, compute tier, and optional payment terms. Prompts and results cross connected peer links. Raw usage totals are not announced. Local files default to ~/.vibedonate.

Why it exists

vibedonate explores opt-in donation controls around spare local compute. Petals distributes model execution; Ray Serve provides model-serving infrastructure. This package focuses on consent, schedules, recipient pools, and metering, with experimental peer transport.

Compare

Checked 2026-10-14 against the Petals research paper and Ray Serve documentation.

PropertyvibedonatePetalsRay Serve
ScopeDonation controls and echo mesh demoCollaborative model inference and fine-tuningDistributed model serving
ExecutionDefault mesh uses echo stubDistributed model blocksDeployed model-serving applications
InterfaceNode.js library, CLI, agent preflightModel inference interfacePython deployment and inference APIs

Coverage

Integration or tierStatusSource behavior
HyperswarmImplementedSame-pool peer discovery and request/result transport
OllamaSeparate runnerDetects executable; invokes ollama run; not wired to mesh CLI
Echo mesh modelStubReverses prompts; records 100 tokens per default job
USDC / x402-style paymentsStubDeterministic wallet proofs and local ledger; no settlement
BaseScaffoldAccepted payment chain label
EthereumScaffoldAccepted payment chain label
PolygonScaffoldAccepted payment chain label
Subscription sharing—No shipped tier
API-credit routing—No shipped tier

There is one default chat runner, one default echo mesh model, and two MCP tools. Source inspection and local tests support these distinctions. No credentials, on-chain transactions, or public-network service guarantees were verified.

Common use cases

  1. Node.js developers: test consent and capacity decisions through the exported library.
  2. Hyperswarm experimenters: exchange echo jobs between same-pool peers.
  3. Ollama users: inspect local chat-runner availability before building a custom integration.
  4. Agent builders: call MCP request_capacity to check a proposed donation without executing a job.
  5. Vibe Suite users: inspect hash-chained usage and payment records on their own machine.

Features

  • Consent: share grants donate:compute; stop revokes it in persisted storage.
  • Schedules: UTC idle windows and configurable daily token caps.
  • Recipient pools: open, org:<id>,<member>, and allowlist:<peers>.
  • Metering: local hash-chained receipts with a chain verification method.
  • Payments: optional price metadata and stub payment records; free jobs by default.
  • Suite hooks: exported donation lifecycle hooks use vibe-core events and notifications.

Runtime surfaces

The Node.js package exports configuration parsers, consent helpers, capacity evaluation, metering, payment stubs, and compute resolution.

vibedonate share --compute --idle HH:MM-HH:MM --cap 2M --pool open
  [--handle name] [--price 0.001] [--chain base|ethereum|polygon]
vibedonate request "prompt" --pool open
  [--handle name] [--timeout milliseconds] [--pay 0.001]
vibedonate status
vibedonate stop
vibedonate wallet
vibedonate mcp
vibedonate --help / -h
vibedonate --version / -v

vibedonate mcp starts a stdio Model Context Protocol (MCP) server with exactly two tools:

ToolBehavior
statusConfig, consent, compute availability, schedule state, and totals
request_capacityPreflight { peer, tokens }; returns an allow/deny decision without inference or a receipt

Delivery and behavior limits

The CLI donor defaults to createEchoModel(). Installing Ollama does not replace it with model inference. The separate local runtime records capacity receipts; it does not execute a prompt. The CLI uses stubWallet(). Payment success means a synthetic proof passed, not that USDC moved on Base, Ethereum, or Polygon. Peer authorization compares announced handles. It does not authenticate organization membership or bind handles to trusted identities. CLI activity checks default to “not busy”; no automatic machine-idle detector is wired into the donor. The running donor holds its initial config and consent objects. Use Ctrl+C to stop it; a separate stop process does not close it. The mesh checks whether today's total is below the cap before a job; a job can exceed the remaining allowance. The capacity preflight has a stricter request-fits check. Do not assume both paths enforce identical bounds. Discovery defaults to 15 seconds; each attempted donor gets up to six seconds. Total elapsed time can exceed the discovery timeout. Hash chains detect inconsistent record content; they do not prevent someone from rewriting the whole local ledger.

Integration guides

  • Ollama runner: install Ollama and pull qwen2.5:7b; set VIBEDONATE_OLLAMA_MODEL to choose another installed model.
  • Separate state: export VIBEDONATE_DIR to override ~/.vibedonate.
  • Demo pool (not access control): use the same allowlist:consumer string on both peers and --handle consumer for requests. Any peer that announces a matching handle passes the check.
  • Organization pool: include explicit members, such as org:team,alice; org:team alone authorizes no members.
  • Agent setup: configure your MCP host to launch vibedonate mcp over stdio.

Status

Version 0.4.3 is experimental and pre-1.0. Public case studies are not yet published. No public documentation site is configured; the operational guidance is self-contained here. Use GitHub issues for support; repository access may be required. For contributions, run npm ci, npm run typecheck, npm run build, and npm test.

FAQ

Which integrations are verified?

vibedonate has source-backed peer transport and a separate Ollama runner. Local tests do not certify public peers or blockchain settlement.

Does vibedonate provide a managed inference service?

vibedonate runs on your hardware. It provides no managed inference pool, availability guarantee, or hosted account service.

Does the CLI run Ollama for donated jobs?

vibedonate uses an echo stub for default CLI mesh jobs. The Ollama chat runner exists as a separate library path.

How is vibedonate different from Petals?

vibedonate experiments with donation controls and a request/result mesh. Petals distributes model execution across participants.

How is vibedonate different from Ray Serve?

vibedonate supplies local donation controls and a CLI experiment. Ray Serve supplies infrastructure for deployed model-serving applications.

Can I earn real USDC with vibedonate?

vibedonate ships a stub wallet and local payment records. The CLI does not submit or verify real blockchain payments.

Does stop terminate an active donor?

vibedonate stop changes persisted config and consent. Stop the active donor process with Ctrl+C to leave the mesh.

Does vibedonate share subscription quotas or API credits?

vibedonate ships only the compute tier. Subscription and API-credit routing are not implemented.

License

MIT.

Frequently asked questions

What is io.github.pooriaarab/vibedonate?

BitTorrent-style mesh for AI inference across agentic CLIs. Local-first.

How do I install io.github.pooriaarab/vibedonate?

It runs on your machine. In Claude Code: claude mcp add vibedonate -- npx -y vibedonate@0.4.2 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.pooriaarab/vibedonate need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.pooriaarab/vibedonate open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.pooriaarab/vibedonate?

It is published by pooriaarab. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.