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

opc-journalOPC 杂志

Agent Skill

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

总安装

3,575

周安装

152

GitHub Stars

公开资料未说明

下载量

1,252
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install opc-journal

简介

opc-journal 是单人公司成长追踪的 CLI 风格工具。

  • 记录日常条目并分析梦境、记忆模式。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 可检测里程碑事件并提供反思提示。opc-journal 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 安装前需确认本地数据存储路径和同步选项。
  • 建议了解隐私策略和导出格式兼容性。

SKILL.md

name
opc-journal
description
OPC200 Journal - A CLI-style single skill for One Person Company growth tracking. Record entries, analyze patterns from dreams/memory, detect milestones, and generate insights. LOCAL-ONLY: no network calls.
user-invocable
true
command-dispatch
tool
tool
main
command-arg-mode
raw
metadata
openclaw
emoji
📔
always
false
requires
{}

opc-journal

Version: 2.5.2 Type: Single CLI-style Skill Status: Active

A unified CLI entrypoint for journaling, pattern analysis, milestone detection, insights, and task tracking.

Commands

CommandDescriptionExample
initInitialize journal for customer/opc-journal init --day 1
recordRecord a journal entry/opc-journal record "Shipped MVP"
searchSearch entries/opc-journal search --query pricing
exportExport journal/opc-journal export --format markdown
analyzeAnalyze patterns from memory/opc-journal analyze --days 7
milestonesDetect milestones/opc-journal milestones --content "First sale!"
insightsGenerate daily/weekly insights/opc-journal insights --day 7
taskCreate async task/opc-journal task --description "Research"
batch-taskCreate multiple async tasks/opc-journal batch-task --descriptions "A" "B" "C"
statusShow journal status/opc-journal status
deleteDelete an entry by entry_id/opc-journal delete --entry-id JE-20260413-AB12CD
archiveArchive all journal data/opc-journal archive --clear
update-metaUpdate metadata and language/opc-journal update-meta --language en
helpShow help/opc-journal help

Architecture

Directory Structure

opc-journal/
├── scripts/
│   ├── main.py           # CLI entry point
│   └── commands/
│       ├── init.py       # Initialize journal with charter
│       ├── record.py     # Append entries with auto ID generation
│       ├── search.py     # Full-text local search
│       ├── export.py     # Markdown/JSON export
│       ├── analyze.py    # Structural signal + keyword fragment extraction
│       ├── milestones.py # Milestone candidate detection
│       ├── insights.py   # Context assembly for LLM interpretation
│       ├── task.py       # Single task creation (persistent)
│       ├── batch_task.py # Bulk task creation
│       ├── status.py     # Statistics and streak calculation
│       ├── delete.py     # Entry removal (requires --force)
│       ├── archive.py    # Backup and clear operations (requires --force)
│       ├── update_meta.py# Metadata and language updates
│       └── _meta.py      # Meta helpers with file locking
├── utils/
│   ├── storage.py        # File I/O with path sanitization
│   ├── parsing.py        # Entry block splitting/joining
│   ├── task_storage.py   # Task CRUD with fcntl locking
│   └── timezone.py       # Asia/Shanghai timezone utilities
├── tests/                # 57 pytest test cases
└── config.yml            # Skill metadata

Data Flow

User Input → main.py → Command Router → Command Module → Storage Utils → Local Files
                                              ↓
                                         Return JSON {status, result, message}

All commands follow a uniform return pattern:

  • status: "success" or "error"
  • result: Structured data (dict, list, or None)
  • message: Human-readable description

Security Model

LayerImplementation
Path Sanitization_sanitize_customer_id() strips .., /, \; empty falls back to "default"
File Lockingfcntl.flock() with shared (read) / exclusive (write) locks on meta and tasks
Backup Strategy.bak files created before any mutation (record, delete, archive)
Destructive Ops--force flag required for delete and archive --clear
ScopeAll I/O constrained to ~/.openclaw/customers/{customer_id}/

LLM-First Design

This skill delegates interpretation to the caller (LLM) while providing structured extraction:

CommandWhat Skill DoesWhat LLM Does
analyzeExtracts structural signals (punctuation, caps) + keyword fragmentsInterprets emotional/psychological state
insightsAssembles context + signal countsGenerates personalized recommendations
milestonesDetects structural candidates (first entry, pattern breaks)Validates and celebrates true milestones
recordStores raw text + optional caller-provided emotionInfers emotion if not provided

Key principle: The skill extracts patterns but never draws conclusions about the user's mental state.

Concurrency

  • Single-user optimized: File locking prevents corruption but is not designed for high-concurrency multi-user scenarios
  • POSIX only: Uses fcntl (not available on Windows)
  • Atomic writes: Metadata writes use flock(LOCK_EX) + fsync() + flock(LOCK_UN)

Storage Format

Entry Block Format:

---
type: entry
entry_id: JE-20260413-A1B2C3
date: 13-04-26
day: 1
emotion: excited
language: en
---

Your entry content here.

File Organization:

  • memory/DD-MM-YY.md: Daily entry files
  • journal_meta.json: Goals, language, total count
  • tasks.json: Persistent task list
  • archive/YYYYMMDD-HHMMSS/: Timestamped backups

Development Notes

  • analyze reads dreams.md and memory/*.md and returns structural signals + keyword fragments for the caller (LLM) to interpret dynamically. Structural signals are purely quantitative (punctuation counts, caps, etc.). Keyword fragments use minimal regex patterns for common action/challenge/achievement words, but no emotional interpretation is baked in.
  • insights returns raw memory context and signal counts for the caller (LLM) to generate recommendations dynamically. Includes keyword-based signal counts but defers semantic interpretation to the caller.
  • milestones returns a raw candidate object for the caller (LLM) to validate and classify. No keyword-based auto-detection.
  • record defers emotional interpretation to the caller. The emotion frontmatter field is only populated if the caller provides it in metadata.
  • task creates a single async task record; batch-task creates multiple tasks in one call.
  • delete removes an entry by entry_id, creates a .bak before modification, and updates the total count in meta. Requires --force flag for destructive operations.
  • archive copies all memory files and journal_meta.json to a timestamped archive/ directory. Use --clear to reset the journal after archiving. Requires --force flag when using --clear.
  • update-meta updates journal metadata (language, goals, preferences). Retroactive translation rules are kept minimal because templates are now English-only by design.
  • All data is stored locally under ~/.openclaw/customers/{customer_id}/.
  • No external network calls are made.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

91.21%
按下载量换算1,142

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills