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 依赖,导出引擎依然能正常工作(仅安全跳过长图生成),绝不崩溃。