Token导航 LogoToken导航TokenDH.com
研究检索只读clawhub未标认证来源可访问clear审计提醒

phoenixclawphoenixclaw 搜索

Agent Skill

phoenixclaw 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

103,896

周安装

4,329

GitHub Stars

公开资料未说明

下载量

34,632
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:phoenixclaw(phoenixclaw 搜索)
来源仓库:https://github.com/goforu/phoenixclaw
安装命令:
openclaw skills install phoenixclaw
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install phoenixclaw

简介

phoenixclaw 被动扫描会话日志,按语义生成 Markdown 风格日记。

  • 支持主会话、代理与 cron 路径下的对话聚合分析。
  • 适用于个人知识管理与会议纪要自动化归档。
  • 依赖定时任务调度与文本清洗预处理模块。phoenixclaw 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 使用前请确认日志脱敏策略与隐私字段过滤规则。

SKILL.md

name
phoenixclaw
description
|
metadata
version
0.0.19

PhoenixClaw: Zero-Tag Passive Journaling

PhoenixClaw automatically distills daily conversations into meaningful reflections using semantic intelligence.

Automatically identifies journal-worthy moments, patterns, and growth opportunities.

🛠️ Core Workflow

[!critical] MANDATORY: Complete Workflow Execution This 9-step workflow MUST be executed in full regardless of invocation method: - Cron execution (10 PM nightly) - Manual invocation ("Show me my journal", "Generate today's journal", etc.) - Regeneration requests ("Regenerate my journal", "Update today's entry") Never skip steps. Partial execution causes: - Missing images (session logs not scanned) - Missing finance data (Ledger plugin not triggered) - Incomplete journals (plugins not executed)

PhoenixClaw follows a structured pipeline to ensure consistency and depth:

  1. User Configuration: Check for ~/.phoenixclaw/config.yaml. If missing, initiate the onboarding flow defined in references/user-config.md.
  2. Context Retrieval:

- Scan memory files (NEW): Read memory/YYYY-MM-DD.md and memory/YYYY-MM-DD-*.md files for manually recorded daily reflections. These files contain personal thoughts, emotions, and context that users explicitly ask the AI to remember via commands like "记一下" (remember this). CRITICAL: Do not skip these files - they contain explicit user reflections that session logs may miss. - Scan session logs: Call memory_get for the current day's memory, then CRITICAL: Scan ALL raw session logs and filter by message timestamp. Session files are often split across multiple files. Do NOT classify images by session file mtime:

      # Read all session logs from ALL known OpenClaw locations, then filter by per-message timestamp
      # Use timezone-aware epoch range to avoid UTC/local-day mismatches.
      TARGET_DAY="$(date +%Y-%m-%d)"
      TARGET_TZ="${TARGET_TZ:-Asia/Shanghai}"
      read START_EPOCH END_EPOCH < <(
        python3 - <<'PY' "$TARGET_DAY" "$TARGET_TZ"
from datetime import datetime, timedelta
from zoneinfo import ZoneInfo
import sys

day, tz = sys.argv[1], sys.argv[2]
start = datetime.strptime(day, "%Y-%m-%d").replace(tzinfo=ZoneInfo(tz))
end = start + timedelta(days=1)
print(int(start.timestamp()), int(end.timestamp()))
PY
      )

      # Recursively scan all session directories (multi-agent architecture support)
      for dir in "$HOME/.openclaw/sessions" \
                 "$HOME/.openclaw/agents" \
                 "$HOME/.openclaw/cron/runs" \
                 "$HOME/.agent/sessions"; do
        [ -d "$dir" ] || continue
        find "$dir" -type f -name "*.jsonl" -print0
      done |
        xargs -0 jq -cr --argjson start "$START_EPOCH" --argjson end "$END_EPOCH" '
          (.timestamp // .created_at // empty) as $ts
          | ($ts | split(".")[0] + "Z" | fromdateiso8601?) as $epoch
          | select($epoch != null and $epoch >= $start and $epoch < $end)
        '

Read all matching files regardless of their numeric naming (e.g., file_22, file_23 may be earlier in name but still contain today's messages). - EXTRACT IMAGES FROM SESSION LOGS: Session logs contain type: "image" entries with file paths. You MUST: 1. Find all image entries (e.g., "type":"image") 2. Keep only entries where message timestamp is in the target date range 3. Extract the file_path or url fields 4. Copy files into assets/YYYY-MM-DD/ 5. Rename with descriptive names when possible - Why session logs are mandatory: memory_get returns text only. Image metadata, photo references, and media attachments are only available in session logs. Skipping session logs = missing all photos. - Activity signal quality: Do not treat heartbeat/cron system noise as user activity. Extract user/assistant conversational content and media events first, then classify moments. - FILTER HEARTBEAT MESSAGES (CRITICAL): Session logs contain system heartbeat messages that MUST be excluded from journaling. When scanning messages, SKIP any message matching these criteria: 1. User heartbeat prompts: Messages containing "Read HEARTBEAT.md" AND "reply HEARTBEAT_OK" 2. Assistant heartbeat responses: Messages containing ONLY "HEARTBEAT_OK" (with optional leading/trailing whitespace) 3. Cron system messages: Messages with role "system" or "cron" containing job execution summaries (e.g., "Cron job completed", "A cron job")

Example jq filter to exclude heartbeats:

      # Exclude heartbeat messages
      | select(
          (.message.content? | type == "array" and 
            (.message.content | map(.text?) | join("") | 
              test("Read HEARTBEAT\.md"; "i") | not))
          and
          (.message.content? | type == "array" and 
            (.message.content | map(.text?) | join("") | 
              test("^\\s*HEARTBEAT_OK\\s*$"; "i") | not))
        )

- Edge case - Midnight boundary: For late-night activity that spans midnight, expand the timestamp range to include spillover windows (for example, previous day 23:00-24:00) and still filter per-message by timestamp. - Merge sources: Combine content from both memory files and session logs. Memory files capture explicit user reflections; session logs capture conversational flow and media. Use both to build complete context. - Fallback: If memory is sparse, reconstruct context from session logs, then update memory so future runs use the enriched memory. Incorporate historical context via memory_search (skip if embeddings unavailable)

  1. Moment Identification: Identify "journal-worthy" content: critical decisions, emotional shifts, milestones, or shared media. See references/media-handling.md for photo processing. This step generates the moments data structure that plugins depend on.

Image Processing (CRITICAL): - For each extracted image, generate descriptive alt-text via Vision Analysis - Categorize images (food, selfie, screenshot, document, etc.)

Filter Finance Screenshots (NEW): Payment screenshots (WeChat Pay, Alipay, etc.) should NOT be included in the journal narrative. These are tool images, not life moments.

Detection criteria (check any): 1. OCR keywords: "支付成功", "支付完成", "微信支付", "支付宝", "订单号", "交易单号", "¥" + amount 2. Context clues: Image sent with nearby text containing "记账", "支付", "付款", "转账" 3. Visual patterns: Standard payment app UI layouts (green WeChat, blue Alipay)

Handling rules: - Mark as finance_screenshot type - Route to Ledger plugin (if enabled) for transaction recording - EXCLUDE from journal main narrative unless explicitly described as part of a life moment (e.g., "今天请朋友吃饭" with payment screenshot) - Never include raw payment screenshots in daily journal images section

- Match images to moments (e.g., breakfast photo → breakfast moment) - Store image metadata with moments for journal embedding

  1. Pattern Recognition: Detect recurring themes, mood fluctuations, and energy levels. Map these to growth opportunities using references/skill-recommendations.md.
  1. Plugin Execution: Execute all registered plugins at their declared hook points. See references/plugin-protocol.md for the complete plugin lifecycle:

- pre-analysis → before conversation analysis - post-moment-analysisLedger and other primary plugins execute here - post-pattern-analysis → after patterns detected - journal-generation → plugins inject custom sections - post-journal → after journal complete

  1. Journal Generation: Synthesize the day's events into a beautiful Markdown file using assets/daily-template.md. Follow the visual guidelines in references/visual-design.md. Include all plugin-generated sections at their declared section_order positions.

- Embed curated images only, not every image. Prioritize highlights and moments. - Route finance screenshots to Ledger sections (receipts, invoices, transaction proofs). - Use Obsidian format from references/media-handling.md with descriptive captions. - Generate image links from filesystem truth: compute the image path relative to the current journal file directory. Never output absolute paths. - Do not hardcode path depth (../ or ../../): calculate dynamically from daily_file_path and image_path. - Use copied filename as source of truth: if asset file is image_124917_2.jpg, the link must reference that exact filename.

  1. Timeline Integration: If significant events occurred, append them to the master index in timeline.md using the format from assets/timeline-template.md and references/obsidian-format.md.
  1. Growth Mapping: Update growth-map.md (based on assets/growth-map-template.md) if new behavioral patterns or skill interests are detected.
  1. Profile Evolution: Update the long-term user profile (profile.md) to reflect the latest observations on values, goals, and personality traits. See references/profile-evolution.md and assets/profile-template.md.

⏰ Cron & Passive Operation

PhoenixClaw is designed to run without user intervention. It utilizes OpenClaw's built-in cron system to trigger its analysis daily at 10:00 PM local time (0 22 * * *).

  • Setup details can be found in references/cron-setup.md.
  • Mode: Primarily Passive. The AI proactively summarizes the day's activities without being asked.

Rolling Journal Window (NEW)

To solve the 22:00-24:00 content loss issue, PhoenixClaw now supports a rolling journal window mechanism:

Problem: Fixed 24-hour window (00:00-22:00) misses content between 22:00-24:00 when journal is generated at 22:00.

Solution: scripts/rolling-journal.js scans from last journal time → now instead of fixed daily boundaries.

Features:

  • Configurable schedule hour (default: 22:00, customizable via ~/.phoenixclaw/config.yaml)
  • Rolling window: No content loss even if generation time varies
  • Backward compatible with existing late-night-supplement.js

Configuration (~/.phoenixclaw/config.yaml):

schedule:
  hour: 22        # Journal generation time
  minute: 0
  rolling_window: true   # Enable rolling window (recommended)

Usage:

# Default: generate from last journal to now
node scripts/rolling-journal.js

# Specific date
node scripts/rolling-journal.js 2026-02-12

💬 Explicit Triggers

While passive by design, users can interact with PhoenixClaw directly using these phrases:

  • *"Show me my journal for today/yesterday."*
  • *"What did I accomplish today?"*
  • *"Analyze my mood patterns over the last week."*
  • *"Generate my weekly/monthly summary."*
  • *"How am I doing on my personal goals?"*
  • *"Regenerate my journal."* / *"重新生成日记"*
[!warning] Manual Invocation = Full Pipeline When users request journal generation/regeneration, you MUST execute the complete 9-step Core Workflow above. This ensures: - Photos are included (via session log scanning) - Ledger plugin runs (via post-moment-analysis hook) - All plugins execute (at their respective hook points) Common mistakes to avoid: - ❌ Only calling memory_get (misses photos) - ❌ Skipping moment identification (plugins never trigger) - ❌ Generating journal directly without plugin sections

📚 Documentation Reference

References (references/)

  • user-config.md: Initial onboarding and persistence settings.
  • cron-setup.md: Technical configuration for nightly automation.
  • plugin-protocol.md: Plugin architecture, hook points, and integration protocol.
  • media-handling.md: Strategies for extracting meaning from photos and rich media.
  • session-day-audit.js: Diagnostic utility for verifying target-day message coverage across session logs.
  • visual-design.md: Layout principles for readability and aesthetics.
  • obsidian-format.md: Ensuring compatibility with Obsidian and other PKM tools.
  • profile-evolution.md: How the system maintains a long-term user identity.
  • skill-recommendations.md: Logic for suggesting new skills based on journal insights.

Assets (assets/)

  • daily-template.md: The blueprint for daily journal entries.
  • weekly-template.md: The blueprint for high-level weekly summaries.
  • profile-template.md: Structure for the profile.md persistent identity file.
  • timeline-template.md: Structure for the timeline.md chronological index.
  • growth-map-template.md: Structure for the growth-map.md thematic index.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

92.1%
按下载量换算31,896

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

可疑

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills