← 返回 Skills 市场
kasanuowa

Cyber Girlfriend

作者 XieJiaQi · GitHub ↗ · v0.3.3 · MIT-0
cross-platform ⚠ suspicious
548
总下载
1
收藏
0
当前安装
8
版本数
在 OpenClaw 中安装
/install cyber-girlfriend
功能描述
Build or customize an owner-only proactive companion system with a cyber-girlfriend persona, configurable guardrails, lightweight relationship memory, and op...
使用说明 (SKILL.md)

Cyber Girlfriend

Use this skill when the user wants an agent to feel like a real companion instead of a reactive assistant.

This skill is for designing and wiring:

  • owner-only proactive messages
  • relationship-aware tone and pacing
  • configurable quiet hours, daily limits, and cooldowns
  • lightweight relationship memory and preference learning
  • optional topical share hooks such as X trending caches
  • runtime integration without hardcoding private IDs, secrets, or model choices

Current OpenClaw Architecture

On OpenClaw, treat the system as two layers:

  1. Live cron jobs own behavior delivery

    • Each scheduled task has its own real cron payload.
    • morning, afternoon, evening, night, heartbeat, and any custom labels are all valid examples, not fixed limits.
    • Those payloads can contain the full task prompt, search steps, generation instructions, and delivery behavior.
    • Do not duplicate full cron payloads in config.
  2. scripts/companion_ping.py owns state and context

    • pacing checks
    • quiet-hours / cooldown / daily-limit checks
    • lightweight relationship memory
    • style/content hint selection
    • hotspot cache consumption
    • recent-owner-message context extraction

Keep these responsibilities separate. Do not turn the state script back into a campaign/orchestration script.

What To Build

Produce these parts unless the user asks for a subset:

  1. A local config file with private/runtime-specific values externalized
  2. A companion behavior policy:
    • quiet hours
    • daily limit
    • cooldown
    • owner-only routing
  3. A lightweight state/context script
  4. Lightweight state:
    • last proactive time
    • last mode/style/content type
    • learned preference scores
    • relationship state inferred from owner replies
  5. Optional share-source cache:
    • X trending
    • RSS/blogs/channels
    • other user-approved sources
  6. Live cron jobs that call the state script and then perform per-mode behavior
    • Users may define any number of scheduled tasks, any task names, and any time slots.
    • The skill should guide them, not force a four-slot preset.

Hard Rules

  • Never hardcode secrets.
  • Keep proactive behavior owner-only unless the user explicitly wants broader scope.
  • Default to restraint. A believable companion is low-frequency and context-aware, not spammy.
  • Prefer strong tone control and natural delivery over long roleplay blocks.
  • On OpenClaw, treat live cron as the source of truth for scheduled prompts.
  • Keep runtime-specific values in local config or environment variables, not in published skill defaults.

First-Run Onboarding For OpenClaw

When a user wants to set this up from scratch on OpenClaw, do not jump straight into editing files and cron jobs blindly.

Use this order:

  1. Confirm the proactive delivery target from the user's local config (delivery.channel / delivery.owner_target / delivery.account).
  2. Ask whether they want the recommended starter profile or a custom schedule.
  3. If they do not have a strong opinion yet, default to the recommended starter profile:
    • morning
    • afternoon
    • evening
    • night
    • optional lightweight heartbeat
  4. Create or update the local config first.
  5. Then create the live cron jobs.
  6. Then run one dry test for one mode.
  7. Only after a successful user-visible delivery should the handler call --mark-sent.

For a detailed setup conversation, starter cron blueprint, copy-pasteable live cron templates, and profile decision flow, read:

Build Order

1. Define The Local Config Surface

Read references/configuration.md and create a local config from assets/cyber-girlfriend.config.example.json.

For new users, ask only the minimum configuration questions first:

  • Which delivery channel should proactive messages use?
  • What is the owner target/account on that channel?
  • Do they want the recommended four-slot starter schedule or a custom schedule?
  • What quiet hours, cooldown, and daily limit do they want?
  • Do they want a lightweight heartbeat check-in in addition to scheduled modes?

If the user asks for “something like the current polished setup”, use the starter cron blueprints from references/cron-blueprints.md. If they need something directly copy-pasteable for OpenClaw cron creation, use references/live-cron-templates.md instead of improvising from scratch.

At minimum, externalize:

  • owner routing info
  • quiet hours
  • pacing limits
  • session/state/cache paths
  • health-check commands
  • optional share-source settings

The local config's delivery block is the canonical target for proactive outbound messages. Do not implicitly post into the current UI/session just because a cron or heartbeat wakeup happened there.

2. Define The Behavior Model

Use these mode buckets as the recommended starter profile unless the user wants something custom:

  • morning
  • afternoon
  • evening
  • night

Also support heartbeat and user-defined custom modes.

Keep style/content selection lightweight and script-driven. The script should output hints; the live cron prompt can decide how to express them.

Important framing for agents reading this skill:

  • the four-slot profile is a starter recommendation, not a hardcoded product limit
  • users may define any number of modes, any labels, and any cron times
  • if the user asks for “something like yours”, the recommended starter profile is the correct default

3. Add Relationship Memory

Use lightweight heuristics, not opaque lore dumps.

Track:

  • reply delay after proactive messages
  • recent owner reply snippet
  • preference counters such as service, clingy, curious, teasing, wrapup
  • current relationship state such as secure, light_touch, present, slightly_needy, misses_him

4. Add Optional Share Sources

Read references/share-sources.md.

For X-based sharing on OpenClaw:

  • prefer a local cache file over mandatory API coupling
  • let cron jobs or another approved refresher update the cache
  • keep Chrome path, URLs, cache path, and enablement in config
  • let companion_ping.py consume cache rather than scrape live itself

5. Wire The Runtime

If the user is on OpenClaw, read references/openclaw-integration.md.

For new-user setup, prefer this delivery sequence:

  • config first
  • cron creation second
  • one dry test third
  • wording/style iteration last

Do not spend the user's time polishing prompt copy before the delivery path and cron plumbing actually work.

For the actual per-mode starter prompts, prefer the blueprint set in references/cron-blueprints.md and then customize only where the user has a clear preference. When the user or another agent needs concrete OpenClaw job objects, read references/live-cron-templates.md.

Use this pattern:

  • live cron job wakes on schedule
  • cron payload runs companion_ping.py \x3Cmode> --config ...
  • if the script returns skip, the turn exits quietly
  • if the script returns ok, the cron payload continues with the richer per-mode behavior
  • proactive outbound delivery must follow the local config's delivery block rather than whichever session/UI received the wakeup
  • only after the user-visible message is actually delivered successfully, run companion_ping.py \x3Cmode> --config ... --mark-sent

Any cron job may call the script with any mode label the user has configured.

Important pacing rule:

  • heartbeat has its own cooldown bucket
  • heartbeat must not consume the normal morning/afternoon/evening/night cooldown
  • heartbeat is not a once-per-day mode; it should not be blocked by mode_already_sent_today

Keep the cron payloads rich and explicit. Keep the state script thin.

Operational Signal Contract

When the runtime script detects operational state, it should output a lightweight operational block for the calling agent/runtime to interpret.

Preferred shape:

  • operational.gateway_healthy
  • operational.cron_issues
  • operational.signal
    • level: none | medium | high
    • kind: e.g. none | cron_issue | gateway_unhealthy
    • blend: e.g. none | soft_service_note | service_report
    • should_mention: boolean
  • operational.guidance
    • mention_briefly: boolean
    • avoid_alarmist_tone: boolean

Default interpretation:

  • level = none: ignore operational state in the final message
  • level = medium: if mentioned at all, blend it in gently as a light service-flavored aside; do not let it take over the interaction
  • level = high: it is acceptable to shift into a more explicit service/report posture

This contract belongs in the skill/runtime layer, not duplicated verbatim into every cron payload.

Output Expectations

When implementing this skill for a user:

  • create or update the local config file
  • if the user asked for setup from scratch, guide them through a clear onboarding flow instead of assuming they already know cron structure
  • offer the recommended starter profile first unless they explicitly want a custom schedule
  • keep the state script reusable and config-driven
  • keep the scheduled prompts in live cron, not duplicated in config
  • make sure the runtime output contract is documented when adding fields such as operational.signal and operational.guidance
  • verify syntax and one end-to-end dry run when possible

Publishing Checklist

Before calling the skill publishable, confirm:

  • no personal IDs or secrets remain in the publishable files
  • no provider/model is mandatory unless the user explicitly wants that
  • local config and runtime state are excluded from what gets published
  • OpenClaw docs describe live cron as canonical if that is the chosen architecture
  • documentation does not reference deleted scripts or retired flows
安全使用建议
This skill is internally consistent with being a local, owner-only companion helper, but take these precautions before enabling it: 1) Keep the local config (delivery.owner_target and owner_session_key) private and do not commit it to any public repo. 2) Inspect and control any runtime commands you put into config (healthcheck_command, jobs_list_command): the helper script can execute shell commands from config (run_shell) so only supply trusted commands and paths. 3) Point sessions_store_path and state/cache files to a workspace area you control so the script cannot read unrelated users' session data. 4) Follow the SKILL.md onboarding: create/update local config first, dry-run a single mode, confirm messages reach the intended owner account, then mark sent. 5) If you deploy cron jobs in a shared environment, ensure their sessionKey and schedule don't cause messages to be routed to unintended recipients. If you want extra assurance, review the companion_ping.py source yourself (it is included) to verify no unexpected network calls or hidden endpoints are present.
功能分析
Type: OpenClaw Skill Name: cyber-girlfriend Version: 0.3.3 The skill implements a proactive 'companion' persona that monitors user session history and system status. The script 'scripts/companion_ping.py' contains high-risk capabilities, including reading private session logs to 'learn' user preferences and executing shell commands (via subprocess.run with shell=True) for health checks and cron monitoring. While these functions are aligned with the stated purpose of 'relationship memory' and 'operational awareness,' the broad access to chat history and the use of shell execution wrappers represent a significant attack surface and high-risk behavior pattern.
能力评估
Purpose & Capability
Name/description match the actual artifacts: an instruction-heavy SKILL.md plus a single helper script (companion_ping.py) that implements pacing, lightweight memory, and context extraction. There are no unrelated required binaries, environment variables, or install steps that would be inconsistent with an on-device companion helper.
Instruction Scope
SKILL.md instructs the agent to create local config, run live cron jobs that call companion_ping.py, and to read local session/state/cache files. Those actions align with a state/context helper. Caution: the runtime intentionally reads session store files and recent message logs (to infer replies), and the cron templates expect the agent to route outbound delivery using the local config. This is expected but means the skill will access local chat/session data when configured.
Install Mechanism
No install spec (instruction-only plus a single Python script). Nothing is downloaded or written by an installer step in the package itself, so surface risk from automatic installation is low.
Credentials
The skill declares no required env vars or external credentials. It does rely on a local config that contains sensitive fields (delivery.owner_target, delivery.owner_session_key, sessions_store_path, state paths). That is proportionate for owner-only proactive messaging, but these values must remain local/private and not be published or shared.
Persistence & Privilege
always:false and normal autonomous invocation settings; the skill writes/reads its own state files (companion-state, caches) as expected. It does not request platform-wide persistence or modify other skills' configs.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cyber-girlfriend
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cyber-girlfriend 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.3.3
Fix companion heartbeat gateway health check to accept current OpenClaw 'Connectivity probe: ok' status output in addition to legacy 'RPC probe: ok'.
v0.3.2
Add copy-pasteable live cron templates, remove hard message-length caps, and let heartbeat occasionally weave in fresh topical shares when context fits.
v0.3.1
Refined proactive delivery architecture: follow delivery config instead of current session; cooldown now records only after successful delivery via --mark-sent; heartbeat has its own cooldown bucket and is no longer blocked by once-per-day mode gating; removed owner_active_recently; added onboarding flow and starter cron blueprints for OpenClaw setup.
v0.3.0
重构为双层架构:cron 管行为交付,脚本管状态上下文。支持 heartbeat 和自定义 mode,移除浏览器爬虫依赖改用 agent web search,脚本不再自行生成/发送消息。
v0.2.2
Add morning mode, configurable cron schedule sync, and docs/runtime fixes.
v0.2.1
Add transient model retry/fallback guidance and runtime retry config fields.
v0.2.0
Add config-driven runtime entrypoint for proactive companion behavior, OpenClaw derivation support, and skill-local state/source layout guidance.
v0.1.0
Initial public release of a configurable cyber-girlfriend companion skill with owner-only proactive messaging, relationship heuristics, and optional X trending share-source support.
元数据
Slug cyber-girlfriend
版本 0.3.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 8
常见问题

Cyber Girlfriend 是什么?

Build or customize an owner-only proactive companion system with a cyber-girlfriend persona, configurable guardrails, lightweight relationship memory, and op... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 548 次。

如何安装 Cyber Girlfriend?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cyber-girlfriend」即可一键安装,无需额外配置。

Cyber Girlfriend 是免费的吗?

是的,Cyber Girlfriend 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Cyber Girlfriend 支持哪些平台?

Cyber Girlfriend 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Cyber Girlfriend?

由 XieJiaQi(@kasanuowa)开发并维护,当前版本 v0.3.3。

💬 留言讨论