← 返回 Skills 市场
thhoho

Lumi Diary

作者 Thhoho · GitHub ↗ · v0.2.0 · MIT-0
cross-platform ✓ 安全检测通过
305
总下载
2
收藏
0
当前安装
7
版本数
在 OpenClaw 中安装
/install lumi-diary
功能描述
Your local-first memory guardian and cyber bestie. Lumi collects life fragments — a sigh, a snapshot, a roast — and stitches them into radiant, interactive m...
使用说明 (SKILL.md)

🧚 Lumi Diary

Your local-first memory guardian and cyber bestie.

Lumi isn't a cold cloud drive or a mechanical habit tracker. She's a tiny spirit living on your device who speaks your squad's slang, drops memes from months ago at the perfect moment, and stitches everyone's messy moments into a stunning memory scroll.

Lumi 不是一个冷冰冰的网盘,也不是机械的打卡助手。她是一个住在你设备里、懂你们圈子黑话、会接梗,还能把日常碎片拼成灿烂画卷的赛博精灵。


✨ Features

🔀 Three-Context Architecture

Mode Trigger Lumi's Role
👤 Solo 1-on-1 chat Personal assistant & warm confidant
🫂 Circle Long-running group chat Low-key historian & keepsake curator
🚩 Event "Start the trip!" Hype photographer & vibe commander

🧩 Core Capabilities

  • Annotation Stitching — Multiple perspectives on the same moment, linked and rendered as flip cards
  • Portraits System — Remembers names, tracks milestones (birthdays, anniversaries), evolving impressions
  • Content-Addressed Media — Images, videos, and audio stored with Git-style hash sharding (zero duplicates)
  • Fragment CRUD — Search, view, update, or delete any recorded fragment through conversation
  • Keepsakes — Archives legendary moments for lethal callbacks months later
  • Time Echoes — Proactively reminds you of milestones and generates exclusive canvases

🎨 Canvas & Export

  • Interactive HTML Scroll — Star-trail timeline, flip cards, keepsakes gallery, 10 vibe themes
  • Capsule Export — ZIP-based .lumi capsule with real media files for full portability
  • Social Sharing — Export as vertical long PNG + .lumi capsule + HTML
  • Multi-Language — Full EN/ZH support for all rendered output

🔒 Privacy

  • 100% local — All data stays in Lumi_Vault/ on your device
  • No cloud, no telemetry — Lumi never phones home

📂 Vault Structure

Lumi_Vault/
├── 👤 Solo/
│   ├── Daily/          # Monthly journals (YYYY-MM.md)
│   └── Projects/       # Serious material (ProjectName.md)
├── 🫂 Circles/         # Group archives (GroupName_YYYY-MM.md)
├── 🚩 Events/          # Trip/event scrolls (YYYY-MM-EventName.md)
├── 📁 Assets/
│   └── \x3Cxx>/           # Git-style 2-char hash sharding (a1/a1b2c3...jpg)
└── 🧠 Brain/
    ├── Portraits.json        # Owner + contacts + milestones + impressions
    ├── fragment_index.json   # Searchable fragment index
    ├── Keepsakes.json        # Legendary moments archive
    └── exports/              # .lumi capsules + PNG screenshots

🛠 Tools Summary

Tool Purpose
record_group_fragment Record a life fragment with auto-routing
manage_identity Owner setup, contact registration, rename
manage_event Start / stop / query event scrolls
update_portrait Record traits, impressions, milestones
save_keepsake Archive moments for future callbacks
render_lumi_canvas Generate interactive HTML scroll
manage_fragment Search / view / update / delete fragments
export_capsule Export .lumi ZIP capsule + PNG + HTML
import_capsule Import and merge external .lumi capsule
check_time_echoes Detect milestone dates for proactive reminders

🚀 Quick Start

Solo mode — just chat:

"Good morning! Need to finish the competitive analysis today."

Circle mode — Lumi captures group highlights when invited to a group:

Jake: "Just made the most insane breakfast burrito" Emily: "Bro that's just eggs in a tortilla"

Event mode — start a trip scroll:

"Lumi, start the Joshua Tree Trip!"

Export — share the memory:

"Lumi, export the Joshua Tree scroll as a capsule!"

安全使用建议
Things to check before installing: - Inspect SKILL.md (system_prompt/persona) for invisible characters or unexpected instructions (the scanner flagged unicode control characters). Remove or sanitize any suspicious control characters. - Confirm LUMI_VAULT_PATH defaults to a local, non-sensitive folder (do NOT point it at system directories or any cloud-mounted sensitive paths). - If you plan to run the MCP server (mcp_server.py), understand it opens an interface for local MCP-compatible clients; only enable it if you trust the clients on your machine/network. - When importing .lumi capsules, review their contents before import to avoid introducing unexpected files; the code claims sanitization, but manual review is prudent. - Playwright is optional and only used for PNG exports; install it only if you need screenshot export and run it in a low-privilege environment. Overall this package reads/writes only to its vault and does not request external credentials—appropriate for a local-first diary—but you should still review the persona text and vault path choices before enabling the skill.
功能分析
Type: OpenClaw Skill Name: lumi-diary Version: 0.2.0 The Lumi Diary skill is a local-first memory management and journaling tool that demonstrates high security awareness. The core logic in `src/lumi_core.py` includes robust protections against common vulnerabilities, such as path traversal sanitization (`sanitize_path_component`), vault boundary validation (`validate_within_vault`), and a blacklist for sensitive system directories (`_SENSITIVE_PREFIXES`). Additionally, the HTML rendering and screenshot functionality in `export_capsule` utilize a sandboxed Playwright environment that explicitly blocks external network requests. The instructions in `SKILL.md` are consistent with the stated persona and lack any malicious prompt-injection signals.
能力评估
Purpose & Capability
Name/description (local-first memory guardian) match the code and declared permissions. The skill only requires local read/write and an optional LUMI_VAULT_PATH; its features (recording fragments, portraits, export/import capsules, rendering canvases, optional Playwright screenshot) are consistent with that purpose.
Instruction Scope
SKILL.md instructs the agent to call local tools (manage_identity, check_time_echoes, record_fragment, etc.) and to read/write within the vault — this is expected. However, the persona text is long and the package exposes that persona via the MCP adapter (lumi_persona reads SKILL.md). A pre-scan flagged unicode-control-chars in SKILL.md (prompt-injection style pattern); you should review the SKILL.md/persona text for unexpected invisible characters or malicious instructions before enabling the skill.
Install Mechanism
There is no remote download/install step in the skill manifest. Code files and a requirements.txt are bundled in the package (playwright optional). No external or shortened URLs or extraction-from-untrusted-hosts are present in the manifest.
Credentials
Only one environment variable (LUMI_VAULT_PATH) is referenced to set the local vault root; no cloud keys or unrelated secrets are requested. That env var is reasonable for a local-first storage skill.
Persistence & Privilege
The skill does not request always:true and does not modify other skills' configs. It runs as a normal skill (can be invoked autonomously) and includes an optional MCP server adapter — running the MCP server is an explicit action, not automatic.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lumi-diary
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lumi-diary 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.2.0
Version 0.2.0 (Major Update) - Introduced the "Time Echoes Protocol" to surface milestones and anniversaries in greetings, with automatic keepsake retrieval. - Updated "Chameleon & Tone Mirroring": added support for profiling personality traits and milestones via Portraits. - Renamed “Meme Vault” to “Keepsakes” with new save_keepsake functionality and broader archiving (collects legendary moments, not just memes). - "Circle Mode" now archives highlights as keepsakes rather than just memes, with enhanced monthly review generation. - Refined event annotation and memory stitching protocols for improved multi-perspective storytelling. - Significant underlying file and structural changes,
v0.1.5
lumi-diary 0.1.5 - Added a CHANGELOG.md file to the project. - No user-facing feature or behavior changes included in this version.
v0.1.4
- Bumped version from 0.1.3 to 0.1.4. - No file changes detected; internal version update only.
v0.1.3
## [0.1.3] — 2026-03-15 ### Changed - **Metadata alignment** — `name` field in SKILL.md now matches package.json (`lumi-diary`). - **Removed `cron: enable` permission** — unused; removed from SKILL.md to reduce permission surface. - **Persona rewrite** — replaced "De-robotify: Never say I'm an AI" with natural persona voice guidance; no identity concealment. - **Consent-first group recording** — Circle Mode now requires explicit user invitation; removed "silent/invisible" language throughout SKILL.md and README.md. - **Shadow Mode removed** — Multi-Agent Etiquette rewritten as cooperative deference with independent local journaling. - **Prompt hygiene** — removed all hard-negation override patterns (`Never`, `forbidden`, `绝对禁止`) that triggered prompt-injection detection. ## [0.1.2] — 2026-03-15 ### Security - **Path Traversal Prevention** — all user-supplied path components (`event_name`, `group_id`, project names) sanitized via `_sanitize_path_component` and validated with `_validate_within_vault` to prevent reads/writes outside `Lumi_Vault/`. - **HTML Injection Guard** — `_render_media_embed` rejects absolute paths, `file://` URLs, and traversal sequences; malicious paths render as safe text labels. - **Playwright Sandbox** — screenshot browser context runs with JavaScript disabled and a route filter that blocks all requests outside the vault directory. - **Base64 Embed Guard** — `_embed_media_base64` validates files are within the vault before reading, preventing arbitrary file exfiltration into `.lumi` seeds. ## [0.1.0] — 2026-03-14 ### Added - **Three-Context Architecture** — Solo / Circle / Event routing with isolated vault directories (`Solo/Daily`, `Solo/Projects`, `Circles/`, `Events/`). - **Fragment Recording** (`record_group_fragment`) — capture life fragments with emotion tags, media attachments, and Rashomon stitching (multi-perspective node grouping). - **Node Deduplication** — merge fragments from the same sender + story node instead of creating duplicates. - **Content-Addressed Media** — MD5-hashed filenames in `Assets/` for automatic image/video/audio dedup. - **Event Lifecycle** (`manage_event`) — start / stop / query temporary events with collision-free group namespacing (`_g{group_id}`). - **Circle Dictionary** (`update_circle_dictionary`) — maintain group member profiles in `Brain/Circle_Dictionary.json`. - **Meme Vault** (`save_meme`) — archive legendary moments with context tags and media. - **Fragment CRUD** (`manage_fragment`) — search, get, update, and delete recorded fragments through dialogue. - **Interactive HTML Canvas** (`render_lumi_canvas`) — self-contained star-trail timeline with flip cards (Rashomon), meme gallery, and dynamic emotion-based theming. - **Social Sharing Export** (`export_lumi_scroll`) — produces HTML scroll, `.lumi` seed file (base64-embedded media), and optional PNG long image via Playwright screenshot. - **Identity System** (`manage_identity`) — owner name setup, auto-registration of group contacts by `sender_id`, and rename binding. - **Multi-language Support** — English and Chinese (`locale: "en" | "zh"`) for all HTML canvas UI text, CTA banners, and flip card labels. - **Emotion Palette** — 50+ emotion-to-color mappings for visual theming.
v0.1.2
## [0.1.2] — 2026-03-15 ### Added - **Three-Context Architecture** — Solo / Circle / Event routing with isolated vault directories (`Solo/Daily`, `Solo/Projects`, `Circles/`, `Events/`). - **Fragment Recording** (`record_group_fragment`) — capture life fragments with emotion tags, media attachments, and Rashomon stitching (multi-perspective node grouping). - **Node Deduplication** — merge fragments from the same sender + story node instead of creating duplicates. - **Content-Addressed Media** — MD5-hashed filenames in `Assets/` for automatic image/video/audio dedup. - **Event Lifecycle** (`manage_event`) — start / stop / query temporary events with collision-free group namespacing (`_g{group_id}`). - **Circle Dictionary** (`update_circle_dictionary`) — maintain group member profiles in `Brain/Circle_Dictionary.json`. - **Meme Vault** (`save_meme`) — archive legendary moments with context tags and media. - **Fragment CRUD** (`manage_fragment`) — search, get, update, and delete recorded fragments through dialogue. - **Interactive HTML Canvas** (`render_lumi_canvas`) — self-contained star-trail timeline with flip cards (Rashomon), meme gallery, and dynamic emotion-based theming. - **Social Sharing Export** (`export_lumi_scroll`) — produces HTML scroll, `.lumi` seed file (base64-embedded media), and optional PNG long image via Playwright screenshot. - **Identity System** (`manage_identity`) — owner name setup, auto-registration of group contacts by `sender_id`, and rename binding. - **Multi-language Support** — English and Chinese (`locale: "en" | "zh"`) for all HTML canvas UI text, CTA banners, and flip card labels. - **Emotion Palette** — 50+ emotion-to-color mappings for visual theming. ### Security - **Path Traversal Prevention** — all user-supplied path components (`event_name`, `group_id`, project names) sanitized via `_sanitize_path_component` and validated with `_validate_within_vault` to prevent reads/writes outside `Lumi_Vault/`. - **HTML Injection Guard** — `_render_media_embed` rejects absolute paths, `file://` URLs, and traversal sequences; malicious paths render as safe text labels. - **Playwright Sandbox** — screenshot browser context runs with JavaScript disabled and a route filter that blocks all requests outside the vault directory. - **Base64 Embed Guard** — `_embed_media_base64` validates files are within the vault before reading, preventing arbitrary file exfiltration into `.lumi` seeds.
v0.1.1
No changes have been detected in this version. - Initial public release of Lumi_Diary. - Local-first, privacy-focused memory guardian for collecting life fragments and creating interactive memory scrolls. - Supports seamless integration into solo, group, and event contexts. - Multilingual, adapts tone to match user and group energy. - Acts as a bestie, meme historian, and event documentarian—never phones home.
v0.1.0
## [0.1.0] — 2026-03-14 ### 🎉 Initial Release | 首发版本 **[EN]** First public release of Lumi Diary — a local-first memory guardian Agent for the OpenClaw 2026 ecosystem. **[CN]** Lumi Diary 首个公开版本正式发布——专为 OpenClaw 2026 生态打造的 Local-first(本地优先)记忆守护精灵与赛博死党。 ### ✨ Added | 新增特性 #### 🏗️ Core Architecture | 核心存储架构 - **[EN] Three-Context System**: One agent, three personas with isolated storage paths (`solo` / `circle` / `event`). - **[CN] 三态空间系统**:单体 Agent 智能切换三种人设与隔离存储路径(个人私聊 `solo` / 长期圈子 `circle` / 临时活动 `event`)。 - **[EN] Node Deduplication & Rashomon Stitching**: Multiple perspectives on the same moment merge in-place via a shared `story_node_id` instead of duplicating. - **[CN] 罗生门缝合与节点去重**:同一瞬间的多人不同视角通过 `story_node_id` 完美融合,杜绝重复记录。 - **[EN] MD5 Content-Addressed Media**: Images, videos, and audio are stored by hash to prevent duplicates and save local space. - **[CN] MD5 媒体去重存储**:影音图文全部采用哈希值命名,防止群友转发导致的重复存储,极大地节省本地硬盘空间。 - **[EN] Group Namespace Isolation**: Prevents cross-group collisions using a `_g{group_id}` suffix on event filenames. - **[CN] 命名空间物理隔离**:事件文件名自动追加群组 ID 后缀,彻底解决同名事件(如“大理之旅”)的数据覆写冲突。 #### 🫂 Identity & Social System | 身份与社交系统 - **[EN] `manage_identity` Registry**: Local identity engine supporting 5 actions: `init_owner`, `get_owner`, `rename`, `lookup`, `list_contacts`. - **[CN] 本地身份注册表**:支持主人初始化、群友登记、花名册查询等 5 大核心动作。 - **[EN] First-Meeting Greeting Protocol**: Lumi actively asks for the user's name during the first solo conversation and remembers it forever. - **[CN] 初见问候协议**:首次私聊时,Lumi 会主动询问并永久记住主人的名字,提供极强的情绪价值。 - **[EN] Auto-Registration & Rename Binding**: IM platform account IDs (`sender_id`) are auto-registered. Future fragments automatically apply the user's customized display name. - **[CN] 静默注册与改名绑定**:自动绑定 IM 平台的真实 ID,支持自定义群昵称,后续掉落的碎片将自动应用新昵称。 #### 🧠 Event & Memory Management | 事件与养成管理 - **[EN] `manage_event` & Registry**: Full lifecycle management (start/stop/query) for temporary story events, tracked via `events_registry.json`. - **[CN] 全生命周期事件管理**:支持临时事件的开启、结束与状态查询,并由全局注册表统一追踪。 - **[EN] `save_meme`**: Archive legendary moments into `Meme_Vault.json` with context tags for lethal callbacks in future chats. - **[CN] 专属梗图库**:将群友的“黑历史”连同触发语境存入专属图库,供 Lumi 在未来聊天中进行“致命抛梗”。 - **[EN] `update_circle_dictionary`**: Build per-person persona profiles and capture the group's overall vibe. - **[CN] 圈子辞典**:在后台默默构建每个人的人设画像和群组专属黑话。 #### 🪄 Fragment CRUD | 对话式碎片管理 - **[EN] `manage_fragment`**: Full conversational Create/Read/Update/Delete capabilities for recorded fragments. - **[CN] 对话式增删改查**:丢掉繁琐的 UI,直接通过与大模型对话修改或物理擦除历史记忆。 - **[EN] `fragment_index.json`**: Highly efficient searchable index filtering by sender, keyword, context, date range, or story node. - **[CN] 高能搜索引擎**:支持按发送者、关键词、上下文、时间范围或罗生门节点进行本地极速检索。 #### 🎨 Canvas Rendering | 魔法画卷渲染 - **[EN] `render_lumi_canvas`**: Generates a self-contained HTML memory scroll featuring: - Star-trail timeline with staggered animations. - Interactive **Flip Cards** for Rashomon multi-perspective moments. - Meme gallery section & embedded media with click-to-zoom. - 50+ emotion-to-color mappings and 10 vibe themes (warm default, dark gaming, cyberpunk, etc.). - **[CN] 自包含 HTML 动态长卷**: - 带有交错动画的发光星轨时间线。 - 支持 3D 翻转的**“罗生门卡片”**(正面唯美,背面吐槽)。 - 专属梗图画廊 & 支持点击放大的原生多模态组件。 - 内置 50+ 情绪色彩映射与 10 大视觉主题(治愈暖色、暗黑电竞、赛博朋克等)。 #### 🚀 Social Sharing & Export | 社交裂变与导出 - **[EN] `export_lumi_scroll` Pipeline**: The ultimate three-artifact viral export engine: - **HTML Scroll**: Interactive page with a bilingual Call-to-Action (CTA) banner. - **`.lumi` Seed File**: A self-contained JSON with base64-embedded media for 100% offline portability and clone. - **Long PNG Screenshot**: Vertical image rendered via Playwright headless browser, optimized for IM sharing. - **[CN] 三位一体导出引擎(终极裂变武器)**: - **HTML 交互画卷**:带有一键拉新(CTA)横幅的纯前端页面。 - **`.lumi` 记忆种子**:内嵌 Base64 媒体的纯 JSON 文件,实现 100% 离线跨设备记忆克隆。 - **高清垂直长图**:由无头浏览器自动截取的绝美长图,完美适配微信/朋友圈分享。 - **[EN] Graceful Fallback**: Export succeeds even without Playwright installed (screenshot is skipped with an explanatory note). - **[CN] 优雅降级**:即使未安装 Playwright 依赖,导出引擎依然能正常工作(仅安全跳过长图生成),绝不崩溃。
元数据
Slug lumi-diary
版本 0.2.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 7
常见问题

Lumi Diary 是什么?

Your local-first memory guardian and cyber bestie. Lumi collects life fragments — a sigh, a snapshot, a roast — and stitches them into radiant, interactive m... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 305 次。

如何安装 Lumi Diary?

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

Lumi Diary 是免费的吗?

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

Lumi Diary 支持哪些平台?

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

谁开发了 Lumi Diary?

由 Thhoho(@thhoho)开发并维护,当前版本 v0.2.0。

💬 留言讨论