OpenClaw Full User Guide: From 0 to Stable Permanent (Equip Configuration + Channel Access + Error)
- Read the proposal: Run through "Equip - > First Access - > First Job Validation" and then make a step configuration。
catalogs
- 01|OpenClaw What is it? It's different from the normal AI chat tool
- 02 pre-installation preparation: system, account number, model source
- 03:20 minutes running through the minimum closed ring: installation - > start - > first available
- 04 + Telegram, two available routes
- 05 | model configuration: run through a provider, then optimize
- 06: NEXT STEP: GIVE AN AI ASSISTANT A SOUL (SOUL / USER / AGENTS)
- 07 |Skills Progress: from the session to the management
- 08 Common pits and miscalculation (installation, access, models, Skills)
01|OpenClaw What is it? It's different from the normal AI chat tool
One sentence summary:OpenClaw is the local-first personal AI assistant framework.
IT IS NOT A SIMPLE CHAT PAGE, BUT A SELF-HOSTED AI HUB THAT CAN BE RUN OVER TIME。
The core pattern is:
- You run a Gateway on your own device
We need to get the chat channels, equipment capabilities and models together
CREATE A SCALABLE AND SUSTAINABLE PERSONAL AI WORKSTATION。
Suitable for such scenarios:
- Trying to get AI access to Telegram / WhatsApp / Flying Book
- TRYING TO GET AI TO HANDLE SOME OF THE DUPLICATE PROCESSES, NOT JUST QUESTIONS AND ANSWERS
- You want to put the data and the implementation environment on your own control
02 pre-installation preparation: system, account number, model source
The basic environment is confirmed:
- Node.js > = 22
- macOS / Linux / Windows
- pnpm (only for construction from source code)
Model source preparation:
OpenClaw supports multiple projects. Pick the one you're most stable to use, then expand。
- OpenAI (API + Codex) [1]
- Anthropic (API + Claude Code CLI) [2]
- Qwen (OAuth) [3]
- OpenRouter [4]
- Vercel AI Gateway [5]
- Moonshot AI (Ki + Kimi Coding) [6]
- OpenCode Zen [7]
- Amazon Bedrock [8]
- Z.AI [9]
- Xiaoomi [10]
- GLM MODEL [11]
- Mini Max [12]
- Venice AI [13]
- Ollama (local model) [14]
Channel prepares recommendations:
- Let's start with a new source. Don't start all over
- This is an example of using the Flying Book (Feishu), which runs and then extends to Telegram/WhatsApp/Discord
03:20 minutes running through the minimum closed ring: installation - > start - > first available
Recommended default deployment (most users):
- Small Linux VPS: Fits to Gateway Resident, Low Cost
REFERENCE VPS TRUSTEESHIP [15]
- Special hardware (Mac Mini / Linux machine): suitable for local capacity or long-term stable operation
- Mixed scheme: Gateway release VPS, local UI/browser automating with local nodes
Reference Node [16] and Gateway Remote [17]
macOS/Linux installation:
curl -fsSL https://openclaw.ai/install.sh | bash
Windows recommends that WSL2 be installed first, with detailed steps in Microsoft WSL installation document [18]。
Some screenshots of the installation:

This step is a security alert. It is recommended to review the official security files and continue the installation process:
https://docs.openclaw.ai/zh-CN/gateway/security[19]

If you're a rookie, choose QuickStart first, and run the smallest circle。

This step is to select a model supplier. This presentation is based on OpenAI Codex (ChatGPT Outlook) and will be followed by a self-defined configuration of baseURL and apiKey。

Select the model after completing the OAuth authentication. I'm using Keep current here。

this step is to choose the channel of information. this paper shows the flying book first, so here you choose the skip for now, and then the following channel sections are fully configured。

This step will ask which Node package manager you install Skills. Default npm on it. The rest of the steps I chose was Skip/No, followed by the need to fill in the configuration document。


The following steps can be taken when errors are reported during the visit:

- execute cat ~/.openclaw/openclaw.json
- copy gateway.auth.token
- Paste in/overview > Gateway Access > Gateway Token
- Click Connect

Once completed, the page will be connected properly。
Install common state and operational commands:
openclaw status # to see overall state
openclaw gateway status #
openclaw health # health check
openclaw configure # reconfigured (modify models, channels, etc.)
openclaw daemon restart # restart backstage service
openclaw daemon logs # to view running logs
Validation method (satisfactory to this 3 article):
- openclawstatus andopenclawhealth
- Gateway status is running
- We'll get a robot response from the target
04 + Telegram, two available routes
The new route suggested:Let's get to the next channel.
Here's the flying book process and a Telegram process. You can run through one of them and expand the other。
1. Opening of the open-door platform
Access to the Open Book Platform [20] and login。
If you use Lark, use open.Larksuite.com/app [21]。
2. Create applications
- Click on Create Enterprise Self-Building Applications
- Fill in application name and description
- Select Application Icon

3. Access to applications
Copy it on the Document and Basic Information page:
- App ID (similar to cli_xx)
- App Secret
Please take care of App Secret and don't let it out。

4. Configure application privileges
Use " Batch Import " to import permissions on " Permissions Management " page:
{
"scopes":
“tenant”:
“aily:file:read”,
"aily:file:write.",
"application: application.app_message_stats.overview:readonly",
“application: application: self_manage”,
"application: bot.menu:write.",
"cardkit:card:write.",
"contact:user.employee_id:readonly",
"corehr:file:download.",
“docs: document.content:read”,
"event:ip_list",
"im:chat.",
“im:chat.access_event.bot_p2p_chat:read”,
"im:chat.members:bot_access.",
"im:message.",
"im: message.group_at_msg:readonly",
"im:message.group_msg.",
"im:message.p2p_msg:readonly",
"im:message:readonly.",
"im: message: send_as_bot",
"im:resource.",
"sheeets: spreadsheet.",
"wiki:wiki:readonly"
],
“user”:
“aily:file:read”,
"aily:file:write.",
“im:chat.access_event.bot_p2p_chat:read”
]
}
}

5. Introduction of robotic capabilities
In Applied Capacity > Robots:
- Turn on robotics
- Configure Robot Name

Configure event subscriptions
Confirm before configuration:
- Openclaw channels add Feishu channel
- Gateway started (openclaw gateway status)
Then on the Event Subscription page:
- Select "WebSocket with long connection "
- add event im.message.receive_v1

7. Publication applications (Flying Books)
- Create version in Version Management and Release
- Submitted for review and release
- Pending admin approval
Flying Book Accessed: Configure Channels in OpenClaw
Through Wizard Configuration (Recommended):
i don't know, openclaw channels add
Select Feishu, paste App ID and App Secret。
Configure via profile (example):
{
"channels":
"feishu":
"enabled": true,
“dmpolicy”: “pairing”,
“accounts”:
"main":
"appId": "cli_xx",
"appSecret": "xx",
'botName ': "My AI Assistant"
}
}
}
}
}
Configure through environment variables (example):
= = x "cli_xx"
export FISHU_APP_SECRET=x
Lark (international) domain name configuration:
{
"channels":
"feishu":
"domain": "lark.",
“accounts”:
"main":
"appId": "cli_xx",
"appSecret": "xx"
}
}
}
}
}
After access: Start and test
Start Gateway:
openclaw gateway
Send a message to the robot in the flying book. For the first time, you usually return the pairing
openclaw
Once adopted, there will be a normal dialogue。
Telegram channel access

- pass @BotFather(up to link [22]) Create robotics that confirm the correct account number and copy Token。
- Configure Token:
- ENVIRONMENTAL VARIABLE: TELEGRAM_BOT_TOKEN=..
- or configuration file: channels.telegram.botToken: "..."
- If both are set, the configuration file gives priority。
- Starts the Gateway gateway。
- For the first time, the robot will return to the pairing code and execute the pairing authorization by hint。
Minimum configuration example:
{
"channels":
"telegram":
"enabled": true,
"BotToken": 123:abc,
"dmpolicy": "pairing"
}
}
}

And then text the robot in Telegram, get the pair and do it:
openclaw paiing approve telegram ABC123
When the authorization succeeds, you can start normal interaction with the robot。

If there is a normal return to the dialogue, the Telegram channel has been successfully accessed。

05 | model configuration: run through a provider, then optimize
The previous presentation used ChatGPT — OpenAI Codex。
This one starts with a minimum available configuration。
First, look at a model access road map, then choose a first run at your current stage:

If you use a transit service, refer to the following minimum available configuration:
{
"models":
"providers":
"my-api":
"baseUrl": https:// your transit address/v1",
"ApiKey": "Your-api-key",
"api": "openai-complications",
“models”:
{
"id": model id,
"name": shows the name,
“ressoning”: false,
“input”: [“text”),
“contextWindow”: 200000,
“maxTokens”: 8192
}
]
}
}
},
"agents":
"defaults":
"model": {
"primary": "my-api/modelid"
}
}
},
"gateway":
“port” 18789,
"bind": "loopback",
“auth”:
"mode": token,
Token: Your-Gateway-Token
}
}
}
Replace the focus with the following:
- baseUrl: Transit Services Address (usually https://xxx.com/v1)
- apiKey: Transfer services assigned to you
- models[.id: model for transit service support id
- format provider/modelid
- gateway.auth.token: available openclaw configure/sectiongateway
Two additional points:
- name under providers (e.g. my-api) can be customised, but consistent with model.primary prefixes
- Run through one model and add a second
06: NEXT STEP: GIVE AN AI ASSISTANT A SOUL (SOUL / USER / AGENTS)
Here you have completed the first phase: installation, access, modeling, first question and answer validation。
The next step is to move from “can talk” to “know you, work and style”。
Seeing this three-package set first, we can understand more intuitively how the three documents work together:

At the heart of this step are three sets of souls:
| Documentation | corresponds English -ity, -ism, -ization | Similarity |
|---|---|---|
SOUL.md |
Define assistant character, tone, behavioral boundaries | Genetic + Corrections |
USER.md |
Define who you are, what you're doing, what you prefer | Curricula vitae + diary |
AGENTS.md |
Definition of implementing norms, modalities of collaboration, security rules | Staff Manual |
WHEN THESE THREE FILES ARE COMPLETED, THE ASSISTANT CHANGES FROM GENERAL AI TO YOUR AI。
In the future, it will assist you more steadily in processing mail, managing the schedule, summarizing files, looking at the code and gradually evolving to the desktop end of Jarvis。
6.1 SOUL.md: Clarify character and boundaries
It is suggested to write by these four pieces:
- Character: Direct, pragmatic, proactive or moderate, companionship
- speech style: brevity/detail, use emoji, usage of terminology
- Code of conduct: what can be done directly and what must be identified
- Absolutely not: privacy leaks, destructive operations, ultra vires
Key principles:
- Be specific. Don't write "friendly, helpful."
- Nothing is more important than what you do
- The rules do not conflict with each other and avoid the contradiction of being “involved and not disturbed”
6.2 Write again USER.md: Make your assistant really know you
USER.md contains at least:
- Basic information: name, occupation, time zone
- Current projects: 1-3 projects under way
- TOOLBAR: IDE, DOCUMENTATION, DESIGN AND COLLABORATION TOOLS COMMONLY USED
- Communication preferences: brevity or detail, Chinese-British ratio, alarm mode
- Current focus: Recent research content, immediate objectives, key context
The more specific you write, the less the assistant cross-examines, the more you go straight to execution。
6.3 Finally, AGENTS.md: Fixed working rules
Focus on these three types of configuration:
- Memory management: what to read and what to record at the end of each start
- Secure boundaries: rules for the confirmation of reading and writing documents, execution of orders, external messages
- Interactive rule: Group presentation strategy, quiet time, heart beat task trigger
The default AGENTS.md is generally already available。
6.4 Restart and validate after modification
openclaw daemon restart
AND THEN YOU COMPARE A/B WITH THE SAME QUESTION (E.G., "BOOK ME A PROJECT UPDATE"), AND YOU CLEARLY SEE THAT TONE, STRUCTURE AND IMPLEMENTATION STRATEGIES ARE GETTING CLOSER TO YOUR HABITS。
6.5. Continuous training will make you more and more like you
The three sets of the soul do not end at once, but with a little bit。
Every time you show up, "It should do this, but it doesn't do it," it's the time to update SOUL.md/USER.md/AGENTS.md。
You can use this as a long-term project: run through, stabilize, personalize, and eventually sink into your own work-flow assets。
If you're doing this, you're welcome to look at me and share your experience in the field。
07 |Skills Progress: from the session to the management
SOUL.md / USER.md /
AGENTS.md decides who the assistant is, and Skills decides what the assistant is。
The Skylls system of OpenClaw is compatible with AgentSkills, and the core document is SKILL.md under each skill catalogue。
Official documents suggest looking at the general index before going deep as required:
https://docs.openclaw.ai/llms.txt[23]
7.1 Skills Who gives priority to where to load
OpenClaw defaults to load Skills from three locations:
- Internal Skills (issued with installation package)
- ~/.openclaw/skills (local/host Skills)
- /skills
in case of conflict with the same name: /skills
/skills > ~ .openclaw/skills > Inline Skills
Additional catalogues (lowest priority) can also be added at ~/.openclaw/openclaw.json for skills.load.extraDirs。
This map quickly remembers the loading of priorities and fields:

7.2 Distinction between single intelligence and shared Skills
In a multi-smart context, it is understood that:
- mono-intelligence special: /skills in the smart body area
- global sharing: in ~/.openclaw/skills, com-intelligence works
- Team Sharing Directory: Mounting Public Paths Through Skills.load.extraDirs
if you want to use a different skill set for different smarts, give priority to a workspace directory; if you want to use a "all smarts reset", give priority to ~/.openclaw/ skills。
7.3 Installation, updating, synchronization (ClawHub)
OpenClaw is officially recommended by ClawHub to manage Skills:
no, no, no, no
no, no, no, no
i'm sorry
default will be installed in the current directory./ skills (or back to the configured workspace) and the next new session will be automatically recognized as / skills。
7.4 find-skills: install this "skill search" first
find-skills is positioned to help you discover and install skills。
README ORIGINAL:
This seems to help you discover and instantly skills from the open antskills ecstasy.
Link:
- https://github.com/vercel-labs/skills/blob/main/skills/find-skills/SKILL.md[24]
- https://skills.sh/[25]
Common command:
[query]
i'm sorry
i'm sorry
no, no, no, no
No interactive installation:
no, no, no, no
7.5 What should a qualified SKILL.md look like
Minimal format (YAML frontmatter required):
I don't know
name: your-skill-name
what this skill does
I don't know
Two things should be borne in mind:
- frontmotter keys keep single lines as far as possible
- metadata proposes to write as a single line of JSON objects to avoid resolving ambiguities
7.6 Door control mechanisms: Why Skills can't see
OpenClaw filters when loading based on metadata.openclaw
- _Other Organiser
- requires.env: environmental variables or configurations must be available
- the path must be genuine.config:openclaw.json
- os: load only in the specified system
This is also the central reason why many people “do it but it doesn't work”。
If you want to go from being able to see to being safe, go through this door and security flow chart:

7.7 Configure coverage and key injection
You can do a Skills level configuration in ~/.openclaw/openclaw.json:
- skills.entries..enabled:开关技能
- apiKey: A key was injected into the skills of primaryEnv
- env: injecting environmental variables (only when processes do not exist)
- config: custom configuration of the skill
this type of injection is an "injection of intelligence during run-time," not into your global shell。
7.8 Secure borders: third-party Skills as untrustworthy code
Key recommendations:
- Start with SKILL.md
- High-risk tools will be in the sandbox first
- Do Not Write Keys Intent Words and Logs
- External message, file deletion, system command execution of reservation confirmation threshold
7.9 Plugins can also be published
if you're using a plugin system, the plugin can publish skills through an openclaw.plugin.json declaration list。
These plugins, Skills, will be involved in the same set of priority and door control rules and can also be enabled by metadata.openclaw.requires.config。
7.10 Session snapshot and hot refreshment (why not change to take effect immediately)
OpenClaw usually takes a snapshot of the available Skills at the beginning of the session, and the list is repeated in subsequent rounds。
So with a change in the Skills or configuration, the best thing to do is start a new session。
If the Skylls monitor (skills.load.watch) is activated, the SKILL.md change will trigger a refreshing and the next rotation will get a new list。
08 Common pits and miscalculation (installation, access, models, Skills)
Look at the wrong decision tree. It'll be faster if you follow the branch:

Node version insufficient
Discrepancies in the installation or start-up of the Times version。
Reason: OpenClaw requests Node 22+。
Reform: Re-enforce installation after upgrading Node。
2) Dashboard does not connect or hint token errors
organisation。
reason: access address is not token, or token is not generated in configuration。
Amendments:
cat ~/.openclaw/openclaw.json grep token
openclaw configure..
3) Model configuration error
Common causes:
- API Key Malformed
- Model ID error or missing provider prefix
- Change environment variable not restarted
Amendments:
openclawgaterestart
4) No return from robots after access (for example, flying books)
Priority inspection:
- Has the Feishu channel been added
- Whether Gateway is running
- event subscriptions added
- Fulfilling twinning authorizations
Final proposal: Ensure that "single-channel + single model + single account" runs, then expands, so that the problem of positioning can be most rapid。
5) Skills cannot be seen or called after installation
Priority inspection:
- Whether the workspace directory for the current session is installed
- Whether Skills is covered by a higher priority directory
- data.openclaw.requires.*
- Test in old session (Skills list usually snapshots at start of session)
Search path proposal:
- confirm the installation directory /skills (or ~/.openlaw/skills)
- confirm the skills.entries switch and configuration of openclaw.json
- Last reopen new session to verify