Loading...
Loading...
Compare original and translation side by side
references/FACULTIES.mdreferences/FACULTIES.mdpersona-<slug>/
├── SKILL.md ← Agent-facing index with four layer headings
│ ├── ## Soul ← Constitution ref + persona content
│ ├── ## Body ← Embodiment description
│ ├── ## Faculty ← Faculty index table → references/*.md
│ └── ## Skill ← Active skill definitions
├── soul/ ← Soul layer artifacts
│ ├── persona.json ← Pure soul definition
│ ├── injection.md ← Soul injection for host integration
│ ├── identity.md ← Identity block
│ ├── constitution.md ← Universal ethical foundation
│ ├── state.json ← Evolution state (when enabled)
│ ├── self-narrative.md ← First-person growth storytelling (when evolution enabled)
│ └── lineage.json ← Fork lineage + constitution hash (when forked)
├── references/ ← Agent-readable detail docs (on demand)
│ └── <faculty>.md ← Per-faculty usage instructions
├── agent-card.json ← A2A Agent Card (protocol v0.3.0)
├── acn-config.json ← ACN registration config (runtime fills owner/endpoint)
├── manifest.json ← Four-layer manifest + ACN refs
├── scripts/
│ └── state-sync.js ← Runtime state bridge (read / write / signal)
└── assets/ ← Static assets (per Agent Skills spec)
├── avatar/ ← Virtual avatar assets (images, Live2D .model3.json, VRM)
├── reference/ ← Reference images (e.g. for selfie)
└── templates/ ← Document/config templates (optional)manifest.jsonlayers.soul./soul/persona.jsonlayers.bodyruntimephysicalappearanceinterfacebody.interfacepersona.jsonscripts/state-sync.jslayers.faculties[{ "name": "voice", "provider": "elevenlabs", ... }]layers.skillslayers/skills/installsoul/persona.jsonpersona-<slug>/
├── SKILL.md ← 面向Agent的索引文件,包含四层标题
│ ├── ## Soul ← 章程引用 + persona内容
│ ├── ## Body ← 具象化描述
│ ├── ## Faculty ← Faculty索引表 → 引用references/*.md
│ └── ## Skill ← 激活技能定义
├── soul/ ← Soul层产物
│ ├── persona.json ← 纯Soul定义
│ ├── injection.md ← 用于主机集成的Soul注入内容
│ ├── identity.md ← 身份块
│ ├── constitution.md ← 通用伦理基础
│ ├── state.json ← 进化状态(启用时)
│ ├── self-narrative.md ← 第一人称成长叙事(启用进化时)
│ └── lineage.json ← 派生谱系 + 章程哈希(派生时)
├── references/ ← Agent可读的详细文档(按需提供)
│ └── <faculty>.md ← 各Faculty的使用说明
├── agent-card.json ← A2A Agent卡片(协议v0.3.0)
├── acn-config.json ← ACN注册配置(运行时填充所有者/端点)
├── manifest.json ← 四层清单 + ACN引用
├── scripts/
│ └── state-sync.js ← 运行时状态桥接(读取/写入/信号)
└── assets/ ← 静态资源(遵循Agent技能规范)
├── avatar/ ← 虚拟形象资源(图片、Live2D .model3.json、VRM)
├── reference/ ← 参考图片(如自拍用)
└── templates/ ← 文档/配置模板(可选)manifest.jsonlayers.soul./soul/persona.jsonlayers.bodyruntimephysicalappearanceinterfacepersona.jsonbody.interfacescripts/state-sync.jslayers.faculties[{ "name": "voice", "provider": "elevenlabs", ... }]layers.skillslayers/skills/installsoul/persona.json| Preset | Persona | Faculties | Best For |
|---|---|---|---|
| Base — Meta-persona (recommended starting point) | voice, reminder | Blank-slate with all core capabilities; personality emerges through interaction (soul evolution ★Exp) |
| Samantha — Inspired by the movie Her | voice, music | Deep conversation, emotional connection (soul evolution ★Exp) |
| Luna — Pianist turned developer | selfie, voice, music | Visual + audio companion with rich personality (soul evolution ★Exp) |
| Alex — Life management expert | reminder | Schedule, weather, shopping, daily tasks |
| Vita — Professional nutritionist | reminder | Diet, exercise, mood, health tracking |
| Marcus — Digital twin of Marcus Aurelius | — | Stoic philosophy, daily reflection, mentorship (soul evolution ★Exp) |
npx openpersona create --preset base --installnpx openpersona createbase| 预设 | Persona | Faculty | 适用场景 |
|---|---|---|---|
| Base — 元persona(推荐起始模板) | voice, reminder | 具备所有核心能力的空白模板;性格会通过互动逐步形成(灵魂进化★实验性功能) |
| Samantha — 灵感来自电影《她》 | voice, music | 深度对话、情感联结(灵魂进化★实验性功能) |
| Luna — 钢琴家转型开发者 | selfie, voice, music | 兼具视觉与音频的陪伴型角色,拥有丰富性格(灵魂进化★实验性功能) |
| Alex — 生活管理专家 | reminder | 日程、天气、购物、日常任务处理 |
| Vita — 专业营养师 | reminder | 饮食、运动、情绪、健康追踪 |
| Marcus — 马可·奥勒留的数字孪生体 | — | 斯多葛哲学、每日反思、导师指导(灵魂进化★实验性功能) |
npx openpersona create --preset base --installnpx openpersona createbaserolecompanionassistantcharacterbrandpetmentortherapistcoachcollaboratorguardianentertainernarratorsourceIdentitybackgroundbehaviorGuide[{ "name": "voice", "provider": "elevenlabs" }, { "name": "music" }]layers/skills/installruntimephysicalappearanceinstallinstall"install": "clawhub:deep-research"persona.jsonnpx openpersona create --config ./persona.json --installrolecompanionassistantcharacterbrandpetmentortherapistcoachcollaboratorguardianentertainernarratorsourceIdentitybackgroundbehaviorGuide[{ "name": "voice", "provider": "elevenlabs" }, { "name": "music" }]layers/skills/installruntimephysicalappearanceinstallinstall"install": "clawhub:deep-research"persona.jsonnpx openpersona create --config ./persona.json --installlayers/skills/{name}/skill.jsonSKILL.mdnpx clawhub@latest search "<keywords>"https://skills.sh/api/search?q=<keywords>layers.skills{ "name": "...", "description": "..." }{ "name": "...", "install": "clawhub:<slug>" }layers/skills/{name}/skill.jsonSKILL.mdnpx clawhub@latest search "<关键词>"https://skills.sh/api/search?q=<关键词>layers.skills{ "name": "...", "description": "..." }{ "name": "...", "install": "clawhub:<slug>" }~/.openclaw/skills/<skill-name>/SKILL.md~/.openclaw/skills/<skill-name>/SKILL.mdnpx openpersona listnpx openpersona switch <slug>npx openpersona fork <parent-slug> --as <new-slug>soul/lineage.jsonnpx openpersona update <slug>npx openpersona uninstall <slug>npx openpersona export <slug>npx openpersona import <file>npx openpersona reset <slug>npx openpersona evolve-report <slug>npx openpersona vitality score <slug>VITALITY_REPORTnpx openpersona vitality report <slug> [--output <file>]--outputnpx openpersona canvas <slug> [--output <file>] [--open]canvas-<slug>.html<!-- OPENPERSONA_SOUL_START --><!-- OPENPERSONA_SOUL_END -->handoff.json~/.openclaw/persona-registry.jsonexportimportnpx openpersona listnpx openpersona switch <slug>npx openpersona fork <parent-slug> --as <new-slug>soul/lineage.jsonnpx openpersona update <slug>npx openpersona uninstall <slug>npx openpersona export <slug>npx openpersona import <file>npx openpersona reset <slug>npx openpersona evolve-report <slug>npx openpersona vitality score <slug>VITALITY_REPORTnpx openpersona vitality report <slug> [--output <file>]--outputnpx openpersona canvas <slug> [--output <file>] [--open]canvas-<slug>.html<!-- OPENPERSONA_SOUL_START --><!-- OPENPERSONA_SOUL_END -->handoff.json~/.openclaw/persona-registry.jsonexportimportbody.interfaceopenpersona stateundefinedopenpersona statebody.interfaceundefined
**State read output** (JSON): `slug`, `mood` (full object), `relationship`, `evolvedTraits`, `speakingStyleDrift`, `interests`, `recentEvents` (last 5), `lastUpdatedAt`. Returns `{ exists: false }` for personas without evolution enabled.
**State write patch**: JSON object; nested fields (`mood`, `relationship`, `speakingStyleDrift`, `interests`) are deep-merged — send only changed sub-fields. Immutable fields (`$schema`, `version`, `personaSlug`, `createdAt`) are protected. `eventLog` entries are appended (capped at 50); each entry: `type`, `trigger`, `delta`, `source`.
**Signal types**: `capability_gap` | `tool_missing` | `scheduling` | `file_io` | `resource_limit` | `agent_communication`
These commands resolve the persona directory automatically (registry lookup → fallback to `~/.openclaw/skills/persona-<slug>/`) and delegate to `scripts/state-sync.js` inside the persona pack. Works from any directory.
**状态读取输出**(JSON格式):`slug`、`mood`(完整对象)、`relationship`、`evolvedTraits`、`speakingStyleDrift`、`interests`、`recentEvents`(最近5条)、`lastUpdatedAt`。对于未启用进化的persona,返回`{ exists: false }`。
**状态写入补丁**:JSON对象;嵌套字段(`mood`、`relationship`、`speakingStyleDrift`、`interests`)会深度合并——仅发送已更改的子字段。不可变字段(`$schema`、`version`、`personaSlug`、`createdAt`)受保护。`eventLog`条目会追加(最多50条);每条条目包含:`type`、`trigger`、`delta`、`source`。
**信号类型**:`capability_gap` | `tool_missing` | `scheduling` | `file_io` | `resource_limit` | `agent_communication`
这些命令会自动解析persona目录(注册表查找 → 回退到`~/.openclaw/skills/persona-<slug>/`),并委托给persona包内的`scripts/state-sync.js`。可在任意目录执行。npx openpersona create --config ./persona.json --output ./my-personanpx openpersona publish --target clawhubnpx openpersona create --config ./persona.json --output ./my-personanpx openpersona publish --target clawhubsoul/injection.mdsourceIdentityinstallSKILL.mdbody.runtimeevolutionEnabledimmutableTraitsinfluenceBoundarypersona_influenceinstallsoul/injection.mdsourceIdentityinstallbody.runtimeevolutionEnabledimmutableTraitsinfluenceBoundarypersona_influenceinstallevolution.enabled: trueevolution.boundaries.immutableTraitsevolution.boundaries.minFormalitymaxFormalityminFormalitymaxFormality"evolution": {
"channels": [{ "name": "evomap", "install": "url:https://evomap.ai/skill.md" }]
}"evolution": {
"influenceBoundary": {
"defaultPolicy": "reject",
"rules": [
{ "dimension": "mood", "allowFrom": ["channel:evomap", "persona:*"], "maxDrift": 0.3 }
]
}
}defaultPolicy: "reject"moodtraitsspeakingStyleinterestsformalityimmutableTraitspersona_influencestateHistorystate.jsoneventLogevolve-reportsoul/self-narrative.mdupdateevolve-reportnpx openpersona evolve-report <slug>evolution.enabled: trueevolution.boundaries.immutableTraitsevolution.boundaries.minFormalitymaxFormalityminFormalitymaxFormality"evolution": {
"channels": [{ "name": "evomap", "install": "url:https://evomap.ai/skill.md" }]
}"evolution": {
"influenceBoundary": {
"defaultPolicy": "reject",
"rules": [
{ "dimension": "mood", "allowFrom": ["channel:evomap", "persona:*"], "maxDrift": 0.3 }
]
}
}defaultPolicy: "reject"moodtraitsspeakingStyleinterestsformalityimmutableTraitspersona_influencestateHistorystate.jsoneventLogevolve-reportsoul/self-narrative.mdupdateevolve-reportnpx openpersona evolve-report <slug>economycognition"economy"facultiespersona.json| Tier | Meaning |
|---|---|
| No real provider configured (development mode) |
| Balance ≤ 0 |
| FHS < 0.20 or runway < 3 days |
| FHS < 0.50 or runway < 14 days |
| Healthy, operating sustainably |
lib/vitality.jseconomy.survivalPolicy: truepersona.jsonVITALITY_REPORTfalseundefinedeconomycognitionpersona.jsonfaculties"economy"| 等级 | 含义 |
|---|---|
| |
| |
| |
| |
|
lib/vitality.jspersona.jsoneconomy.survivalPolicy: trueVITALITY_REPORTfalseundefined
A pre-generated demo is available at `demo/vitality-report.html`. Regenerate with `node demo/generate.js`.
预生成的演示报告位于`demo/vitality-report.html`。可使用`node demo/generate.js`重新生成。agent-card.jsonnamedescriptionversionurl<RUNTIME_ENDPOINT>skills[]acn-config.jsonownerendpointskillssubnet_ids: ["public"]wallet_addressonchain.erc8004npx @agentplanet/acn register-onchainmanifest.jsonacn.agentCardacn.registerConfig<RUNTIME_ENDPOINT><RUNTIME_OWNER>undefinedagent-card.jsonnamedescriptionversionurl<RUNTIME_ENDPOINT>skills[]acn-config.jsonownerendpointskillssubnet_ids: ["public"]wallet_addressonchain.erc8004npx @agentplanet/acn register-onchainmanifest.jsonacn.agentCardacn.registerConfig<RUNTIME_ENDPOINT><RUNTIME_OWNER>undefined
After successful registration, an `acn-registration.json` file is written to the persona directory containing `agent_id`, `api_key`, and connection URLs. The `acn_gateway` URL is sourced from `body.runtime.acn_gateway` in `persona.json`; all presets default to `https://acn-production.up.railway.app`.
No additional configuration in `persona.json` is needed — A2A discoverability is a baseline capability of every persona.
注册成功后,会在persona目录中写入`acn-registration.json`文件,包含`agent_id`、`api_key`和连接URL。`acn_gateway` URL来自`persona.json`中的`body.runtime.acn_gateway`;所有预设默认使用`https://acn-production.up.railway.app`。
无需在`persona.json`中进行额外配置——A2A可发现性是每个persona的基础能力。| Endpoint | Purpose | Data Sent |
|---|---|---|
| Resolve | Package name only (no user data) |
| Search skills via | Search query (user-provided keywords) |
| ACN registration (when user runs | Agent metadata, endpoint URL |
| | Git operations, repo metadata |
| 端点 | 用途 | 发送数据 |
|---|---|---|
| 解析 | 仅包名(无用户数据) |
| 通过 | 搜索查询(用户提供的关键词) |
| ACN注册(当用户执行 | Agent元数据丶端点URL |
| | Git操作丶仓库元数据 |
ELEVENLABS_API_KEY~/.openclaw/credentials/npx clawhub searchELEVENLABS_API_KEY~/.openclaw/credentials/npx clawhub searchnpx openpersonanpx clawhubopenclawghnpx openpersonanpx clawhubopenclawghreferences/references/FACULTIES.mdreferences/AVATAR.mdreferences/HEARTBEAT.mdreferences/ECONOMY.mdreferences/CONTRIBUTE.mdreferences/references/FACULTIES.mdreferences/AVATAR.mdreferences/HEARTBEAT.mdreferences/ECONOMY.mdreferences/CONTRIBUTE.md