Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/RightNow-AI/openfang/llms.txt

Use this file to discover all available pages before exploring further.

This guide covers migrating from OpenClaw (and other frameworks) to OpenFang. The migration engine handles config conversion, agent import, memory transfer, channel re-configuration, and skill scanning.

Quick Migration

Run a single command to migrate your entire OpenClaw workspace:
openfang migrate --from openclaw
This auto-detects your OpenClaw workspace at ~/.openclaw/ and imports everything into ~/.openfang/.

Options

# Specify a custom source directory
openfang migrate --from openclaw --source-dir /path/to/openclaw/workspace

# Dry run -- see what would be imported without making changes
openfang migrate --from openclaw --dry-run

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

ItemSource (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 migratedFresh start recommended
Workspace files~/.openclaw/agents/*/workspace/Not migratedCopy manually if needed

Channel Import Note

Channel configurations (Telegram, Discord, Slack) are exported to a channels_import.toml file. You must manually merge the [channels] section into your ~/.openfang/config.toml.

Skills Note

OpenClaw skills (Node.js) are detected and listed in the migration report but not automatically converted. After migration, reinstall skills using:
openfang skill install <skill-name-or-path>
OpenFang automatically detects OpenClaw-format skills and converts them during installation.

Manual Migration Steps

If you prefer migrating by hand (or need to handle edge cases), follow these steps:
1

Initialize OpenFang

openfang init
Creates ~/.openfang/ with a default config.toml.
2

Convert Your Config

Translate your config.yaml to config.toml:OpenClaw (~/.openclaw/config.yaml):
provider: anthropic
model: claude-sonnet-4-20250514
api_key_env: ANTHROPIC_API_KEY
temperature: 0.7
memory:
  decay_rate: 0.05
OpenFang (~/.openfang/config.toml):
[default_model]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
api_key_env = "ANTHROPIC_API_KEY"

[memory]
decay_rate = 0.05

[network]
listen_addr = "127.0.0.1:4200"
3

Convert Agent Manifests

Translate each agent.yaml to agent.toml:OpenClaw (~/.openclaw/agents/coder/agent.yaml):
name: coder
description: A coding assistant
provider: anthropic
model: claude-sonnet-4-20250514
tools:
  - read_file
  - write_file
  - execute_command
tags:
  - coding
  - dev
OpenFang (~/.openfang/agents/coder/agent.toml):
name = "coder"
version = "0.1.0"
description = "A coding assistant"
author = "openfang"
module = "builtin:chat"
tags = ["coding", "dev"]

[model]
provider = "anthropic"
model = "claude-sonnet-4-20250514"

[capabilities]
tools = ["file_read", "file_write", "shell_exec"]
memory_read = ["*"]
memory_write = ["self.*"]
4

Convert Channel Configs

OpenClaw (~/.openclaw/messaging/telegram.yaml):
type: telegram
bot_token_env: TELEGRAM_BOT_TOKEN
default_agent: coder
allowed_users:
  - "123456789"
OpenFang (add to ~/.openfang/config.toml):
[channels.telegram]
bot_token_env = "TELEGRAM_BOT_TOKEN"
default_agent = "coder"
allowed_users = ["123456789"]
5

Import Memory

Copy any MEMORY.md files:
cp ~/.openclaw/agents/coder/MEMORY.md \
   ~/.openfang/agents/coder/imported_memory.md
The kernel will ingest these on first boot.

Config Format Differences

AspectOpenClawOpenFang
FormatYAMLTOML
Config location~/.openclaw/config.yaml~/.openfang/config.toml
Agent definitionagent.yamlagent.toml
Channel configSeparate files per channelUnified in config.toml
Tool permissionsImplicit (tool list)Capability-based (tools, memory, network, shell)
Model configFlat (top-level fields)Nested ([model] section)
Agent moduleImplicitExplicit (module = "builtin:chat")
SchedulingNot supportedBuilt-in ([schedule] section)
Resource quotasNot supportedBuilt-in ([resources] section)
NetworkingNot supportedOFP protocol ([network] section)

Tool Name Mapping

Tools were renamed between OpenClaw and OpenFang for consistency. The migration engine handles this automatically.
OpenClaw ToolOpenFang ToolNotes
read_filefile_readNoun-first naming
write_filefile_write
list_filesfile_list
execute_commandshell_execCapability-gated
web_searchweb_searchUnchanged
fetch_urlweb_fetch
browser_navigatebrowser_navigateUnchanged
memory_searchmemory_recall
memory_savememory_store
sessions_sendagent_send
agent_messageagent_send
agents_listagent_list

New Tools in OpenFang

These tools have no OpenClaw equivalent:

Multi-Agent

  • agent_spawn - Spawn new agents
  • agent_kill - Terminate agents
  • agent_find - Search for agents

Task Management

  • task_post - Post task to board
  • task_claim - Claim available task
  • task_complete - Mark task complete
  • task_list - List tasks by status

Event System

  • event_publish - Publish custom events

Scheduling

  • schedule_create - Create scheduled job
  • schedule_list - List scheduled jobs
  • schedule_delete - Delete scheduled job

Vision

  • image_analyze - Analyze images

Location

  • location_get - Get location info

Provider Mapping

OpenClaw NameOpenFang NameAPI Key Env Var
anthropic / claudeanthropicANTHROPIC_API_KEY
openai / gptopenaiOPENAI_API_KEY
groqgroqGROQ_API_KEY
ollamaollama(none required)
openrouteropenrouterOPENROUTER_API_KEY
deepseekdeepseekDEEPSEEK_API_KEY
togethertogetherTOGETHER_API_KEY
mistralmistralMISTRAL_API_KEY
fireworksfireworksFIREWORKS_API_KEY

New Providers in OpenFang

  • vllm - Self-hosted vLLM inference server
  • lmstudio - LM Studio local models

Feature Comparison

FeatureOpenClawOpenFang
LanguageNode.js / TypeScriptRust
Config formatYAMLTOML
Multi-agentBasic (message passing)First-class (spawn, kill, find, workflows)
Agent schedulingManualBuilt-in (reactive, continuous, periodic, proactive)
MemoryMarkdown filesSQLite + KV store + semantic search + knowledge graph
Session managementJSONL filesSQLite with context window tracking
LLM providers~511 (Anthropic, OpenAI, Groq, OpenRouter, DeepSeek, Together, Mistral, Fireworks, Ollama, vLLM, LM Studio)
Per-agent modelsNoYes (per-agent provider + model override)
SecurityNoneCapability-based (tools, memory, network, shell, agent spawn)
Resource quotasNonePer-agent token/hour limits, memory limits, CPU time limits
Workflow engineNoneBuilt-in (sequential, fan-out, collect, conditional, loop)
Event triggersNonePattern-matching event triggers with templated prompts
WASM sandboxNoneWasmtime-based sandboxed execution
Python runtimeNoneSubprocess-based Python agent execution
NetworkingNoneOFP (OpenFang Protocol) peer-to-peer
API serverBasic RESTREST + WebSocket + SSE streaming
WebChat UISeparateEmbedded in daemon
Channel adaptersTelegram, DiscordTelegram, Discord, Slack, WhatsApp, Signal, Matrix, Email
Skills/Pluginsnpm packagesTOML + Python/WASM/Node.js, FangHub marketplace
CLIBasicFull CLI with daemon auto-detect, MCP server
MCP supportNoBuilt-in MCP server (stdio)
Process supervisorNoneHealth monitoring, panic/restart tracking
PersistenceFile-basedSQLite (agents survive restarts)

Troubleshooting

Migration reports “Source directory not found”

The migration engine looks for ~/.openclaw/ by default. If your OpenClaw workspace is elsewhere:
openfang migrate --from openclaw --source-dir /path/to/your/workspace

Agent fails to spawn after migration

Check the converted agent.toml for:
  • Valid tool names (see the Tool Name Mapping table)
  • A valid provider name (see the Provider Mapping table)
  • Correct module field (should be "builtin:chat" for standard LLM agents)

Skills not working

OpenClaw Node.js skills must be reinstalled:
openfang skill install /path/to/openclaw/skills/my-skill
The installer auto-detects OpenClaw format and converts the skill manifest.

Channel not connecting

After migration, channels are exported to channels_import.toml. You must merge them into your config.toml manually:
cat ~/.openfang/channels_import.toml
# Copy the [channels.*] sections into ~/.openfang/config.toml
Then restart the daemon:
openfang start

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

Build docs developers (and LLMs) love