Skip to content

openvole/pawhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PawHub

PawHub

Official Paws for OpenVole β€” the microkernel AI agent framework.

License: MIT

Paws

Brain

Package Description npm
@openvole/paw-brain Unified multi-provider brain (Anthropic, OpenAI, Gemini, xAI, Ollama) npm
@openvole/paw-ollama (deprecated) Local LLM via Ollama npm
@openvole/paw-claude (deprecated) Anthropic Claude npm
@openvole/paw-openai (deprecated) OpenAI GPT npm
@openvole/paw-gemini (deprecated) Google Gemini npm
@openvole/paw-xai (deprecated) xAI Grok npm

Channel Paws (6)

Package Description npm
@openvole/paw-telegram Telegram bot npm
@openvole/paw-slack Slack bot npm
@openvole/paw-discord Discord bot npm
@openvole/paw-whatsapp WhatsApp npm
@openvole/paw-msteams Microsoft Teams npm
@openvole/paw-voice-call Voice calls (Twilio) npm

Tool Paws

Package Description npm
@openvole/paw-browser Browser automation (Puppeteer) npm
@openvole/paw-shell Shell command execution npm
@openvole/paw-filesystem File system operations npm
@openvole/paw-mcp MCP server bridge npm
@openvole/paw-email Email (SMTP/IMAP) npm
@openvole/paw-resend Email via Resend API npm
@openvole/paw-github GitHub API npm
@openvole/paw-calendar Google Calendar npm
@openvole/paw-tts Text-to-speech (ElevenLabs, OpenAI) npm
@openvole/paw-stt Speech-to-text (OpenAI Whisper) npm
@openvole/paw-computer Desktop automation (mouse, keyboard, screen) npm
@openvole/paw-database PostgreSQL, MySQL, SQLite queries npm
@openvole/paw-scraper Structured web data extraction (cheerio) npm
@openvole/paw-pdf Read, merge, split PDFs (pdf-lib) npm
@openvole/paw-image Resize, crop, watermark, compress images (sharp) npm
@openvole/paw-social Twitter/X and LinkedIn posting npm

Infrastructure Paws

Package Description npm
@openvole/paw-memory Persistent memory β€” hybrid semantic + keyword search npm
@openvole/paw-session Session/conversation management npm
@openvole/paw-compact Context compaction β€” heuristic + optional LLM summarization npm
@openvole/paw-dashboard Real-time web dashboard npm

Install

npm install @openvole/paw-brain @openvole/paw-memory @openvole/paw-dashboard

Then add to vole.config.json:

{
  "brain": "@openvole/paw-brain",
  "paws": [
    { "name": "@openvole/paw-brain", "allow": { "network": ["*"], "env": ["BRAIN_PROVIDER", "BRAIN_API_KEY", "BRAIN_MODEL", "OLLAMA_HOST", "OLLAMA_MODEL", "GEMINI_API_KEY", "GEMINI_MODEL"] } },
    { "name": "@openvole/paw-memory", "allow": { "network": ["*"], "env": ["VOLE_MEMORY_DIR", "OLLAMA_HOST"] } },
    { "name": "@openvole/paw-dashboard", "allow": { "listen": [3001] } }
  ]
}

VoleNet Compatibility

Several paws have built-in VoleNet support for distributed deployments:

  • paw-dashboard β€” VoleNet panel showing connected peers, leader status, and remote tool execution feed
  • paw-memory β€” Cross-peer memory sync (write propagation + remote search)
  • paw-session β€” Session transcript replication across devices

Any paw's tools can be shared across VoleNet instances β€” remote tools appear in the coordinator's registry and work transparently.

How Paws Work

When a Paw is loaded, its tools are registered into the Tool Registry β€” a flat list that the Brain sees alongside core tools and MCP tools. The Brain calls them by name without knowing which Paw provides them.

vole> summarize my unread emails

Brain sees:
  email_search (paw-email) β†’ searches inbox
  email_read (paw-email) β†’ reads each email
  browser_navigate (paw-browser) β†’ if needed
  memory_write (paw-memory) β†’ saves summary

You can also call any registered tool directly from the CLI β€” no Brain involved:

npx vole tool call email_search '{"query":"is:unread","limit":5}'
npx vole tool call github_create_issue '{"repo":"myorg/myrepo","title":"Bug","body":"..."}'
npx vole tool call calendar_list_events '{"days":7}'

Building a Paw

A Paw is a Node.js package that provides tools to the agent. See the Paw Development Guide in the main repo.

import { definePaw, z } from '@openvole/paw-sdk'

export default definePaw({
  name: 'my-paw',
  version: '0.1.0',
  description: 'My custom paw',
  tools: [
    {
      name: 'my_tool',
      description: 'Does something useful',
      parameters: z.object({ input: z.string() }),
      execute: async ({ input }) => ({ result: input.toUpperCase() }),
    },
  ],
})

Contributing

We welcome new Paws! See CONTRIBUTING.md for guidelines on creating and submitting Paws.

License

MIT

About

Official Paws 🐾 for OpenVole β€” the microkernel AI agent framework.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors