Quick Migration
Run a single command to migrate your entire OpenClaw workspace:~/.openclaw/ and imports everything into ~/.openfang/.
Options
Migration Report
After successful migration, a
migration_report.md file is saved to ~/.openfang/ with a summary of everything that was imported, skipped, or needs manual attention.Other Frameworks
LangChain and AutoGPT migration support is planned for a future release. Currently, only OpenClaw migration is supported.
What Gets Migrated
| Item | Source (OpenClaw) | Destination (OpenFang) | Status |
|---|---|---|---|
| Config | ~/.openclaw/config.yaml | ~/.openfang/config.toml | ✅ Fully automated |
| Agents | ~/.openclaw/agents/*/agent.yaml | ~/.openfang/agents/*/agent.toml | ✅ Fully automated |
| Memory | ~/.openclaw/agents/*/MEMORY.md | ~/.openfang/agents/*/imported_memory.md | ✅ Fully automated |
| Channels | ~/.openclaw/messaging/*.yaml | ~/.openfang/channels_import.toml | ⚠️ Automated (manual merge) |
| Skills | ~/.openclaw/skills/ | Scanned and reported | ⚠️ Manual reinstall |
| Sessions | ~/.openclaw/agents/*/sessions/ | Not migrated | Fresh start recommended |
| Workspace files | ~/.openclaw/agents/*/workspace/ | Not migrated | Copy manually if needed |
Channel Import Note
Skills Note
OpenClaw skills (Node.js) are detected and listed in the migration report but not automatically converted. After migration, reinstall skills using:Manual Migration Steps
If you prefer migrating by hand (or need to handle edge cases), follow these steps:Convert Your Config
Translate your OpenFang (
config.yaml to config.toml:OpenClaw (~/.openclaw/config.yaml):~/.openfang/config.toml):Convert Agent Manifests
Translate each OpenFang (
agent.yaml to agent.toml:OpenClaw (~/.openclaw/agents/coder/agent.yaml):~/.openfang/agents/coder/agent.toml):Convert Channel Configs
OpenClaw (OpenFang (add to
~/.openclaw/messaging/telegram.yaml):~/.openfang/config.toml):Config Format Differences
| Aspect | OpenClaw | OpenFang |
|---|---|---|
| Format | YAML | TOML |
| Config location | ~/.openclaw/config.yaml | ~/.openfang/config.toml |
| Agent definition | agent.yaml | agent.toml |
| Channel config | Separate files per channel | Unified in config.toml |
| Tool permissions | Implicit (tool list) | Capability-based (tools, memory, network, shell) |
| Model config | Flat (top-level fields) | Nested ([model] section) |
| Agent module | Implicit | Explicit (module = "builtin:chat") |
| Scheduling | Not supported | Built-in ([schedule] section) |
| Resource quotas | Not supported | Built-in ([resources] section) |
| Networking | Not supported | OFP protocol ([network] section) |
Tool Name Mapping
Tools were renamed between OpenClaw and OpenFang for consistency. The migration engine handles this automatically.| OpenClaw Tool | OpenFang Tool | Notes |
|---|---|---|
read_file | file_read | Noun-first naming |
write_file | file_write | |
list_files | file_list | |
execute_command | shell_exec | Capability-gated |
web_search | web_search | Unchanged |
fetch_url | web_fetch | |
browser_navigate | browser_navigate | Unchanged |
memory_search | memory_recall | |
memory_save | memory_store | |
sessions_send | agent_send | |
agent_message | agent_send | |
agents_list | agent_list |
New Tools in OpenFang
These tools have no OpenClaw equivalent:Multi-Agent
agent_spawn- Spawn new agentsagent_kill- Terminate agentsagent_find- Search for agents
Task Management
task_post- Post task to boardtask_claim- Claim available tasktask_complete- Mark task completetask_list- List tasks by status
Event System
event_publish- Publish custom events
Scheduling
schedule_create- Create scheduled jobschedule_list- List scheduled jobsschedule_delete- Delete scheduled job
Vision
image_analyze- Analyze images
Location
location_get- Get location info
Provider Mapping
| OpenClaw Name | OpenFang Name | API Key Env Var |
|---|---|---|
anthropic / claude | anthropic | ANTHROPIC_API_KEY |
openai / gpt | openai | OPENAI_API_KEY |
groq | groq | GROQ_API_KEY |
ollama | ollama | (none required) |
openrouter | openrouter | OPENROUTER_API_KEY |
deepseek | deepseek | DEEPSEEK_API_KEY |
together | together | TOGETHER_API_KEY |
mistral | mistral | MISTRAL_API_KEY |
fireworks | fireworks | FIREWORKS_API_KEY |
New Providers in OpenFang
vllm- Self-hosted vLLM inference serverlmstudio- LM Studio local models
Feature Comparison
| Feature | OpenClaw | OpenFang |
|---|---|---|
| Language | Node.js / TypeScript | Rust |
| Config format | YAML | TOML |
| Multi-agent | Basic (message passing) | First-class (spawn, kill, find, workflows) |
| Agent scheduling | Manual | Built-in (reactive, continuous, periodic, proactive) |
| Memory | Markdown files | SQLite + KV store + semantic search + knowledge graph |
| Session management | JSONL files | SQLite with context window tracking |
| LLM providers | ~5 | 11 (Anthropic, OpenAI, Groq, OpenRouter, DeepSeek, Together, Mistral, Fireworks, Ollama, vLLM, LM Studio) |
| Per-agent models | No | Yes (per-agent provider + model override) |
| Security | None | Capability-based (tools, memory, network, shell, agent spawn) |
| Resource quotas | None | Per-agent token/hour limits, memory limits, CPU time limits |
| Workflow engine | None | Built-in (sequential, fan-out, collect, conditional, loop) |
| Event triggers | None | Pattern-matching event triggers with templated prompts |
| WASM sandbox | None | Wasmtime-based sandboxed execution |
| Python runtime | None | Subprocess-based Python agent execution |
| Networking | None | OFP (OpenFang Protocol) peer-to-peer |
| API server | Basic REST | REST + WebSocket + SSE streaming |
| WebChat UI | Separate | Embedded in daemon |
| Channel adapters | Telegram, Discord | Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email |
| Skills/Plugins | npm packages | TOML + Python/WASM/Node.js, FangHub marketplace |
| CLI | Basic | Full CLI with daemon auto-detect, MCP server |
| MCP support | No | Built-in MCP server (stdio) |
| Process supervisor | None | Health monitoring, panic/restart tracking |
| Persistence | File-based | SQLite (agents survive restarts) |
Troubleshooting
Agent fails to spawn after migration
Check the convertedagent.toml for:
- Valid tool names (see the Tool Name Mapping table)
- A valid provider name (see the Provider Mapping table)
- Correct
modulefield (should be"builtin:chat"for standard LLM agents)
Skills not working
OpenClaw Node.js skills must be reinstalled:Channel not connecting
After migration, channels are exported tochannels_import.toml. You must merge them into your config.toml manually:
Next Steps
Creating Agents
Explore 30 pre-built agent templates
Skill Development
Reinstall and create custom skills
Workflows
Build multi-agent pipelines
Production
Deploy OpenFang in production