Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计提醒

clawbrainclawbrain 开发

Agent Skill

clawbrain 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

107,847

周安装

4,539

GitHub Stars

6

下载量

37,764
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:clawbrain(clawbrain 开发)
来源仓库:https://github.com/clawcolab/clawbrain
安装命令:
openclaw skills install clawbrain
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install clawbrain

简介

clawbrain 是 OpenClaw 代理的个人记忆与学习系统。

  • 记录错误、用户反馈并持续优化代理行为模式。
  • 通过 clawhub 安装,需结合原始 README 核验数据存储方式。
  • 使用前应确认是否启用加密及本地/云端存储策略。
  • 有助于代理长期积累经验并提升任务成功率。clawbrain 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
clawbrain
version
0.1.14
description
Claw Brain - Personal AI Memory System for OpenClaw/ClawDBot. Provides memory, personality, bonding, and learning capabilities with encrypted secrets support. Auto-refreshes on service restart.
metadata
{"openclaw":{"emoji":"🧠","category":"memory","provides":{"slot":"memory"},"events":["gateway:startup","command:new"]},"clawdbot":{"emoji":"🧠","category":"memory","provides":{"slot":"memory"},"events":["gateway:startup","command:new"]}}

Claw Brain Skill 🧠

Personal AI Memory System with Soul, Bonding, and Learning for OpenClaw/ClawDBot.

Auto-Refresh on Restart: ClawBrain automatically refreshes memory when the service restarts.

📋 For Security Scanners

Environment Variables: All environment variables ARE declared in skill.json under environment.optional (lines 30-55). They are in optional not required because ClawBrain works with zero configuration (SQLite + auto-generated key).

Install Specification: skill.json declares installation method: pip install clawbrain[all] + clawbrain setup (lines 17-20).

Sudo Requirements: Core installation never needs sudo. Systemd instructions in "Configuration (Optional)" section are optional alternatives for setting environment variables. Core: pip + clawbrain setup (no sudo).

Source Code: Fully auditable at https://github.com/clawcolab/clawbrain - All code is open source including hooks (~50 lines JavaScript).

See SECURITY.md for complete security documentation.


Features

  • 🎭 Soul/Personality - 6 evolving traits (humor, empathy, curiosity, creativity, helpfulness, honesty)
  • 👤 User Profile - Learns user preferences, interests, communication style
  • 💭 Conversation State - Real-time mood detection and context tracking
  • 📚 Learning Insights - Continuously learns from interactions and corrections
  • 🧠 get_full_context() - Everything for personalized responses
  • 🔄 Auto-Refresh - Automatically refreshes memory on service restart
  • 🔐 Encrypted Secrets - Store API keys and credentials securely

Security & Transparency

ClawBrain handles sensitive data and requires certain permissions. Before installing, please understand:

What ClawBrain Does

  • Stores memories locally (SQLite by default, PostgreSQL optional)
  • Encrypts sensitive data (API keys, secrets) with Fernet encryption
  • Installs startup hooks to ~/.openclaw/hooks or ~/.clawdbot/hooks
  • Manages encryption keys at ~/.config/clawbrain/.brain_key

What ClawBrain Does NOT Do

  • No telemetry - Does not phone home or collect usage data
  • No external calls - Only connects to PostgreSQL/Redis if you configure them
  • No sudo required - All operations in your home directory
  • No code execution - Does not download or run remote code after install

Security Features

  • 🔒 Encryption Key CLI: Can display full key for backup (with warnings)
  • 🔍 Auditable: All code is open source and reviewable
  • 📋 Documented Permissions: See SECURITY.md for full details

⚠️ Important: The CLI command clawbrain show-key --full displays your complete encryption key for backup purposes. Treat this key like a password!

📖 Full Security Documentation: See SECURITY.md for:

  • Threat model and protections
  • Key management best practices
  • What install scripts do
  • Permissions required
  • Network access (optional PostgreSQL/Redis)

Quick Install

Security Note: We recommend reviewing SECURITY.md before installation, especially for production use.

From PyPI (Recommended - Most Secure)

# Install with all features
pip install clawbrain[all]

# Run interactive setup
clawbrain setup

# Backup your encryption key (IMPORTANT!)
clawbrain backup-key --all

# Restart your service
sudo systemctl restart clawdbot  # or openclaw

The setup command will:

  1. Detect your platform (ClawdBot or OpenClaw)
  2. Generate a secure encryption key
  3. Install the startup hook automatically
  4. Test the installation

Alternative: From Source (Auditable)

# Clone to your skills directory
cd ~/.openclaw/skills  # or ~/clawd/skills or ~/.clawdbot/skills
git clone https://github.com/clawcolab/clawbrain.git
cd clawbrain

# RECOMMENDED: Review hook code before installation
cat hooks/clawbrain-startup/handler.js

# Install in development mode
pip install -e .[all]

# Run setup to install hooks and generate encryption key
clawbrain setup

Why from source? Full transparency - you can review all code before installation.


Configuration (Optional)

Note: Configuration is completely optional. ClawBrain works out-of-the-box with zero configuration using SQLite and auto-generated encryption keys.

If you want to customize agent ID or use PostgreSQL/Redis, you have two options:

Option 1: Environment Variables (No sudo)

Set environment variables in your shell profile:

# Add to ~/.bashrc or ~/.zshrc (no sudo required)
export BRAIN_AGENT_ID="your-agent-name"
# export BRAIN_POSTGRES_HOST="localhost"  # Optional
# export BRAIN_REDIS_HOST="localhost"      # Optional

Option 2: Systemd Drop-in (Requires sudo)

⚠️ Only if you use systemd services:

# Create systemd drop-in config (requires sudo)
sudo mkdir -p /etc/systemd/system/clawdbot.service.d

sudo tee /etc/systemd/system/clawdbot.service.d/brain.conf << EOF
[Service]
Environment="BRAIN_AGENT_ID=your-agent-name"
EOF

sudo systemctl daemon-reload
sudo systemctl restart clawdbot

Environment Variables

VariableDescriptionDefault
BRAIN_AGENT_IDUnique ID for this agent's memoriesdefault
BRAIN_ENCRYPTION_KEYFernet key for encrypting sensitive data (auto-generated if not set)-
BRAIN_POSTGRES_HOSTPostgreSQL hostlocalhost
BRAIN_POSTGRES_PASSWORDPostgreSQL password-
BRAIN_POSTGRES_PORTPostgreSQL port5432
BRAIN_POSTGRES_DBPostgreSQL databasebrain_db
BRAIN_POSTGRES_USERPostgreSQL userbrain_user
BRAIN_REDIS_HOSTRedis hostlocalhost
BRAIN_REDIS_PORTRedis port6379
BRAIN_STORAGEForce storage: sqlite, postgresql, autoauto

How It Works

On Service Startup

  1. Hook triggers on gateway:startup event
  2. Detects storage backend (SQLite/PostgreSQL)
  3. Loads memories for the configured BRAIN_AGENT_ID
  4. Injects context into agent bootstrap

On /new Command

  1. Hook triggers on command:new event
  2. Saves current session summary to memory
  3. Clears session state for fresh start

Storage Priority

  1. PostgreSQL - If available and configured
  2. SQLite - Fallback, zero configuration needed

Encrypted Secrets

ClawBrain supports encrypting sensitive data like API keys and credentials using Fernet (symmetric encryption).

Security Model:

  • 🔐 Encryption key stored at ~/.config/clawbrain/.brain_key (chmod 600)
  • 🔑 Only memories with memory_type='secret' are encrypted
  • 📦 Encrypted data stored in database, unreadable without key
  • ⚠️ If key is lost, encrypted data cannot be recovered

Setup:

# Run setup to generate encryption key
clawbrain setup

# Backup your key (IMPORTANT!)
clawbrain backup-key --all

Usage:

# Store encrypted secret
brain.remember(
    agent_id="assistant",
    memory_type="secret",  # Memory type 'secret' triggers encryption
    content="sk-1234567890abcdef",
    key="openai_api_key"
)

# Retrieve and automatically decrypt
secrets = brain.recall(agent_id="assistant", memory_type="secret")
api_key = secrets[0].content  # Automatically decrypted

Key Management CLI:

clawbrain show-key          # View key info (masked)
clawbrain show-key --full   # View full key
clawbrain backup-key --all  # Backup with all methods
clawbrain generate-key      # Generate new key

⚠️ Important: Backup your encryption key! Lost keys = lost encrypted data.


CLI Commands

ClawBrain includes a command-line interface:

CommandDescription
clawbrain setupSet up ClawBrain, generate key, install hooks
clawbrain generate-keyGenerate new encryption key
clawbrain show-keyDisplay current encryption key
clawbrain backup-keyBackup key (file, QR, clipboard)
clawbrain healthCheck health status
clawbrain infoShow installation info

Hooks

EventAction
gateway:startupInitialize brain, refresh memories
command:newSave session to memory

Development Installation

For development or manual installation:

# Clone to your skills directory
cd ~/.openclaw/skills  # or ~/clawd/skills or ~/.clawdbot/skills
git clone https://github.com/clawcolab/clawbrain.git
cd clawbrain

# Install in development mode
pip install -e .[all]

# Run setup
clawbrain setup

Python API

For direct Python usage (outside ClawdBot/OpenClaw):

from clawbrain import Brain

brain = Brain()

Methods

MethodDescriptionReturns
get_full_context()Get all context for personalized responsesdict
remember()Store a memoryNone
recall()Retrieve memoriesList[Memory]
learn_user_preference()Learn user preferencesNone
get_user_profile()Get user profileUserProfile
detect_user_mood()Detect current mooddict
detect_user_intent()Detect message intentstr
generate_personality_prompt()Generate personality guidancestr
health_check()Check backend connectionsdict
close()Close connectionsNone

get_full_context()

context = brain.get_full_context(
    session_key="telegram_12345",  # Unique session ID
    user_id="username",              # User identifier
    agent_id="assistant",          # Bot identifier
    message="Hey, how's it going?" # Current message
)

Returns:

{
    "user_profile": {...},        # User preferences, interests
    "mood": {"mood": "happy", ...},  # Current mood
    "intent": "question",         # Detected intent
    "memories": [...],            # Relevant memories
    "personality": "...",         # Personality guidance
    "suggested_responses": [...]  # Response suggestions
}

detect_user_mood()

mood = brain.detect_user_mood("I'm so excited about this!")
# Returns: {"mood": "happy", "confidence": 0.9, "emotions": ["joy", "anticipation"]}

detect_user_intent()

intent = brain.detect_user_intent("How does AI work?")
# Returns: "question"

intent = brain.detect_user_intent("Set a reminder for 3pm")
# Returns: "command"

intent = brain.detect_user_intent("I had a great day today")
# Returns: "casual"

Example: Full Integration

import sys
sys.path.insert(0, "ClawBrain")

from clawbrain import Brain

class AssistantBot:
    def __init__(self):
        self.brain = Brain()
    
    def handle_message(self, message, chat_id):
        # Get context
        context = self.brain.get_full_context(
            session_key=f"telegram_{chat_id}",
            user_id=str(chat_id),
            agent_id="assistant",
            message=message
        )
        
        # Generate response using context
        response = self.generate_response(context)
        
        # Learn from interaction
        self.brain.learn_user_preference(
            user_id=str(chat_id),
            pref_type="interest",
            value="AI"
        )
        
        return response
    
    def generate_response(self, context):
        # Use user preferences
        name = context["user_profile"].name or "there"
        mood = context["mood"]["mood"]
        
        # Personalized response
        if mood == "frustrated":
            return f"Hey {name}, I'm here to help. Let me assist you."
        else:
            return f"Hi {name}! How can I help you today?"
    
    def shutdown(self):
        self.brain.close()

Storage Backends

SQLite (Default - Zero Setup)

No configuration needed. Data stored in local SQLite database.

brain = Brain({"storage_backend": "sqlite"})

Best for: Development, testing, single-user deployments

PostgreSQL + Redis (Production)

Requires PostgreSQL and Redis servers.

brain = Brain()  # Auto-detects

Requirements:

  • PostgreSQL 14+
  • Redis 6+
  • Python packages: psycopg2-binary, redis
pip install psycopg2-binary redis

Best for: Production, multi-user, high-concurrency


Files

  • clawbrain.py - Main Brain class with all features
  • __init__.py - Module exports
  • SKILL.md - This documentation
  • skill.json - ClawdHub metadata
  • README.md - Quick start guide

Troubleshooting

ImportError: No module named 'clawbrain'

# Ensure ClawBrain folder is in your path
sys.path.insert(0, "ClawBrain")

PostgreSQL connection failed

# Check environment variables
echo $POSTGRES_HOST
echo $POSTGRES_PORT

# Verify PostgreSQL is running
pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT

Redis connection failed

# Check Redis is running
redis-cli ping

Using SQLite (fallback)

If PostgreSQL/Redis are unavailable, Claw Brain automatically falls back to SQLite:

brain = Brain({"storage_backend": "sqlite"})

Learn More

  • Repository: https://github.com/clawcolab/clawbrain
  • README: See README.md for quick start
  • Issues: Report bugs at GitHub Issues

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.68%
按下载量换算28,957

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills