Getting Started
Goal: go from zero → first working chat in under 5 minutes.
Installation
# Works everywhere. Installs uv if needed. 🐍
curl -fsSL https://raw.githubusercontent.com/aidiss/openfang/main/install.sh | bash
This installs to ~/openfang and adds openfang to your PATH:
Customize install location with OPENFANG_DIR:
Or install permanently:
Coming Soon
PyPI publishing is in progress. Use the one-liner or hackable method for now.
Prerequisites
- Python 3.13+ (the one-liner handles this)
- An LLM API key (OpenAI or Anthropic)
Configure Environment
Create a .env file (or edit the one created by the installer):
# Required: LLM provider (pick one)
OPENAI_API_KEY=sk-...
# Or: ANTHROPIC_API_KEY=sk-ant-...
# Optional: Enable channels
OPENFANG_TELEGRAM_BOT_TOKEN=123456:ABC...
OPENFANG_DISCORD_BOT_TOKEN=...
Start the Gateway
Open localhost:18789 in your browser. You'll see the dashboard with:
- Chat — Direct conversation with the agent
- Sessions — View conversation history
- Channels — Connected messaging platforms
- Skills — Available agent capabilities
- Memory — Persistent facts the agent remembers
Send Your First Message
Type in the chat input:
What can you help me with?
The agent will respond with its capabilities based on enabled tools and skills.
Quick Alternative: CLI Chat
Don't need the web UI? Chat directly in your terminal:
Next Steps
-
:material-telegram: Connect Telegram
Set up a Telegram bot for mobile access
-
Extend capabilities with markdown skills
-
Understand how OpenFang works
CLI Commands
openfang --help # Show all commands
openfang config # Show current configuration
openfang skills # List available skills
openfang health # Check if gateway is running
openfang status # Full status check
openfang gateway # Start the gateway server
openfang chat # Interactive terminal chat
openfang run "prompt" # Single prompt, get response
openfang telegram # Run Telegram bot standalone
Troubleshooting
"No API key found"
Make sure your .env file is in the project root and contains a valid API key:
Port already in use
Change the port:
Gateway won't start
Check Python version:
Run with verbose logging: