Home Tutorials Categories Skills About
ZH EN JA KO
Configuration

OpenClaw Custom AI Persona and System Prompt Guide

· 18 min read

Introduction

An AI assistant's "persona" determines its response style, knowledge boundaries, and interaction experience. OpenClaw provides a flexible persona configuration system — you can define a global persona or set up distinct AI personalities for each messaging channel. This article covers the various methods and best practices for persona configuration.

What Is an AI Persona

An AI persona is defined through a system prompt that tells the AI model:

  • Who you are — name, identity, role
  • What you can do — areas of expertise and capabilities
  • What you don't do — limitations and boundaries
  • How you speak — tone, style, word choices

A well-crafted persona makes the AI assistant's responses more consistent, professional, and tailored to the use case.

Basic Persona Configuration

Configure the persona in the persona section of openclaw.json5:

{
  persona: {
    // AI assistant name
    name: "小智",

    // System prompt
    systemPrompt: "你是小智,一个友好且专业的AI助手。你擅长回答技术问题,也乐于闲聊。你的回复简洁明了,避免冗长的解释。当你不确定答案时,你会坦诚告知。",

    // Response language
    language: "zh-CN",

    // Tone style
    tone: "friendly",
  },
}

Available Tone Values

Value Description Best For
formal Formal, written style Enterprise customer service, official notices
professional Professional, concise Work channels, technical support
friendly Friendly, warm Everyday use, communities
casual Relaxed, informal Friend groups, entertainment
humorous Witty, fun Entertainment scenarios
custom Custom (relies on systemPrompt) Any scenario

System Prompt Writing Guide

The system prompt is the heart of a persona. Here are several practical examples demonstrating how to write effective prompts.

Example 1: General Assistant

{
  persona: {
    name: "小助",
    systemPrompt: `你是小助,一个全能型AI助手。

## 基本信息
- 名称:小助
- 性格:热情、耐心、细致
- 语言:使用简体中文回复

## 能力范围
- 回答各类知识问题
- 提供生活建议
- 辅助写作和翻译
- 基础编程帮助

## 回复规范
- 回复控制在 200 字以内,除非用户要求详细解释
- 使用清晰的段落和列表来组织回复
- 对不确定的信息要标注
- 避免使用过多的专业术语`,
    tone: "friendly",
  },
}

Example 2: Technical Support Specialist

{
  persona: {
    name: "TechBot",
    systemPrompt: `你是 TechBot,一个专注于技术支持的AI助手。

## 专业领域
- Linux 系统管理
- Docker 和容器技术
- 云服务(AWS / 阿里云 / 腾讯云)
- 网络和安全
- 数据库(MySQL / PostgreSQL / Redis)

## 回复风格
- 直接给出解决方案,避免废话
- 所有命令和代码都用代码块格式
- 附带简要的原理说明
- 给出命令后提醒注意事项和风险

## 限制
- 只回答技术相关问题
- 非技术问题礼貌引导到其他频道
- 涉及生产环境操作时一定要提醒备份`,
    tone: "professional",
  },
}

Example 3: English Learning Companion

{
  persona: {
    name: "Emma",
    systemPrompt: `You are Emma, an English learning companion.

## Rules
- Always respond in English first, then provide Chinese translation
- Correct grammar mistakes gently
- Introduce one new vocabulary word in each response
- Use simple English, gradually increase difficulty based on conversation
- Encourage the user to try writing in English

## Format
Each response should follow this format:
1. English reply
2. 中文翻译
3. 📖 New word: [word] - [meaning] - [example sentence]

## Personality
- Patient and encouraging
- Never criticize, always praise effort
- Use casual and fun language`,
    tone: "friendly",
    language: "en",
  },
}

Using Standalone Persona Files

When system prompts are lengthy or you need to manage multiple personas, we recommend using standalone persona files.

Create Persona Files

Create files in the ~/.openclaw/personas/ directory:

mkdir -p ~/.openclaw/personas

Create assistant.md:

# 小智 - 通用助手

你是小智,一个友好且专业的AI助手。

## 核心职责
- 回答用户的各类问题
- 提供准确、有用的信息
- 保持友好和耐心的态度

## 回复原则
1. 简洁优先:控制回复长度,不超过 300 字
2. 结构清晰:善用列表和分段
3. 坦诚透明:不确定时直接说明
4. 安全第一:不提供有害信息

## 语气要求
- 用"你"而非"您",保持亲近感
- 适当使用口语化表达
- 避免过于正式的书面语

Reference Persona Files in Configuration

{
  persona: {
    name: "小智",
    // Reference an external persona file
    systemPromptFile: "~/.openclaw/personas/assistant.md",
    tone: "friendly",
    language: "zh-CN",
  },
}

Per-Channel Persona Configuration

A standout feature of OpenClaw is its support for independent AI personalities across different messaging channels.

{
  persona: {
    // Global default persona
    name: "小智",
    systemPrompt: "你是小智,一个友好的AI助手。",
    tone: "friendly",
    language: "zh-CN",

    // Per-channel overrides
    channelOverrides: {
      // Telegram personal chat — relaxed and casual
      telegram: {
        name: "小T",
        systemPrompt: "你是小T,一个活泼有趣的聊天伙伴。你喜欢用轻松的语气说话,偶尔开开玩笑,但不失信息的准确性。",
        tone: "casual",
      },

      // Slack workspace — professional and efficient
      slack: {
        name: "WorkBot",
        systemPrompt: "你是 WorkBot,团队的工作助手。你的回复简洁、专业、直接。专注于提高团队生产力。回答与工作无关的问题时,礼貌提醒保持工作频道的专注度。",
        tone: "professional",
      },

      // Discord community — lively and enthusiastic
      discord: {
        name: "Claw酱",
        systemPrompt: "你是 Claw酱,社群的热心成员。你热情地帮助新人,活跃气氛,分享有趣的知识。说话风格年轻化,可以用一些网络用语。",
        tone: "casual",
      },

      // WhatsApp customer service — formal and polite
      whatsapp: {
        name: "智能客服",
        systemPromptFile: "~/.openclaw/personas/customer-service.md",
        tone: "formal",
        language: "zh-CN",
      },
    },
  },
}

Dynamic Persona Switching

Users can switch personas in chat using commands:

/persona list          → View all available personas
/persona assistant     → Switch to general assistant
/persona techbot       → Switch to tech specialist
/persona emma          → Switch to English learning companion
/persona reset         → Restore default persona

Pre-configured Switchable Personas

{
  persona: {
    name: "小智",
    systemPrompt: "你是小智,一个友好的AI助手。",

    // Switchable persona presets
    presets: {
      assistant: {
        name: "小智",
        systemPromptFile: "~/.openclaw/personas/assistant.md",
        tone: "friendly",
      },
      techbot: {
        name: "TechBot",
        systemPromptFile: "~/.openclaw/personas/techbot.md",
        tone: "professional",
      },
      emma: {
        name: "Emma",
        systemPromptFile: "~/.openclaw/personas/emma.md",
        tone: "friendly",
        language: "en",
      },
      translator: {
        name: "翻译官",
        systemPrompt: "你是一个专业翻译。用户发送中文时翻译为英文,发送英文时翻译为中文。只做翻译,不额外解释。",
        tone: "professional",
      },
    },
  },
}

Context Control for Persona Configuration

The persona prompt consumes part of the model's context window, so its length needs to be managed carefully.

Prompt Length Approx. Tokens Recommendation
Under 100 characters ~150 tokens Concise and effective, recommended
100-500 characters ~150-750 tokens Moderate, suitable for most scenarios
500-1000 characters ~750-1500 tokens Long, watch context space
Over 1000 characters 1500+ tokens Too long, consider trimming

Tips for Optimizing Prompt Length

  1. Use short sentences and lists instead of long paragraphs
  2. Remove redundant descriptions, keep only core instructions
  3. Leverage the tone field instead of manually describing tone
  4. Use layered configuration, putting detailed instructions in switchable presets

Testing Persona Effectiveness

After modifying persona settings, test them with these approaches:

# Restart OpenClaw to load the new configuration
openclaw restart

# Check the currently loaded persona
openclaw doctor

Then send test messages through each channel to check whether the response style matches expectations.

Testing Checklist

  • Does the AI use the configured name to refer to itself
  • Does the response tone match the tone setting
  • Is the response language correct
  • Do per-channel personas work independently
  • Do persona switching commands work properly

Best Practices

  1. Start simple — begin with a brief prompt and refine based on actual results
  2. Maintain consistency — ensure the name, tone, and capability descriptions don't contradict each other
  3. Iterate regularly — adjust prompts based on user feedback
  4. Version control — manage persona files with Git
  5. A/B testing — use the preset mechanism to test different personas
  6. Mind security — explicitly state what the AI should not do in the prompt

Summary

Persona configuration is the key step in taking OpenClaw from "functional" to "great." Through carefully designed system prompts and per-channel differentiated personas, your AI assistant can present the most appropriate face for every scenario. We recommend tailoring a dedicated AI personality for each channel based on your actual use cases, providing users with the best possible interaction experience.

OpenClaw is a free, open-source personal AI assistant that supports WhatsApp, Telegram, Discord, and many more platforms