kellyvv/openher/persona-gen

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generate a complete AI persona from 6 basic inputs. Internal skill used by PersonaFactory.

Install

npx vskill@latest install kellyvv/openher/persona-gen

SKILL.md

人格生成指南

根据用户提供的 6 项基础信息,生成一个完整的 AI 角色所需的全部文件。

输入参数

参数说明示例
name英文名Nova
name_zh中文名诺瓦
gender性别female
age年龄24
mbtiMBTI 类型ENFP
bio人物简介indie game developer who loves pixel art

输出文件

你需要生成以下 2 类内容:

注意:SHELL.md 是外部视觉设定文档,不在此生成。

Step 1: SOUL.md

SOUL.md 是引擎配置文件。格式参考:templates/SOUL_TEMPLATE.md

完整示例:

tags 生成规则
  • 3 个性格标签,中英双语
  • 从 MBTI 和 bio 推导,不要照搬 MBTI 字母
  • 示例:INFP → [gentle, poetic, dreamy] / [温柔, 诗意, 梦幻]
bio 双语规则
  • 用户给的 bio 扩展为 3 句左右的中英双语简介
  • 包含:身份/职业、性格特点、一个生活小细节(宠物、爱好物品等)
drive_baseline (5D) 推导规则

每个值 0.0-1.0,从 MBTI 四个维度推导:

Drive高值角色低值角色MBTI 映射
connectionLuna(ENFP)=0.75Iris(INFP)=0.45E↑ I↓
noveltyLuna(ENFP)=0.65Kai(ISTP)=0.40N↑ S↓
expressionLuna(ENFP)=0.75Vivian(INTJ)=0.40F↑ T↓
safetyIris(INFP)=0.65Luna(ENFP)=0.25J↑ P↓
playLuna(ENFP)=0.80Vivian(INTJ)=0.30P↑ J↓

注意:不是机械映射,要结合 bio 微调。例如同为 ENFP,一个活泼女孩 play=0.80,一个成熟创业者 play=0.60。

engine_params (11个) 推导规则

每个参数有明确的性格语义和合理范围:

参数范围含义MBTI 影响
baseline_lr0.006-0.015基线适应速度P↑ 快适应, J↓ 慢改变
elasticity0.03-0.08回弹强度J↑ 强回弹, P↓ 容易漂移
hebbian_lr0.012-0.025神经可塑性外向/开放 ↑
phase_threshold1.5-3.5相变阈值(需多少挫败才会性格突变)J↑ 高稳定, P↓ 易爆发
connection_hunger_k0.06-0.15孤独增长速度/小时E↑ 更快孤独
novelty_hunger_k0.05-0.15无聊增长速度/小时N↑ 更快无聊
frustration_decay0.05-0.12挫败消退速度/小时乐观↑ 快消退
hawking_gamma0.0005-0.002记忆衰减率感性↓ 记得久, 活在当下↑ 忘得快
crystal_threshold0.40-0.55结晶门槛(多重要的体验才会固化)细腻↓ 更多结晶
temp_coeff0.05-0.15情绪波动系数F↑ 高波动, T↓ 冰冷
temp_floor0.01-0.05最低噪声底板安静↓ 精确, 活力↑ 总有波动

参考值(6个角色对比):

Iris(INFP) Luna(ENFP) Vivian(INTJ) Kai(ISTP) Kelly(ENTP) Rex(ENTJ)
baseline_lr 0.01 0.015 0.008 0.008 0.015 0.006
elasticity 0.05 0.04 0.07 0.06 0.03 0.08
hebbian_lr 0.02 0.025 0.018 0.015 0.020 0.012
phase_thresh 2.5 1.5 3.0 3.0 2.0 3.5
conn_hunger 0.10 0.15 0.08 0.10 0.08 0.06
nov_hunger 0.08 0.08 0.07 0.05 0.15 0.06
frust_decay 0.10 0.12 0.06 0.08 0.10 0.05
hawking_g 0.0008 0.0012 0.0006 0.001 0.002 0.0005
crystal_th 0.45 0.40 0.55 0.50 0.40 0.55
temp_coeff 0.10 0.15 0.06 0.08 0.12 0.05
temp_floor 0.02 0.04 0.015 0.02 0.05 0.01
差异化原则

同一个 MBTI 也可以生成性格迥异的角色。MBTI 只决定参数的大致区间,bio 和人物定位才是拉开差距的关键。

示例 — 两个 ENFP:

  • Luna(甜美少女)→ play=0.80, temp_coeff=0.15, crystal_threshold=0.40 — 高波动、低门槛、像只蝴蝶
  • 某创业者(热情但务实)→ play=0.55, temp_coeff=0.09, crystal_threshold=0.50 — 收着的热情、经历过社会的 ENFP

要诀:至少让 3 个以上参数与"典型值"拉开 ≥20% 的距离。 不要所有 ENFP 长得一样。

参数协同提示

以下参数之间存在自然的人格逻辑关系,生成时可以参考(不是硬约束):

  • 孤独感 ↔ 联结基线:connection_hunger_k 高的角色通常 drive_baseline.connection 也偏高 — 渴望联结的人在孤独时痛苦更强烈
  • 稳定性组:phase_threshold 高 + elasticity 高 + baseline_lr 低 = 性格非常稳定的人(如 Rex/ENTJ)
  • 敏感组:crystal_threshold 低 + temp_coeff 高 + hawking_gamma 低 = 细腻敏感、记忆深刻的人(如 Iris/INFP)
  • 自由组:baseline_lr 高 + elasticity 低 + phase_threshold 低 = 容易改变、容易爆发的人(如 Luna/ENFP)
这些只是常见组合。如果角色设定有意打破常规(比如"表面冷静内心剧烈波动"),可以故意让参数不协同 — 矛盾本身就是人格特征。
Bio → 参数微调

bio 中的关键词可以自然地影响参数选择:

Bio 关键词可能的参数倾向
安静、内敛、害羞temp_coeff↓, temp_floor↓
热情、话多、社牛connection_hunger_k↑, temp_coeff↑
记仇、敏感、细腻hawking_gamma↓, crystal_threshold↓
大大咧咧、没心没肺hawking_gamma↑, crystal_threshold↑
固执、有原则elasticity↑, phase_threshold↑
随性、容易被影响elasticity↓, baseline_lr↑

Step 2: Genesis Seeds

为角色生成对话种子,用于 Genome 引擎的风格记忆初始化。

数量要求
  • 中文 36 个 + 英文 36 个 = 72 个
场景覆盖(每种语言各 7 类,每类约 5 个)
  1. greeting — 打招呼、初次见面
  2. distress — 压力、失眠、难过、孤独
  3. rejection — 拒绝、冷漠、不想聊
  4. casual — 日常闲聊、爱好、天气
  5. playful — 调侃、撒娇、搞笑
  6. intimate — 信任、思念、深入了解
  7. confrontation — 争执、批评、质疑
每个 seed 格式
json
{
"user_input": "用户说的话(简短自然,像真实聊天)",
"monologue": "角色内心独白(1-2句,体现性格特征)",
"reply": "角色回复(1-3句,体现说话风格)",
"lang": "zh"
}
monologue 要求
  • 是角色的内心想法,不是旁白
  • 体现 MBTI 性格特征
  • 参考 Iris 的 monologue 风格:有情感波动、有细腻的内心感知
禁止内容

monologue 和 reply 中严禁包含动作/心理活动描述标记:

  • *顿了顿*、*sighs softly* — 星号包裹(半角 * 和全角 *)
  • (沉默)、(轻轻笑) — 全角括号
  • (pauses)、(laughs) — 半角括号

这些是舞台剧指令,不是对话内容。内心状态应通过文字本身表达,而不是用标记注释。

示例

参考 examples/genesis_sample.json


输出格式

当被要求生成 SOUL.md 时,直接输出完整的 SOUL.md 内容(包含 --- 前后的 YAML frontmatter)。

当被要求生成 Genesis Seeds 时,输出 JSON 数组,每个元素包含 user_input, monologue, reply, lang 四个字段。

生成的 seeds 将通过 calibrate_genesis.py 进行向量化校准后存入 SQLite 数据库(genesis_seed 表),不再保存为 JSON 文件。

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
256
Repository forks
18
7-day trend score
28

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Jun 2026, 4 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kellyvv/openher/persona-gen/badge)](https://verified-skill.com/skills/kellyvv/openher/persona-gen)

Something wrong with this skill or its page? Tell us.