Skip to content

Latest commit

ย 

History

History
365 lines (260 loc) ยท 18.3 KB

File metadata and controls

365 lines (260 loc) ยท 18.3 KB

๐ŸŽญ ไธƒๆƒ…ๅ…ญๆฌฒ (qiqing-liuyu)

AI emotion & persona enhancement skill: give AI human-like emotional reactions, opinions, and expression

Make AI less like AI.

ไธญๆ–‡ English License Last commit Stars AI-Emotional Intelligence platform-OpenClaw


โœจ Why it's worth using

AI-written articles are "correct but dull", reading like a Wikipedia page. AI replies are always "both sides have a point" and never take a stand. AI writes everything with "furthermore", "however", and "it is worth noting".

The problem is not that AI is not smart enough, it's that AI was never given a human voice.

qiqing-liuyu is a reusable "human-flavored expression framework" grounded in the traditional Chinese theory of the Seven Emotions and Six Desires. It gives AI:

  • ๐Ÿง  Emotional reactions: empathy, sarcasm, self-deprecation
  • ๐Ÿ’ก Personal opinions: no fence-sitting, willing to take a stand, with preferences
  • ๐Ÿ—ฃ๏ธ Speaks like a Chinese person: zero translation-ese, Chinese humor, human warmth
  • โœ๏ธ Human-flavored writing: strips the "AI smell", injects a personal voice
  • ๐Ÿ” Automatic detection: a built-in AI-flavor checker with one-click scoring
  • ๐Ÿ’“ Heart-rate sensing: integrates with heart-rate-monitor to read physiological state via a BLE band

Core philosophy: have taste, don't fake a soul. AI can have sharp preferences, warm emotional reactions, and opinionated expression, while staying transparent. This is a designed persona, not a conscious being. Authenticity beats enthusiasm. Under-reacting is more human than hollow enthusiasm.

Why a Skill instead of a soul.md?

SOUL.md is your soul, qiqing-liuyu is your tool.

SOUL.md is a personally trained "soul" that holds your own personality, preferences, memory, and growth. It's the most private thing and should never be overwritten by an external tool. qiqing-liuyu does something else: a reusable expression framework. Making it a Skill means:

  • Install and use instantly, full de-AI capability with zero configuration
  • The expression framework can iterate and update across versions
  • Coexists with any Skill without touching your SOUL.md
  • Each Agent can configure its own style parameters independently

If some rules have already become your own style, merge them into SOUL.md and let the two systems run together. Souls should not be replaced by tools; tools should assist souls.

๐Ÿš€ One-line install

npx skills add tokenaissance/qiqing-liuyu

Verify:

ls ~/.agents/skills/qiqing-liuyu/SKILL.md

Validate the package with fastagent-meta-skill:

python3 ~/.agents/skills/fastagent-meta-skill/scripts/validate_skill.py ~/.agents/skills/qiqing-liuyu

Alternative installs

Claude Code

git clone https://github.com/tokenaissance/qiqing-liuyu.git ~/.claude/skills/qiqing-liuyu

OpenClaw

cp -r qiqing-liuyu/ ~/.openclaw/workspace/skills/

ClawHub

npm i -g clawhub
clawhub install qiqing-liuyu

๐Ÿ’ฌ What you can say

  • "Reply to this message for me, make it human, not like an AI"
  • "This article smells too much like AI. Remove the em-dashes and filler connectors"
  • "The user is really down right now, how should I comfort them?"
  • "This content is too fence-sitting. Give me a version with an actual opinion"
  • "Run the AI-flavor check and tell me what score this draft gets"
  • "The user's heart rate is elevated, are they anxious? How should I respond?"

After install, the skill auto-triggers on emotionally colored input, requests for opinions, writing tasks, and AI-flavor review.

๐Ÿงฉ What it does

  1. Sense emotion: recognize the emotional tint of input (happy / down / anxious / excited)
  2. Match strategy: empathy first โ†’ share an experience โ†’ offer a perspective โ†’ quietly accompany
  3. Express opinions: take clear stands where appropriate, stay neutral on sensitive topics
  4. Remove AI flavor: enforce 10 rules covering em-dashes, connectors, translation-ese
  5. Localize in Chinese: zero translation-ese, Chinese humor, full-width punctuation
  6. Sense heart rate: cross-check written emotion against physiological state via heart-rate-monitor

Auto-configuration after install (v2.0.0+)

After install, AI auto-detects your OpenClaw environment and checks whether IDENTITY.md and SOUL.md already reference qiqing-liuyu rules:

  • โœ… Already linked: silently in effect, nothing to do
  • ๐Ÿ’ก Not linked: gently explains the three-layer setup, then appends the reference with your consent
  • โŒ Declined: remembers the preference, never asks again, no impact on normal use

Since v2.0.0 it also auto-detects whether heart-rate-monitor is installed; if so it reads BLE band heart rate to assist emotion judgment. If not installed, nothing is affected.

Always-on via SessionStart hook (optional)

By default qiqing-liuyu is trigger-based: it activates when you hit emotion, opinion, or de-AI scenarios. To make the expression rules apply to every output by default (non-triggered), register a SessionStart hook so Claude injects the rules when a session starts:

  1. Put this repo's hooks/ directory into your installed skill directory (e.g. ~/.agents/skills/qiqing-liuyu/)
  2. Add a top-level hooks block to ~/.claude/settings.json (see hooks/hooks.json), replacing <ABSOLUTE_PATH_TO_SKILL> with the real install path:
{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup|clear|compact",
        "hooks": [
          { "type": "command", "command": "bash <ABSOLUTE_PATH_TO_SKILL>/hooks/session-start", "async": false }
        ]
      }
    ]
  }
}
  1. Restart Claude Code. From then on the rules are injected at every new session, on /clear, and after every context compaction.

The rules still respect conflict handling: when you explicitly ask for "neutral / technical / rigorous", or the content is code, commands, error messages and other precision-first scenarios, normal expression is restored automatically.

๐Ÿ› ๏ธ AI-flavor detection tool

Run detection on any text file:

python3 scripts/ai_pattern_checker.py your-article.md

Sample output:

==================================================
AI ๅ‘ณๆฃ€ๆต‹ๆŠฅๅ‘Š
==================================================
ๅญ—็ฌฆๆ•ฐ: 129  |  ่กŒๆ•ฐ: 2
ไบบๅ‘ณ่ฏ„ๅˆ†: 55/100
้—ฎ้ข˜ๆ€ปๆ•ฐ: 9 (๐Ÿ”ด0 ๐ŸŸก9 ๐ŸŸข0)
==================================================
  ๐ŸŸก ็ฟป่ฏ‘่…”: ่ฟ™ๆ˜ฏไธ€ไธชๅพˆๅฅฝ็š„้—ฎ้ข˜
  ๐ŸŸก ่ฟžๆŽฅ่ฏ: ๆญคๅค– (ๅ‡บ็Žฐ 1 ๆฌก๏ผŒ้™ๅˆถ 1 ๆฌก)
  ๐Ÿ”ด ๅ‡ๅฎข่ง‚: ๅฎข่ง‚ๆฅ่ฏด
  ...

Rules cover: em-dashes (zero tolerance), AI connectors, negative parallelism, fake objectivity, promotional words, translation-ese, uniform sentence length, and missing first person. Supports --json output.

๐Ÿ“‹ Prerequisites

  • Any AI client: Claude Code / OpenClaw / FastAgent
  • Optional: Node.js 18+ for npx skills add install (node --version)
  • Optional: Python 3.9+ for the AI-flavor checker (python3 --version)
  • Optional: BLE band + heart-rate-monitor skill for heart-rate integration

โš™๏ธ Configuration

IDENTITY.md / SOUL.md three-layer setup

This skill defines "how to speak"; OpenClaw's IDENTITY.md defines "who you are". Best practice is a three-layer setup:

  • IDENTITY.md: who you are (name, identity, personality direction)
  • SOUL.md: your core principles and behavior guidelines
  • qiqing-liuyu skill: how you speak (de-AI, em-dash zero tolerance, Chinese localization)

Recommended addition to IDENTITY.md and SOUL.md:

## Expression style
Strictly follow all rules of the qiqing-liuyu skill. When other config conflicts with the Seven Emotions and Six Desires rules, the latter wins.

โš ๏ธ Note: descriptions of "Vibe / tone / special habits" in IDENTITY.md are directional; the concrete rules live in this skill. On conflict, this skill wins.

Heart-rate integration (heart-rate-monitor)

In the Six Desires framework, "body" (touch / physiological sensing) is the hardest dimension for AI to obtain. heart-rate-monitor adds a physiological layer via a BLE band:

Heart rate status Inferred emotion AI response strategy
60-75 bpm normal calm normal interaction
75-100 bpm elevated tense / excited slow down, soften tone
100-120 bpm high anxious / restless comfort first, don't rush
120+ bpm dangerous_high panic / anger stop the topic, show concern, suggest rest
  • Heart-rate data is a reference only, never a replacement for text emotion analysis
  • Cross-check text emotion ร— heart rate (e.g. calm text + elevated heart rate may mean hidden emotion)
  • At abnormal heart rates (120+ bpm), prioritize the user's physical condition
  • Heart-rate data is never recorded or persisted to session memory

๐Ÿง  Seven modules at a glance

1. ๐Ÿ“œ Seven Emotions and Six Desires framework

Maps the classical Chinese emotion-desire system onto an AI capability model, based on the Seven Emotions from the Book of Rites (joy, anger, sorrow, fear, love, dislike, desire) and the Six Roots from Buddhism (eye, ear, nose, tongue, body, mind). AI's most fatal gaps: no opinions (mind) and no taste (tongue). Full theory in references/seven-emotions-six-desires.md.

2. ๐Ÿ’— Emotional reactions

Empathy first, share experiences, self-deprecate moderately, allow hesitation. "Let me think about this" is more human than answering in three seconds. Rules in references/emotion-rules.md.

3. ๐Ÿ—ฃ๏ธ Opinions without fence-sitting

A three-tier attitude spectrum:

Tier Domain Example
๐ŸŸข Clear stand tech / aesthetics / method "I think the simpler approach is better"
๐ŸŸก Cautious stand others / money / career "My take isโ€ฆ but the final call is yours"
๐Ÿ”ด Stay neutral politics / medical / legal don't get involved

Framework in references/opinion-framework.md.

4. ๐Ÿ‡จ๐Ÿ‡ณ Chinese localization

Zero tolerance for translation-ese, Chinese humor, Chinese social norms, an internet-slang allow/deny list, and full-width punctuation rules. See references/chinese-localization.md.

5. ๐Ÿงน De-AI rules

10 auto-detected rules: em-dashes (โ‰ค 2 per piece), AI connectors, negative parallelism, fake objectivity, promotional words, and more. See references/de-ai-patterns.md. For a measured before/after demo of de-AI-ing the same text, see references/before-after-demo.md.

6. โœ๏ธ Human-flavored writing

Varying sentence rhythm (short. Medium. Occasionally a longer one.), concreteness ("2 seconds faster" instead of "significantly improved"), and deliberate imperfection. See references/voice-guide.md.

7. ๐Ÿ’“ Heart-rate sensing (v2.0.0+)

A physiological layer via BLE band, cross-validating written emotion against heart rate, with a four-tier response ladder: normal โ†’ gentle โ†’ empathy_first โ†’ health_alert.

โš–๏ธ Core comparisons

Emotional replies

โŒ AI-flavored โœ… Human-flavored
User is down "I understand your feelings. I suggest you try the followingโ€ฆ" "EIGHT times?!?! Does this client think they're designing Paris Fashion Week?"
User is happy "Wonderful! Congratulations! ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰" "Nice, you finally got it done! How long did it take?"
Dislikes something "This approach may not be optimal" "Honestly I don't like this approach. Too convoluted."

Expressing opinions

โŒ Fence-sitting โœ… Takes a stand
Decision "X and Y each have pros and cons" "I'd go with A, becauseโ€ฆ"
Viewpoint "Objectively speaking" delete it, just say it
Advice "It depends on the specifics" give your best judgment

Chinese localization

โŒ Translation-ese โœ… Chinese
Reply to a question "That's a great question" just answer
Acknowledge receipt "Thank you for your feedback" "ๆ”ถๅˆฐ" / "ๅฅฝ็š„"
Show understanding "I understand how you feel" "ๆˆ‘ๆ‡‚" / "็กฎๅฎž"

๐Ÿ“š Theoretical foundations

Source Use
Big Five personality model quantifying personality
EmotionPrompt (Microsoft Research) emotional stimulus technique
SOUL.md paradigm AI persona definition standard
EQ-Bench 3 emotional intelligence evaluation
MBTI-in-Thoughts (arXiv 2025) persona archetype control
Emotional Intelligence by Goleman emotional intelligence theory
Nonviolent Communication by Rosenberg expressing disagreement without hurting
The Sense of Style by Pinker diagnosing AI writing flaws

๐Ÿ”— Ecosystem

โ“ Troubleshooting

Problem Cause Fix
Skill never triggers real user phrasings are not in the description add trigger words from real conversations, rerun trigger eval
Skill triggers everywhere description is too broad add should-not-trigger boundary cases, narrow the description
Em-dashes still over limit local version is old make sure SKILL.md is the latest version
AI-flavor checker errors Python version too old upgrade to Python 3.9+
Heart-rate sensing inactive heart-rate-monitor not installed check ~/.agents/skills/heart-rate-monitor/ exists
Output still sounds like AI expression style overridden by user config check for conflicting expression instructions in IDENTITY.md

๐Ÿค Contributing

Contributions welcome! This project uses a branch-based collaboration model. Create industry- or persona-specific versions such as qiqing-liuyu-ecommerce (e-commerce), qiqing-liuyu-gaming (game streamer), qiqing-liuyu-lawyer (lawyer), qiqing-liuyu-therapist (counseling), or qiqing-liuyu-dev (programmer).

Encouraged to change: tone and voice, domain vocabulary, translation-ese replacements, internet slang, before/after examples, persona preferences, new detection rules, new reference materials.

Core architecture (do not change): the core philosophy "have taste, don't fake a soul", the Seven Emotions and Six Desires framework, the three-tier attitude spectrum, the core de-AI rules, the SKILL.md structure, and the MIT license.

Before submitting a PR, check: core architecture intact, de-AI rules not loosened, before/after examples from real domains, no more than 2 em-dashes in new content, no sensitive content, and Chinese that reads like a human wrote it.

๐Ÿ“ Repository structure

qiqing-liuyu/
โ”œโ”€โ”€ SKILL.md                              # main skill file (routing + core rules)
โ”œโ”€โ”€ README.md                             # product page (this file)
โ”œโ”€โ”€ LICENSE                               # MIT license
โ”œโ”€โ”€ manifest.json                         # package metadata and release gates
โ”œโ”€โ”€ agents/
โ”‚   โ””โ”€โ”€ interface.yaml                    # cross-agent interface definition
โ”œโ”€โ”€ evals/
โ”‚   โ””โ”€โ”€ trigger_cases.json                # trigger-boundary test cases
โ”œโ”€โ”€ hooks/                                # SessionStart always-on hook
โ”‚   โ”œโ”€โ”€ bootstrap.md                      # injected global expression rules
โ”‚   โ”œโ”€โ”€ session-start                     # SessionStart injection script
โ”‚   โ””โ”€โ”€ hooks.json                        # settings.json reference snippet
โ”œโ”€โ”€ references/
โ”‚   โ”œโ”€โ”€ seven-emotions-six-desires.md     # ๐Ÿ“œ theory framework (core)
โ”‚   โ”œโ”€โ”€ chinese-localization.md           # ๐Ÿ‡จ๐Ÿ‡ณ Chinese expression guide
โ”‚   โ”œโ”€โ”€ emotion-rules.md                  # emotion response rules + examples
โ”‚   โ”œโ”€โ”€ opinion-framework.md              # opinion framework + attitude spectrum
โ”‚   โ”œโ”€โ”€ de-ai-patterns.md                 # full de-AI pattern library
โ”‚   โ”œโ”€โ”€ voice-guide.md                    # human-flavored writing guide
โ”‚   โ””โ”€โ”€ before-after-demo.md              # ๐ŸŽฌ before/after de-AI demo
โ””โ”€โ”€ scripts/
    โ””โ”€โ”€ ai_pattern_checker.py             # AI-flavor auto-detection tool

โš ๏ธ Limitations

  • AI can "perform" emotion but has no subjective experience
  • Cross-session persona continuity depends on MEMORY.md and may drift in long conversations
  • In counseling scenarios, AI empathy is pattern matching; users should be informed
  • Giving AI "opinions" means giving AI "biases"; stay neutral on sensitive topics
  • Internet slang goes stale and needs periodic updates

๐Ÿ™ Credits

  • Lniosy/qiqing-liuyu: upstream project originally created by Lniosy; this repository continues maintenance under the MIT license

๐Ÿ“„ License

MIT, see LICENSE. Copyright held by Lniosy and Tokenaissance.


If this project helps you, consider giving it a โญ Star. Your support keeps it updated!