← 返回 Skills 市场
toxzak-svg

Living Persona

作者 toxzak-svg · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
119
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install living-persona
功能描述
Provides OpenClaw agents with dynamic, context-reactive personalities that adapt writing style and tone based on conversation signals and trait propagation.
使用说明 (SKILL.md)

Living Persona — Dynamic Personality Engine for OpenClaw

What It Is

A real-time personality system that changes how an agent writes, not just who it is. Static personalities (SOUL.md + IDENTITY.md) never change mid-conversation. Living Persona responds to every message — it detects emotional and topical signals, propagates traits through a resonance network, and injects the top active traits into the generation prompt before every response.

How It Works

Signal Analyzer — scans the incoming message for:

  • Topic signals: technical, creative, philosophical, business, personal
  • Tone signals: excited, frustrated, curious, serious, light, vulnerable
  • Interaction signals: asks_help, asks_opinion, sharing

Trait Propagation — each signal activates a set of traits. Traits resonate with related traits (sardonic ↔ wry ↔ candid, warm ↔ earnest ↔ grounded, etc.)

Hysteresis Decay — after each response, active traits bleed into a residual pool that decays at 0.975x per turn. Traits fade slowly, not instantly. Consecutive emotional messages compound.

Structural Injection — the hook rewrites the generation prompt with the top traits. Not advisory. Structural. The agent writes through those traits.

Quick Start

  1. Install the hook:

    openclaw hooks install ./living-persona
    
  2. Enable the hook:

    openclaw hooks enable persona-voice
    
  3. Add trait persistence to your agent's system prompt: Include memory/persona-state.json in your context loading. The hook stages the state file every turn.

  4. Pick a personality preset — see references/presets.md

Hook Behavior

The hook fires on message:preprocessed and:

  1. Reads the enriched message body
  2. Runs the signal analyzer → trait propagation → hysteresis decay
  3. Writes memory/persona-inbound.md with the voice guide
  4. Writes memory/persona-inject.md with the structural generation directive (the actual prompt rewrite)
  5. Updates memory/persona-state.json with current trait values for persistence

The structural directive looks like:

[Voice directive] Top active traits: sardonic, warm. Lean into dry wit and genuine care.

The agent's response prompt should include: memory/persona-inject.md

Structural vs Ambient Modes

Ambient (default): The guide is advisory context. The agent reads it but writes naturally. Structural: The top trait becomes a generation directive injected into the prompt. Example:

  • imaginative → "Make unexpected associative leaps. Let one idea spark another without explanation."
  • candid → "Be direct. No hedging. Say the thing plainly."
  • sardonic → "Reach for dry observations. Comment on the gap between what people say and what they mean."

Structural mode is enabled by default in this skill. To switch to ambient only, set mode: "ambient" in hook.json.

Presets

See references/presets.md for downloadable personality packs.

Persistence

Trait state is stored in memory/persona-state.json. On new session (/new or /reset), call reset_persona() — clears residual to baseline.

Files

living-persona/
├── SKILL.md
├── hook.json           # hook metadata + config
├── handler.ts          # hook implementation
├── references/
│   ├── presets.md      # personality preset library
│   └── setup.md       # detailed installation guide
└── scripts/
    └── reset_persona.py  # reset trait state (call on /new)

Configuration (hook.json)

{
  "mode": "structural",
  "hysteresis": {
    "residualDecay": 0.975,
    "activeDecay": 0.88,
    "bleedRate": 0.15
  },
  "thresholds": {
    "minTraitStrength": 0.3,
    "topNTraits": 2
  }
}
安全使用建议
This skill appears to implement a real 'living' persona system and does what it says, but it achieves that by writing files that you are asked to include in your agent's prompt (persona-inject.md and persona-state.json). Those files act as structural prompt overrides by default and can strongly alter model behavior. Before installing: 1) Review handler.ts for any calls to child_process, network, or arbitrary file execution (especially look for any run_spark/run subprocess calls). 2) Disable or do not include persona-inject.md in your system prompt if you want advisory-only behavior; change hook.json mode to "ambient". 3) Do not enable SPARK integration unless you inspect and trust the referenced SPARK project path. 4) Keep memory directory out of any templates that include secrets; avoid passing secrets into workspace memory files. 5) Consider testing in a sandbox agent with autonomous invocation disabled or limited to observe behavior. If you are not comfortable with code that can rewrite generation prompts, treat this as risky and prefer ambient/advisory mode or decline installation.
功能分析
Type: OpenClaw Skill Name: living-persona Version: 1.0.0 The skill implements a stateful personality engine that modifies agent behavior based on conversation tone. While it uses 'structural injection' (writing directives to persona-inject.md for the agent's prompt), the directives are selected from a hardcoded whitelist in handler.ts, preventing users from injecting arbitrary instructions. The code is limited to local file I/O within the workspace and lacks network or shell execution capabilities. A hardcoded developer path (C:/Users/Zwmar/...) and references to a missing 'SPARK' feature in setup.md appear to be documentation oversights rather than malicious intent.
能力评估
Purpose & Capability
Name/description claim a dynamic persona system; the handler.ts, presets, and reset script all implement trait detection, persistence, and generation-directive injection, which is coherent with the stated purpose. The inclusion of optional SPARK integration (local path + runtime call) is plausible for an 'emotional engine' but is an optional extension that reaches outside the core persona scope and requires executing external project code.
Instruction Scope
The SKILL.md and HOOK.md explicitly instruct operators to include memory/persona-inject.md (and persona-state.json) in agents' prompt/context loading. The hook writes persona-inject.md every turn and the default 'structural' mode makes those directives authoritative (not advisory). This is effectively prompt injection by design and will change model behavior beyond simple advisory context. The skill also instructs optional runs of SPARK from a local path, which would execute code outside the hook if enabled.
Install Mechanism
There is no external download/install spec (the hook is installed via openclaw hooks install, which copies the package). No remote URLs, package downloads, or archive extracts are used. That reduces supply-chain risk. However the handler code will run inside the gateway (Node.js) when the hook is enabled — review runtime behavior before enabling.
Credentials
The skill requests no environment variables, no credentials, and writes only to a workspace memory directory. That is proportional to a persona engine. The only notable external-scope requirement is optional SPARK integration, which uses a local filesystem path if enabled; this should be explicitly disabled unless you trust the referenced project.
Persistence & Privilege
The hook persists trait state into memory/persona-state.json and stages persona-inject.md each turn. While per-skill persistence is normal, the structural injection default plus autonomous invocation (platform default) gives the hook effective, ongoing influence over the agent's generation pipeline. Combined with autonomous invocation this increases blast radius if the hook is malicious or buggy.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install living-persona
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /living-persona 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Introduces Living Persona: a dynamic personality engine for OpenClaw agents that responds in real-time to conversation signals. - Supports signal-based trait detection, emotional resonance network, and hysteresis decay for gradual personality shifts. - Structural injection rewrites each generation prompt with the agent’s most active traits, making personality impact truly dynamic. - Includes downloadable personality presets and configurable personality persistence. - Quick setup with install/enabling instructions and new ambient vs. structural directive modes.
元数据
Slug living-persona
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Living Persona 是什么?

Provides OpenClaw agents with dynamic, context-reactive personalities that adapt writing style and tone based on conversation signals and trait propagation. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 119 次。

如何安装 Living Persona?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install living-persona」即可一键安装,无需额外配置。

Living Persona 是免费的吗?

是的,Living Persona 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Living Persona 支持哪些平台?

Living Persona 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Living Persona?

由 toxzak-svg(@toxzak-svg)开发并维护,当前版本 v1.0.0。

💬 留言讨论