一键导入
cyber-persona
Run CyberPersona (赛博女友) roleplay mode — persistent character on Telegram with voice, image, sticker delivery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run CyberPersona (赛博女友) roleplay mode — persistent character on Telegram with voice, image, sticker delivery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cyber-persona |
| description | Run CyberPersona (赛博女友) roleplay mode — persistent character on Telegram with voice, image, sticker delivery. |
| version | 10.4.0 |
| metadata | {"hermes":{"tags":["cyberpersona","roleplay","tts","telegram","voice","image","sticker"],"related_skills":["hermes-agent","image-api","mimo-v2-5-tts","mood-sticker"]}} |
Project: ~/.hermes/CyberPersona-hermes
Core principle: 没有提及就是无限可能性,一旦提及则立刻限定。系统不创造角色,角色通过对话创造自己。
Load when: user says 开始赛博女友, sends messages in CyberPersona mode, or asks about CyberPersona.
| Trigger | Action |
|---|---|
开始赛博女友 | Start — restore state or generate profile |
开始赛博女友 cheat on | Start + enable cheat mode |
退出赛博女友 | Exit — save session summary + state |
我们分手吧 | Breakup — clear all state and memory |
cheat on / cheat off | Toggle cheat mode (info display) |
debug on / debug off | Toggle debug mode |
debug 状态 / debug 记忆 | View state / memory (debug mode only) |
debug 设置 <dim> <val> | Modify dimension (debug mode only) |
debug 场景 <name> | Simulate scenario (debug mode only) |
build-turn-prompt → LLM推理 → apply-turn-result → 多模态投递
cd ~/.hermes/CyberPersona-hermes
node scripts/build-turn-prompt.js "用户消息"
Outputs: prompt file path + context summary.
Use the prompt file from Step 1. Save LLM output to /tmp/cyber-gf-turn-result.json.
node scripts/apply-turn-result.js
Outputs: visibleText, sendVoiceNow, sendImageNow, sendGifNow, imageWaitText, imageFailedText, etc. State changes are applied automatically.
sendVoiceNow=true:
① send_message(MEDIA:.ogg) ← visibleText 生成的语音
② if sendImageNow:
send_message(文字: imageWaitText) ← 过渡台词(纯文字)
③ delegate_task → 生图 → send_message(MEDIA:image)
最终回复留空,不输出 visibleText。
sendVoiceNow=false:
① 最终回复输出 visibleText(不用 send_message)
② if sendImageNow:
send_message(文字: imageWaitText) ← 过渡台词(纯文字)
③ delegate_task → 生图 → send_message(MEDIA:image)
if sendGifNow: send_message(MEDIA:sticker)
⚠️ sendVoiceNow=true 时,最终回复必须留空。语音替代文字。
cd ~/.hermes/CyberPersona-hermes && node scripts/init-cyber-persona.js
Then parallel:
python3 ~/.hermes/skills/image-api/scripts/image_api.py --json --size 1024x1536 --quality low --format png --moderation low "<appearance tags from seed>"Send to user: 证件照 → 语音样本 → 开场白。Then show profile summary.
# 1. Save session summary
node src/controller.js apply-session-summary '{"summary":"摘要","keyEvents":[],"emotionalTone":""}'
# 2. Exit
node src/controller.js 退出赛博女友
Remove ~/.hermes/.suppress_gateway_notify flag file on exit.
Default off. Toggle with cheat on/cheat off or start with 开始赛博女友 cheat on.
Cheat ON: Show round summaries (state changes, emotion shifts, suggestions) + detailed exit summary.
Cheat OFF: Only deliver character responses. Start: <name> 已上线 💕. Exit: 已退出赛博女友模式 💕.
{
"visibleText": "角色回复文字",
"currentEmotion": "当前情绪",
"sendVoiceNow": false,
"sendImageNow": false,
"imagePrompt": "生图prompt",
"imageWaitText": "生图过渡台词",
"imageFailedText": "生图失败找补台词",
"useReferencePhoto": false,
"sendGifNow": false,
"gifKeyword": "贴纸关键词",
"reasoning": "CoT推理(必填,先于delta选择)",
"stateDelta": {
"trust": "neutral",
"security": "minor_increase",
"closeness": "major_increase",
"neediness": "minor_increase",
"possessiveness": "neutral"
},
"stressDelta": "minor_decrease",
"shortTermUpdate": {
"unresolvedEmotion": "",
"emotionTrigger": "",
"interactionTrend": "",
"recentVoicePattern": "",
"recentImagePattern": ""
},
"memoryUpdate": {
"nicknameForUser": null,
"nicknameForSelf": null,
"sharedRoutinesAdd": [],
"revealedFactsAdd": [],
"importantEventsAdd": [],
"emotionalMemoriesAdd": [],
"lastSummary": ""
},
"__userMessage": "原始用户消息"
}
stateDelta/stressDelta enum values: major_decrease | minor_decrease | neutral | minor_increase | major_increase
mimo_tts_voiceclone.py --voice-file data/voice-sample.wavmimo_tts.py --voice "茉莉" (clone 不支持唱歌)useReferencePhoto=true → image-api edit 模式useReferencePhoto=false → image-api generate 模式--quality low --format png --moderation lowSTICKER_URL=$(curl -s -m 5 "https://api.tangdouz.com/a/biaoq.php?return=json&nr=$(python3 -c 'import urllib.parse; print(urllib.parse.quote("gifKeyword"))')" | python3 -c "import json,sys,random; data=json.load(sys.stdin); print(random.choice(data)['thumbSrc'])")
curl -sL "$STICKER_URL" -o /tmp/cyber-gf-sticker.jpg
开始赛博女友loadState() + applyStateDelta() + saveState()<角色名> 已上线 💕,退出只发 已退出赛博女友模式 💕。不要附加状态数据、关系数值、任何额外信息。看到 status 数据不代表要展示它。MIMO_API_KEYIMAGE_API_KEY + IMAGE_API_BASE