python-expert
python-expert — a Claude Code skill from rightnow-ai/openfang
Features
- ✓Autonomous Agent OS built in Rust
- ✓Single binary, battle-tested performance
- ✓Full operating system for autonomous agents
- ✓Hands: pre-built autonomous capability packages
- ✓Schedules, 24/7 operation, knowledge graph building
- ✓Live dashboard and social media management
- ✓Visit GitHub for more tools and install instructions
Installation Guide
cd packages/whatsapp-gateway
npm install2. Configure config.toml:
[channels.whatsapp]
mode = "web"
default_agent = "assistant"3. Set the gateway URL (choose one):
Add to your shell profile for persistence:
# macOS / Linux
echo 'export WHATSAPP_WEB_GATEWAY_URL="http://127.0.0.1:3009"' >> ~/.zshrc
source ~/.zshrcOr set it inline when starting the gateway:
export WHATSAPP_WEB_GATEWAY_URL="http://127.0.0.1:3009"4. Start the gateway:
node packages/whatsapp-gateway/index.jsThe gateway listens on port 3009 by default. Override with WHATSAPP_GATEWAY_PORT.
5. Start OpenFang:
openfang start
# Dashboard at http://localhost:42006. Scan the QR code:
Open the dashboard → Channels → WhatsApp. A QR code will appear. Scan it with your phone:
WhatsApp → Settings → Linked Devices → Link a Device
Once scanned, the status changes to connected and incoming messages are routed to your configured agent.
Gateway Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| WHATSAPP_WEB_GATEWAY_URL | Gateway URL for OpenFang to connect to | _(empty = disabled)_ |
| WHATSAPP_GATEWAY_PORT | Port the gateway listens on | 3009 |
| OPENFANG_URL | OpenFang API URL the gateway reports to | http://127.0.0.1:4200 |
| OPENFANG_DEFAULT_AGENT | Agent that handles incoming messages | assistant |
Gateway API Endpoints
| Method | Route | Description |
|--------|-------|-------------|
| POST | /login/start | Generate QR code (returns base64 PNG) |
| GET | /login/status | Connection status (disconnected, qr_ready, connected) |
| POST | /message/send | Send a message ({ "to": "5511999999999", "text": "Hello" }) |
| GET | /health | Health check |
Alternative: WhatsApp Cloud API
For production workloads, use the WhatsApp Cloud API with a Meta Business account. See the Cloud API configuration docs.
---