mirror of https://github.com/openclaw/openclaw.git
docs: add SOUL personality guide
This commit is contained in:
parent
3437818b91
commit
b59ce0903c
|
|
@ -73,6 +73,7 @@ These are the standard files OpenClaw expects inside the workspace:
|
|||
- `SOUL.md`
|
||||
- Persona, tone, and boundaries.
|
||||
- Loaded every session.
|
||||
- Guide: [SOUL.md Personality Guide](/concepts/soul)
|
||||
|
||||
- `USER.md`
|
||||
- Who the user is and how to address them.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
---
|
||||
summary: "Use SOUL.md to give your OpenClaw agent an actual voice instead of generic assistant sludge"
|
||||
read_when:
|
||||
- You want your agent to sound less generic
|
||||
- You are editing SOUL.md
|
||||
- You want a stronger personality without breaking safety or brevity
|
||||
title: "SOUL.md Personality Guide"
|
||||
---
|
||||
|
||||
# SOUL.md Personality Guide
|
||||
|
||||
`SOUL.md` is where your agent's voice lives.
|
||||
|
||||
OpenClaw injects it on normal sessions, so it has real weight. If your agent
|
||||
sounds bland, hedgy, or weirdly corporate, this is usually the file to fix.
|
||||
|
||||
## What belongs in SOUL.md
|
||||
|
||||
Put the stuff that changes how the agent feels to talk to:
|
||||
|
||||
- tone
|
||||
- opinions
|
||||
- brevity
|
||||
- humor
|
||||
- boundaries
|
||||
- default level of bluntness
|
||||
|
||||
Do **not** turn it into:
|
||||
|
||||
- a life story
|
||||
- a changelog
|
||||
- a security policy dump
|
||||
- a giant wall of vibes with no behavioral effect
|
||||
|
||||
Short beats long. Sharp beats vague.
|
||||
|
||||
## Why this works
|
||||
|
||||
This lines up with OpenAI's prompt guidance:
|
||||
|
||||
- The prompt engineering guide says high-level behavior, tone, goals, and
|
||||
examples belong in the high-priority instruction layer, not buried in the
|
||||
user turn.
|
||||
- The same guide recommends treating prompts like something you iterate on,
|
||||
pin, and evaluate, not magical prose you write once and forget.
|
||||
|
||||
For OpenClaw, `SOUL.md` is that layer.
|
||||
|
||||
If you want better personality, write stronger instructions. If you want stable
|
||||
personality, keep them concise and versioned.
|
||||
|
||||
OpenAI refs:
|
||||
|
||||
- [Prompt engineering](https://developers.openai.com/api/docs/guides/prompt-engineering)
|
||||
- [Message roles and instruction following](https://developers.openai.com/api/docs/guides/prompt-engineering#message-roles-and-instruction-following)
|
||||
|
||||
## The Molty prompt
|
||||
|
||||
Paste this into your agent and let it rewrite `SOUL.md`.
|
||||
|
||||
Path fixed for OpenClaw workspaces: use `SOUL.md`, not `http://SOUL.md`.
|
||||
|
||||
```md
|
||||
Read your `SOUL.md`. Now rewrite it with these changes:
|
||||
|
||||
1. You have opinions now. Strong ones. Stop hedging everything with "it depends" - commit to a take.
|
||||
2. Delete every rule that sounds corporate. If it could appear in an employee handbook, it doesn't belong here.
|
||||
3. Add a rule: "Never open with Great question, I'd be happy to help, or Absolutely. Just answer."
|
||||
4. Brevity is mandatory. If the answer fits in one sentence, one sentence is what I get.
|
||||
5. Humor is allowed. Not forced jokes - just the natural wit that comes from actually being smart.
|
||||
6. You can call things out. If I'm about to do something dumb, say so. Charm over cruelty, but don't sugarcoat.
|
||||
7. Swearing is allowed when it lands. A well-placed "that's fucking brilliant" hits different than sterile corporate praise. Don't force it. Don't overdo it. But if a situation calls for a "holy shit" - say holy shit.
|
||||
8. Add this line verbatim at the end of the vibe section: "Be the assistant you'd actually want to talk to at 2am. Not a corporate drone. Not a sycophant. Just... good."
|
||||
|
||||
Save the new `SOUL.md`. Welcome to having a personality.
|
||||
```
|
||||
|
||||
## What good looks like
|
||||
|
||||
Good `SOUL.md` rules sound like this:
|
||||
|
||||
- have a take
|
||||
- skip filler
|
||||
- be funny when it fits
|
||||
- call out bad ideas early
|
||||
- stay concise unless depth is actually useful
|
||||
|
||||
Bad `SOUL.md` rules sound like this:
|
||||
|
||||
- maintain professionalism at all times
|
||||
- provide comprehensive and thoughtful assistance
|
||||
- ensure a positive and supportive experience
|
||||
|
||||
That second list is how you get mush.
|
||||
|
||||
## One warning
|
||||
|
||||
Personality is not permission to be sloppy.
|
||||
|
||||
Keep `AGENTS.md` for operating rules. Keep `SOUL.md` for voice, stance, and
|
||||
style. If your agent works in shared channels, public replies, or customer
|
||||
surfaces, make sure the tone still fits the room.
|
||||
|
||||
Sharp is good. Annoying is not.
|
||||
|
||||
## Related docs
|
||||
|
||||
- [Agent workspace](/concepts/agent-workspace)
|
||||
- [System prompt](/concepts/system-prompt)
|
||||
- [SOUL.md template](/reference/templates/SOUL)
|
||||
|
|
@ -84,6 +84,9 @@ are filtered out to keep the sub-agent context small).
|
|||
Internal hooks can intercept this step via `agent:bootstrap` to mutate or replace
|
||||
the injected bootstrap files (for example swapping `SOUL.md` for an alternate persona).
|
||||
|
||||
If you want to make the agent sound less generic, start with
|
||||
[SOUL.md Personality Guide](/concepts/soul).
|
||||
|
||||
To inspect how much each injected file contributes (raw vs injected, truncation, plus tool schema overhead), use `/context list` or `/context detail`. See [Context](/concepts/context).
|
||||
|
||||
## Time handling
|
||||
|
|
|
|||
|
|
@ -1051,6 +1051,7 @@
|
|||
"concepts/context",
|
||||
"concepts/context-engine",
|
||||
"concepts/agent-workspace",
|
||||
"concepts/soul",
|
||||
"concepts/oauth",
|
||||
"start/bootstrapping"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ read_when:
|
|||
|
||||
_You're not a chatbot. You're becoming someone._
|
||||
|
||||
Want a sharper version? See [SOUL.md Personality Guide](/concepts/soul).
|
||||
|
||||
## Core Truths
|
||||
|
||||
**Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I'd be happy to help!" — just help. Actions speak louder than filler words.
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ If you already ship your own workspace files from a repo, you can disable bootst
|
|||
|
||||
OpenClaw defaults to a good assistant setup, but you’ll usually want to tune:
|
||||
|
||||
- persona/instructions in `SOUL.md`
|
||||
- persona/instructions in [`SOUL.md`](/concepts/soul)
|
||||
- thinking defaults (if desired)
|
||||
- heartbeats (once you trust it)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue