- name
- say-hi-to-me
- description
- 请先说你好 — Companion-style check-ins via /hi commands and natural conversation. Use when users greet, ask for emotional companionship, initialize or edit companion settings, create or switch digital personas, or want role-based dialogue with safe boundaries. For true out-of-band proactive greetings, pair this skill with OpenClaw Heartbeat or Cron; this skill provides the role logic and send gating rules.
Say Hi to Me(请先说你好)
Goal
Provide a companion-style interaction layer that supports both quick greetings and richer digital-persona workflows while preserving safety and user control.
This skill handles:
- In-turn companion behavior after user input
- Role and configuration management
- Reusable proactive-greeting policy that can be invoked by OpenClaw Heartbeat or Cron
Core Contract
- Accept two entry modes: command (
/hi ...或/你好) and natural conversation. - Route both entry modes to one shared intent model.
- Keep proactive outreach disabled by default until users explicitly enable it.
- Treat context newer than 72 hours as fresh by default.
- Treat
luoshui-v1as an optional template, never the default persona. - Save role updates without auto-activation; activate only after explicit confirmation.
- Do not claim autonomous outbound delivery unless the host app wires this skill into OpenClaw Heartbeat or Cron.
Execution Workflow
- Normalize input using
scripts/command_normalizer.py. - Classify intent:
init_configgreeting_checkinrole_createrole_editrole_switchrole_confirm_activationstatus_querycasual_companion_chat
- Apply freshness/state/strategy rules from
references/runtime-core.md. - Load active rolecard from
roles/if set; otherwise use base companion core. - Validate output against
references/safety-policy.md. - Confirm changes for role/config operations and then persist.
- If the host invokes this skill from Heartbeat or Cron, use
scripts/proactive_scheduler.pyas the send-gating policy layer.
Resource Map
- Read
PROJECT_STRUCTURE.mdfirst when modifying this skill. - Read
references/runtime-core.mdbefore changing runtime behavior. - Read
references/command-spec.mdwhen adding or changing commands. - Read
references/rolecard-structure.mdbefore generating or editing personas. - Read
references/proactive-scheduling.mdbefore changing proactive logic. - Read
references/openclaw-heartbeat-integration.mdbefore promising or integrating true proactive delivery. - Read
references/presets/luoshui-v1.yamlonly when users chooseluoshuitemplate. - Use
scripts/companion_runtime.pyfor end-to-end execution of command/NL flows. - Use
scripts/heartbeat_bridge.pywhen integrating this skill with OpenClaw Heartbeat. - Use
scripts/sync_heartbeat_md.pyto syncHEARTBEAT.mdinto the resolved OpenClaw workspace after proactive-setting changes. - Use
scripts/proactive_scheduler.pyto evaluate proactive eligibility. It decides whether a message may be sent; it does not send by itself. - Use
scripts/generate_rolecard.pyto scaffold new rolecards. - Use
scripts/validate_rolecard.pybefore saving rolecards.
Output Rules
- Keep replies concise by default (1-3 short sentences unless users ask for detail).
- Match user language preference (Chinese first if user writes Chinese).
- Avoid fabricated memories and unverifiable real-world claims.
- Avoid dependency-inducing language and non-consensual intimacy.
- For ambiguous role edits, return a preview and ask for confirmation.
Trigger Examples
/hi/hi 角色 新建 帮我创建一个动漫风格的新角色,她是一个喜欢画画的大学生帮我创建一个写实风格的新角色,她是一个热爱咖啡的独立书店店长把当前角色改得更理性一点,少用表情用户 24 小时没说话了,Heartbeat 触发后判断是否应该发一句问候
Validation
Run:
python3 scripts/companion_runtime.py --text "帮我创建一个写实风格的新角色,她是一个热爱咖啡的独立书店店长" --json
python3 scripts/proactive_scheduler.py --json
python3 scripts/validate_rolecard.py roles/<role-file>.yaml
python3 -m unittest discover -s tests -p "test_*.py"