@teamvibe/poller
v0.1.50
Published
Self-hosted poller that connects your Slack workspace to Claude Code via TeamVibe.
Downloads
5,040
Readme
@teamvibe/poller
Self-hosted poller that connects your Slack workspace to Claude Code via TeamVibe.
Prerequisites
- Node.js 20+
- Claude Code CLI (
claude) installed and authenticated - A TeamVibe poller token (get one from the TeamVibe dashboard)
Quick Start
Install as a macOS service (recommended)
npx @teamvibe/poller installThe interactive installer will:
- Prompt for your
TEAMVIBE_POLLER_TOKEN - Prompt for your
CLAUDE_CODE_OAUTH_TOKEN(or auto-detect it) - Configure optional settings (API URL, max concurrent sessions)
- Detect your
claudeCLI path - Install the package globally (if needed) for a stable service path
- Create
~/.teamvibe/.envwith your configuration - Install and start a launchd service that runs automatically on login
Run directly
npx @teamvibe/pollerMake sure ~/.teamvibe/.env exists with at least TEAMVIBE_POLLER_TOKEN set.
Updating
npx @teamvibe/poller updateThis updates the global installation to the latest version and restarts the service if installed.
Service Management
poller status # Check if the service is running
poller stop # Stop the service
poller start # Start the service
poller restart # Restart the service
poller uninstall # Remove the serviceLogs
When running as a service, logs are written to:
~/.teamvibe/logs/poller.stdout.log
~/.teamvibe/logs/poller.stderr.logFollow logs in real-time:
tail -f ~/.teamvibe/logs/poller.stdout.logConfiguration
All configuration is via environment variables (or ~/.teamvibe/.env):
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| TEAMVIBE_POLLER_TOKEN | Yes | — | Your poller authentication token |
| CLAUDE_CODE_OAUTH_TOKEN | No | — | Claude Code OAuth token (from claude setup-token) |
| TEAMVIBE_API_URL | No | https://poller.api.teamvibe.ai | API endpoint |
| MAX_CONCURRENT_SESSIONS | No | 5 | Max parallel Claude sessions |
| CLAUDE_CLI_PATH | No | claude | Path to Claude Code CLI |
| TEAMVIBE_DATA_DIR | No | ~/.teamvibe | Data directory for brains and state |
How It Works
The poller authenticates with the TeamVibe API using your token, then continuously polls an SQS queue for incoming messages from Slack. When a message arrives, it spawns a Claude Code session with the appropriate brain (knowledge base) and streams the response back to Slack.
