lifeos 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +208 -0
- package/README.md +113 -114
- package/assets/lifeos-rules.en.md +1 -1
- package/assets/lifeos-rules.zh.md +1 -1
- package/assets/skills/archive/SKILL.en.md +1 -1
- package/assets/skills/archive/SKILL.zh.md +1 -1
- package/assets/skills/ask/SKILL.en.md +1 -1
- package/assets/skills/ask/SKILL.zh.md +1 -1
- package/assets/skills/brainstorm/SKILL.en.md +1 -1
- package/assets/skills/brainstorm/SKILL.zh.md +1 -1
- package/assets/skills/digest/SKILL.en.md +1 -1
- package/assets/skills/digest/SKILL.zh.md +1 -1
- package/assets/skills/digest/references/__pycache__/rss-arxiv-script.cpython-312.pyc +0 -0
- package/assets/skills/knowledge/SKILL.en.md +1 -1
- package/assets/skills/knowledge/SKILL.zh.md +1 -1
- package/assets/skills/project/SKILL.en.md +1 -1
- package/assets/skills/project/SKILL.zh.md +1 -1
- package/assets/skills/read-pdf/SKILL.en.md +1 -1
- package/assets/skills/read-pdf/SKILL.zh.md +1 -1
- package/assets/skills/research/SKILL.en.md +1 -1
- package/assets/skills/research/SKILL.zh.md +1 -1
- package/assets/skills/revise/SKILL.en.md +1 -1
- package/assets/skills/revise/SKILL.zh.md +1 -1
- package/assets/skills/today/SKILL.en.md +1 -1
- package/assets/skills/today/SKILL.zh.md +1 -1
- package/dist/active-docs/index.d.ts +15 -11
- package/dist/active-docs/index.js +36 -41
- package/dist/active-docs/index.js.map +1 -1
- package/dist/core.js +55 -108
- package/dist/core.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/server.js +43 -123
- package/dist/server.js.map +1 -1
- package/dist/services/capture.d.ts +1 -1
- package/dist/services/capture.js +1 -1
- package/dist/services/capture.js.map +1 -1
- package/dist/services/maintenance.js +2 -2
- package/dist/services/maintenance.js.map +1 -1
- package/dist/services/retrieval.js +22 -29
- package/dist/services/retrieval.js.map +1 -1
- package/dist/services/startup.js +3 -1
- package/dist/services/startup.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/utils/shared.d.ts +1 -2
- package/dist/utils/shared.js +0 -2
- package/dist/utils/shared.js.map +1 -1
- package/dist/utils/vault-indexer.d.ts +1 -0
- package/dist/utils/vault-indexer.js +54 -1
- package/dist/utils/vault-indexer.js.map +1 -1
- package/package.json +1 -1
- package/README.zh.md +0 -207
package/README.en.md
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# LifeOS
|
|
2
|
+

|
|
3
|
+
[中文](./README.md) | [English](./README.en.md)
|
|
4
|
+
|
|
5
|
+
LifeOS helps you grow scattered ideas into structured knowledge and truly master it, from quick captures, to brainstorming and deep research, to systematic project planning and knowledge notes, to spaced review and mastery tracking. The goal is not just building a knowledge base, but helping you understand, internalize, and command complex knowledge.
|
|
6
|
+
|
|
7
|
+
## Why Build LifeOS?
|
|
8
|
+
|
|
9
|
+
LifeOS started from a simple goal: package learning workflows, skills, templates, prompts, and a memory system into one complete setup you can use immediately. Instead of assembling your own toolchain from scratch or jumping between disconnected tools, you can initialize once, start working right away, and keep accumulating knowledge, process, and preferences as you go.
|
|
10
|
+
|
|
11
|
+
## Core Features
|
|
12
|
+
|
|
13
|
+
### Memory System
|
|
14
|
+
|
|
15
|
+
> The memory system is LifeOS's core capability. It works in a directory-scoped, skill-bound way, continuously preserving the context, preferences, and decisions that emerge during learning so long-term learning becomes more continuous, more traceable, and easier to build on.
|
|
16
|
+
|
|
17
|
+
#### Cross-session continuity
|
|
18
|
+
|
|
19
|
+
Session bridges and active-document context persist, so agents do not depend only on the current conversation.
|
|
20
|
+
|
|
21
|
+
#### Project-scoped and skill-bound
|
|
22
|
+
|
|
23
|
+
The memory system runs around the current LifeOS project in the vault, activates only inside workflows such as `today`, `project`, `research`, `knowledge`, `revise`, `digest`, and `archive`, and keeps accumulating preferences, decisions, and context.
|
|
24
|
+
|
|
25
|
+
#### More controllable than global memory
|
|
26
|
+
|
|
27
|
+
Compared with a memory model that mixes cross-directory content and global conversations together, a project-scoped, skill-bound memory system reduces irrelevant noise and keeps retrieval and follow-up decisions closer to the current LifeOS workflow.
|
|
28
|
+
|
|
29
|
+
### Directory Customization
|
|
30
|
+
|
|
31
|
+
LifeOS does not lock you into fixed directory names. Run `lifeos rename [path]` and the CLI will interactively list the directories that can be adjusted in the current vault, then guide you through choosing one and entering a new name.
|
|
32
|
+
|
|
33
|
+
It updates `lifeos.yaml`, renames the actual directory, and batch-replaces all related wikilinks across the vault. That lets you adapt directory names to your own workflow, language preference, and project structure while keeping configuration and links consistent.
|
|
34
|
+
|
|
35
|
+
### Learning Workflows
|
|
36
|
+
|
|
37
|
+
LifeOS provides a set of Agent skills designed around the learning process, connecting "input -> understanding -> output -> reinforcement" into a continuous workflow:
|
|
38
|
+
|
|
39
|
+
- `/today`, `/brainstorm`, `/ask`: organize the day's focus, clarify questions, and quickly expand ideas
|
|
40
|
+
- `/project`, `/research`, `/knowledge`: turn a topic into a project, a research report, and structured knowledge notes
|
|
41
|
+
- `/digest`: subscribe to topic updates and generate structured weekly digests from paper sources, RSS, and web search
|
|
42
|
+
- `/read-pdf`, `/revise`, `/archive`: move from source extraction, to review and reinforcement, to periodic archiving
|
|
43
|
+
|
|
44
|
+
## Core Components
|
|
45
|
+
|
|
46
|
+
- **Memory system** — Project-scoped and skill-bound, providing vault indexing, session memory, and context assembly for AI agents
|
|
47
|
+
- **CLI scaffold** — install globally, then use `lifeos init` to bootstrap a complete workspace
|
|
48
|
+
- **Skill system** — 10 Agent skills covering daily planning, projects, research, weekly digests, knowledge curation, review, and more
|
|
49
|
+
- **Templates + Schema** — 8 structured templates + Frontmatter schema for consistent notes
|
|
50
|
+
|
|
51
|
+
## Quick Start
|
|
52
|
+
|
|
53
|
+
LifeOS has been verified to work properly with Claude Code TUI / Codex TUI / OpenCode TUI on macOS, and with OpenCode GUI on Windows. Other desktop GUI apps or platform/client combinations have not been validated yet and may require additional testing.
|
|
54
|
+
|
|
55
|
+
### Prerequisites
|
|
56
|
+
|
|
57
|
+
Before starting, make sure Obsidian and at least one of Claude Code TUI / Codex TUI / OpenCode TUI / OpenCode GUI are installed locally.
|
|
58
|
+
|
|
59
|
+
| Dependency | Required | Purpose |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| **Node.js 24.14.1+ (LTS)** | Required | Runtime for MCP server and CLI |
|
|
62
|
+
| **Python 3** | Required | PDF extraction (`/read-pdf`) and digest fetch helpers (`/digest`) |
|
|
63
|
+
|
|
64
|
+
`lifeos init` checks all prerequisites before creating the workspace.
|
|
65
|
+
|
|
66
|
+
### Installation and Initialization
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Step 1: install the CLI globally
|
|
70
|
+
npm install -g lifeos
|
|
71
|
+
|
|
72
|
+
# Step 2: create a new LifeOS workspace (auto-detects language from system locale)
|
|
73
|
+
lifeos init ./my-vault
|
|
74
|
+
|
|
75
|
+
# Or specify language explicitly
|
|
76
|
+
lifeos init ./my-vault --lang zh # Chinese
|
|
77
|
+
lifeos init ./my-vault --lang en # English
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
After init, MCP server configs are automatically registered for:
|
|
81
|
+
|
|
82
|
+
| Tool | Config file |
|
|
83
|
+
|---|---|
|
|
84
|
+
| **Claude Code** | `.mcp.json` |
|
|
85
|
+
| **Codex** | `.codex/config.toml` |
|
|
86
|
+
| **OpenCode** | `opencode.json` |
|
|
87
|
+
|
|
88
|
+
Launch any of these tools in the vault directory to use all skills.
|
|
89
|
+
|
|
90
|
+
If you want version control for the vault, initialize and manage Git yourself. LifeOS does not create or manage Git metadata for you.
|
|
91
|
+
|
|
92
|
+
## CLI Commands
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
lifeos init [path] [--lang zh|en] [--no-mcp] # Create a new vault
|
|
96
|
+
lifeos upgrade [path] [--lang zh|en] [--override] # Upgrade and restore assets/scaffold
|
|
97
|
+
lifeos doctor [path] # Health check
|
|
98
|
+
lifeos rename [path] # Interactive directory rename
|
|
99
|
+
lifeos --help # Show help
|
|
100
|
+
lifeos --version # Show version
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### init
|
|
104
|
+
|
|
105
|
+
Creates a complete LifeOS workspace:
|
|
106
|
+
|
|
107
|
+
- 10 top-level directories plus nested subdirectories
|
|
108
|
+
- 8 Markdown templates
|
|
109
|
+
- Frontmatter schema
|
|
110
|
+
- 10 AI skills with language-aware assets
|
|
111
|
+
- `CLAUDE.md` agent behavior spec
|
|
112
|
+
- `lifeos.yaml` config
|
|
113
|
+
- MCP server registration (Claude Code / Codex / OpenCode)
|
|
114
|
+
|
|
115
|
+
### upgrade
|
|
116
|
+
|
|
117
|
+
Upgrades and re-syncs an initialized vault:
|
|
118
|
+
|
|
119
|
+
- **Smart merge**: update unmodified templates, schema files, built-in prompts, and skill files; skip modified ones with a warning
|
|
120
|
+
- **Restore missing scaffold**: bring back missing directories and managed files such as the memory directory, `.claude/skills`, `CLAUDE.md`, `AGENTS.md`, and MCP config entries
|
|
121
|
+
- **Preserve user changes**: built-in files already customized by the user are not force-overwritten
|
|
122
|
+
- **`--override` force-refreshes resources**: overwrite templates, schema, prompts, skills, `CLAUDE.md`, `AGENTS.md`, and MCP config entries without deleting user notes, resources, `memory.db`, memory-system data, or custom directory/memory settings in `lifeos.yaml`
|
|
123
|
+
|
|
124
|
+
By default, `lifeos upgrade` tries to preserve resource files you have already modified, while updating untouched content and restoring anything missing. If you want to explicitly replace those resources with the current built-in templates, skills, schema files, and MCP config entries, use `--override`:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
lifeos upgrade ./my-vault --override
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### doctor
|
|
131
|
+
|
|
132
|
+
Checks vault integrity: directory structure, templates, schema, skills, config, Node.js version, and asset version.
|
|
133
|
+
|
|
134
|
+
### rename: Directory Customization
|
|
135
|
+
|
|
136
|
+
No extra flags are required. Run `lifeos rename [path]` and the CLI will show the directories available in the current vault, then guide you step by step to choose one and enter a new name. It updates `lifeos.yaml`, renames the actual directory, and batch-replaces related wikilinks across the vault.
|
|
137
|
+
|
|
138
|
+
This means LifeOS does not lock you into fixed directory names. You can freely adapt directory names to your own workflow, language preference, and project structure while keeping configuration and links consistent.
|
|
139
|
+
|
|
140
|
+
## Skills
|
|
141
|
+
|
|
142
|
+
| Skill | Description |
|
|
143
|
+
|---|---|
|
|
144
|
+
| `/today` | Morning planning: review yesterday, plan today |
|
|
145
|
+
| `/project` | Idea -> structured project |
|
|
146
|
+
| `/research` | Topic -> deep research report |
|
|
147
|
+
| `/digest` | Topic subscription -> structured weekly digest |
|
|
148
|
+
| `/knowledge` | Book/paper -> knowledge note |
|
|
149
|
+
| `/revise` | Generate quizzes, grade, and track mastery |
|
|
150
|
+
| `/read-pdf` | PDF -> structured notes |
|
|
151
|
+
| `/ask` | Quick Q&A |
|
|
152
|
+
| `/brainstorm` | Interactive brainstorming |
|
|
153
|
+
| `/archive` | Archive completed projects, processed drafts, completed plans, and diary entries older than the most recent 7 days |
|
|
154
|
+
|
|
155
|
+
## Custom Expert Prompts
|
|
156
|
+
|
|
157
|
+
The `/research` skill automatically scans the Prompts directory in your vault for expert prompt files. LifeOS ships with built-in expert prompts for AI/LLM, Math, Art, and History, and you can add your own to extend research capabilities to any domain.
|
|
158
|
+
|
|
159
|
+
### How It Works
|
|
160
|
+
|
|
161
|
+
When you invoke `/research`, the Planning Agent:
|
|
162
|
+
|
|
163
|
+
1. Lists all `.md` files in `{system directory}/Prompts/`
|
|
164
|
+
2. Reads each file's frontmatter and **Domain Coverage** section
|
|
165
|
+
3. Matches the research topic to the best-fit expert prompt
|
|
166
|
+
4. Applies the matched prompt's analytical framework and output format to the research report
|
|
167
|
+
|
|
168
|
+
### Adding Custom Expert Prompts
|
|
169
|
+
|
|
170
|
+
Create a `.md` file in your vault's Prompts directory (`{system directory}/Prompts/`). The Planning Agent will pick it up automatically on the next `/research` invocation, with no restart or re-init required. Use the built-in prompts in the same directory as a reference for structure.
|
|
171
|
+
|
|
172
|
+
## Tech Stack
|
|
173
|
+
|
|
174
|
+
- **Runtime:** TypeScript + Node.js 24.14.1+ (LTS)
|
|
175
|
+
- **Database:** SQLite + FTS5 (full-text search)
|
|
176
|
+
- **Segmentation:** @node-rs/jieba (Chinese tokenization)
|
|
177
|
+
- **Protocol:** MCP (Model Context Protocol)
|
|
178
|
+
- **Vault:** Obsidian (plain Markdown + Frontmatter)
|
|
179
|
+
|
|
180
|
+
## Milestones
|
|
181
|
+
|
|
182
|
+
- ✅ LifeOS 1.0 is now basically usable
|
|
183
|
+
- ✅ The CLI supports directory customization
|
|
184
|
+
- ✅ The CLI `upgrade` command supports smart updates
|
|
185
|
+
- ✅ Claude Code TUI / Codex TUI / OpenCode TUI on macOS and OpenCode GUI on Windows have been tested
|
|
186
|
+
- ✅ The `/digest` skill supports multilingual weekly digests with multi-source paper fetching
|
|
187
|
+
- ☐ Improve memory-system precision
|
|
188
|
+
- ☐ Support custom skills
|
|
189
|
+
- ☐ Support custom workflows
|
|
190
|
+
|
|
191
|
+
## Development
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
git clone git@github.com:luneth90/lifeos.git
|
|
195
|
+
cd lifeos
|
|
196
|
+
npm install
|
|
197
|
+
npm run build # Compile TypeScript
|
|
198
|
+
npm test # Run tests (431 tests)
|
|
199
|
+
npm run dev # Dev mode (hot reload)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
[MIT](LICENSE)
|
|
205
|
+
|
|
206
|
+
## Acknowledgements
|
|
207
|
+
|
|
208
|
+
This project was inspired by [MarsWang42/OrbitOS](https://github.com/MarsWang42/OrbitOS).
|
package/README.md
CHANGED
|
@@ -1,127 +1,126 @@
|
|
|
1
1
|
# LifeOS
|
|
2
|
-

|
|
3
|
+
[English](./README.en.md) | 中文
|
|
4
4
|
|
|
5
|
-
LifeOS
|
|
5
|
+
LifeOS 帮助你将碎片灵感发展为结构化知识,并真正掌握它,从随手捕获的想法,到头脑风暴与深度研究,到体系化的项目规划与知识笔记,再到间隔复习与掌握度追踪。目标不只是建立知识库,而是帮你理解、内化和驾驭复杂知识。
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 为什么开发 LifeOS?
|
|
8
8
|
|
|
9
|
-
LifeOS
|
|
9
|
+
LifeOS 的出发点很直接:把学习工作流、技能、模板、提示词和记忆系统整合成一套可以直接落地的完整方案。你不需要自己从零拼装工具链,也不必在不同工具之间来回切换,初始化后即可开箱即用,并在真实使用中持续沉淀知识、流程与偏好。
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## 核心功能
|
|
12
12
|
|
|
13
|
-
###
|
|
13
|
+
### 记忆系统
|
|
14
14
|
|
|
15
|
-
>
|
|
15
|
+
> 记忆系统是 LifeOS 的核心能力,它以目录级、技能绑定的方式工作,把学习过程中的上下文、偏好与决策持续沉淀下来,让长期学习更连贯、更可追踪,也更容易形成积累。
|
|
16
16
|
|
|
17
|
-
####
|
|
17
|
+
#### 跨会话连续性
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
会话桥接和活跃文档上下文会持续沉淀,Agent 不只依赖当前对话。
|
|
20
20
|
|
|
21
|
-
####
|
|
21
|
+
#### 项目级、技能绑定
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
记忆系统围绕当前 Vault 中的 LifeOS 项目运行,只在 `today`、`project`、`research`、`knowledge`、`revise`、`digest`、`archive` 等技能工作流里激活,并持续积累偏好、决策和上下文。
|
|
24
24
|
|
|
25
|
-
####
|
|
25
|
+
#### 比全局记忆更可控
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
相较于把跨目录内容和全局会话混在一起的记忆方式,项目级、技能绑定的记忆系统能减少无关噪声,让检索结果与后续决策更贴近当前 LifeOS 工作流。
|
|
28
28
|
|
|
29
|
-
###
|
|
29
|
+
### 目录自定义
|
|
30
30
|
|
|
31
|
-
LifeOS
|
|
31
|
+
LifeOS 不把目录命名固定死。执行 `lifeos rename [path]` 后,CLI 会交互式列出当前 Vault 中可调整的目录,引导你选择目录并输入新名称。
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
它会同步更新 `lifeos.yaml`、重命名实际目录,并批量替换 Vault 中所有相关的 wikilink。你可以根据自己的工作流、语言习惯和项目结构自由调整目录名称,同时保持配置和链接关系一致。
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### 学习工作流
|
|
36
36
|
|
|
37
|
-
LifeOS
|
|
37
|
+
LifeOS 提供一组围绕学习过程设计的 Agent 技能,把“输入 -> 理解 -> 产出 -> 巩固”串成连续工作流:
|
|
38
38
|
|
|
39
|
-
- `/today
|
|
40
|
-
- `/project
|
|
41
|
-
- `/digest
|
|
42
|
-
- `/read-pdf
|
|
39
|
+
- `/today`、`/brainstorm`、`/ask`:整理当天重点、澄清问题、快速展开想法
|
|
40
|
+
- `/project`、`/research`、`/knowledge`:把主题推进成项目、研究报告和知识笔记
|
|
41
|
+
- `/digest`:按主题订阅论文、RSS 与 Web 更新,自动生成结构化信息周报
|
|
42
|
+
- `/read-pdf`、`/revise`、`/archive`:从资料提取、复习巩固,到定期归档收束
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## 核心组件
|
|
45
45
|
|
|
46
|
-
-
|
|
47
|
-
- **CLI
|
|
48
|
-
-
|
|
49
|
-
-
|
|
46
|
+
- **记忆系统**:项目级、技能绑定,为 AI Agent 提供 Vault 索引、会话记忆、上下文组装
|
|
47
|
+
- **CLI 脚手架**:全局安装后使用 `lifeos init` 一键创建工作空间
|
|
48
|
+
- **技能系统**:10 个 Agent 技能覆盖日记、项目、研究、信息周报、知识整理、复习等工作流
|
|
49
|
+
- **模板 + 规范**:8 个结构化模板 + Frontmatter 规范,确保笔记一致性
|
|
50
50
|
|
|
51
|
-
##
|
|
51
|
+
## 快速开始
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
目前已确认 macOS 上的 Claude Code TUI / Codex TUI / OpenCode TUI,以及 Windows 上 OpenCode GUI 可以正常使用。其他 GUI 桌面端或平台/客户端组合尚未完成验证,实际兼容性仍需进一步测试。
|
|
54
54
|
|
|
55
|
-
###
|
|
55
|
+
### 前置要求
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
开始前,请确保本机已安装 Obsidian,以及 Claude Code TUI / Codex TUI / OpenCode TUI / OpenCode GUI 中至少一种。
|
|
58
58
|
|
|
59
|
-
|
|
|
59
|
+
| 依赖 | 必须 | 用途 |
|
|
60
60
|
|---|---|---|
|
|
61
|
-
| **Node.js 24.14.1+ (LTS)** |
|
|
62
|
-
| **Python 3** |
|
|
61
|
+
| **Node.js 24.14.1+ (LTS)** | 必须 | MCP Server 和 CLI 运行环境 |
|
|
62
|
+
| **Python 3** | 必须 | PDF 提取(`/read-pdf`)和信息周报抓取脚本(`/digest`) |
|
|
63
63
|
|
|
64
|
-
`lifeos init`
|
|
64
|
+
`lifeos init` 会在创建工作空间前自动检查所有前置依赖。
|
|
65
65
|
|
|
66
|
-
###
|
|
66
|
+
### 安装与初始化
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
#
|
|
69
|
+
# 第一步:全局安装 CLI
|
|
70
70
|
npm install -g lifeos
|
|
71
71
|
|
|
72
|
-
#
|
|
72
|
+
# 第二步:创建新的 LifeOS 工作空间(根据系统 locale 自动检测语言)
|
|
73
73
|
lifeos init ./my-vault
|
|
74
74
|
|
|
75
|
-
#
|
|
76
|
-
lifeos init ./my-vault --lang zh #
|
|
77
|
-
lifeos init ./my-vault --lang en #
|
|
75
|
+
# 或显式指定语言
|
|
76
|
+
lifeos init ./my-vault --lang zh # 中文
|
|
77
|
+
lifeos init ./my-vault --lang en # 英文
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
安装完成后,MCP server 配置会自动注册到以下工具:
|
|
81
81
|
|
|
82
|
-
|
|
|
82
|
+
| 工具 | 配置文件 |
|
|
83
83
|
|---|---|
|
|
84
84
|
| **Claude Code** | `.mcp.json` |
|
|
85
85
|
| **Codex** | `.codex/config.toml` |
|
|
86
86
|
| **OpenCode** | `opencode.json` |
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
在 Vault 目录下启动任一工具即可使用所有技能。
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
## CLI Commands
|
|
90
|
+
## CLI 命令
|
|
93
91
|
|
|
94
92
|
```bash
|
|
95
|
-
lifeos init [path] [--lang zh|en] [--no-mcp] #
|
|
96
|
-
lifeos upgrade [path] [--lang zh|en] [--override] #
|
|
97
|
-
lifeos doctor [path] #
|
|
98
|
-
lifeos rename [path] #
|
|
99
|
-
lifeos --help #
|
|
100
|
-
lifeos --version #
|
|
93
|
+
lifeos init [path] [--lang zh|en] [--no-mcp] # 创建新 Vault
|
|
94
|
+
lifeos upgrade [path] [--lang zh|en] [--override] # 升级并补齐资产与脚手架
|
|
95
|
+
lifeos doctor [path] # 健康检查
|
|
96
|
+
lifeos rename [path] # 交互式重命名目录
|
|
97
|
+
lifeos --help # 查看帮助
|
|
98
|
+
lifeos --version # 查看版本
|
|
101
99
|
```
|
|
102
100
|
|
|
103
101
|
### init
|
|
104
102
|
|
|
105
|
-
|
|
103
|
+
创建完整的 LifeOS 工作空间:
|
|
106
104
|
|
|
107
|
-
- 10
|
|
108
|
-
- 8 Markdown
|
|
109
|
-
- Frontmatter
|
|
110
|
-
- 10 AI
|
|
111
|
-
- `CLAUDE.md`
|
|
112
|
-
- `lifeos.yaml`
|
|
113
|
-
-
|
|
105
|
+
- 10 个顶层目录 + 嵌套子目录
|
|
106
|
+
- 8 个 Markdown 模板
|
|
107
|
+
- Frontmatter 规范
|
|
108
|
+
- 10 个 AI 技能(按语言自动切换)
|
|
109
|
+
- `CLAUDE.md` Agent 行为规范
|
|
110
|
+
- `lifeos.yaml` 配置文件
|
|
111
|
+
- Git 初始化 + `.gitignore`
|
|
112
|
+
- MCP Server 注册(Claude Code / Codex / OpenCode)
|
|
114
113
|
|
|
115
114
|
### upgrade
|
|
116
115
|
|
|
117
|
-
|
|
116
|
+
对已初始化的 Vault 执行升级与补全:
|
|
118
117
|
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
- **`--override`
|
|
118
|
+
- **智能合并**:模板、规范、内置提示词、技能文件未修改则更新,已修改则跳过并警告
|
|
119
|
+
- **缺失补全**:缺失的目录和脚手架文件会补回,例如记忆目录、`.claude/skills`、`CLAUDE.md`、`AGENTS.md`、`.gitignore`、`.git`、MCP 配置
|
|
120
|
+
- **保留用户修改**:已存在且被用户改过的内置文件不会被强制覆盖
|
|
121
|
+
- **`--override` 强制刷新资源**:覆盖模板、规范、提示词、技能、`CLAUDE.md`、`AGENTS.md` 以及 MCP 配置,但不会删除用户笔记、资源、`memory.db`、记忆系统数据,也不会改写 `lifeos.yaml` 里的目录和记忆配置
|
|
123
122
|
|
|
124
|
-
|
|
123
|
+
默认执行 `lifeos upgrade` 时,会尽量保留你已经改过的资源文件,只更新未修改内容并补齐缺失项。如果你希望直接用当前版本的内置模板、技能、规范和 MCP 配置重新覆盖这些资源,可以显式加上 `--override`:
|
|
125
124
|
|
|
126
125
|
```bash
|
|
127
126
|
lifeos upgrade ./my-vault --override
|
|
@@ -129,80 +128,80 @@ lifeos upgrade ./my-vault --override
|
|
|
129
128
|
|
|
130
129
|
### doctor
|
|
131
130
|
|
|
132
|
-
|
|
131
|
+
检查 Vault 完整性:目录结构、模板、规范、技能、配置文件、Node.js 版本、资产版本。
|
|
133
132
|
|
|
134
|
-
### rename
|
|
133
|
+
### rename:目录可自定义化
|
|
135
134
|
|
|
136
|
-
|
|
135
|
+
无需额外参数,直接执行 `lifeos rename [path]` 后,CLI 会列出当前 Vault 中可调整的目录,并通过交互引导你选择目录和输入新名称。它会同步更新 `lifeos.yaml`、重命名实际目录,并批量替换 Vault 中所有相关的 wikilink。
|
|
137
136
|
|
|
138
|
-
|
|
137
|
+
这意味着 LifeOS 的目录命名不是固定死的。你可以根据自己的工作流、语言习惯和项目结构,自由调整各个目录的名称,同时保持配置和链接关系一致,获得最大的使用自由度。
|
|
139
138
|
|
|
140
|
-
##
|
|
139
|
+
## 技能一览
|
|
141
140
|
|
|
142
|
-
|
|
|
141
|
+
| 技能 | 功能 |
|
|
143
142
|
|---|---|
|
|
144
|
-
| `/today` |
|
|
145
|
-
| `/project` |
|
|
146
|
-
| `/research` |
|
|
147
|
-
| `/digest` |
|
|
148
|
-
| `/knowledge` |
|
|
149
|
-
| `/revise` |
|
|
150
|
-
| `/read-pdf` | PDF
|
|
151
|
-
| `/ask` |
|
|
152
|
-
| `/brainstorm` |
|
|
153
|
-
| `/archive` |
|
|
143
|
+
| `/today` | 晨间规划:回顾昨日、规划今日 |
|
|
144
|
+
| `/project` | 想法 → 结构化项目 |
|
|
145
|
+
| `/research` | 主题 → 深度研究报告 |
|
|
146
|
+
| `/digest` | 主题订阅 → 结构化信息周报 |
|
|
147
|
+
| `/knowledge` | 书籍/论文 → 知识笔记 |
|
|
148
|
+
| `/revise` | 生成复习题、批改、追踪掌握度 |
|
|
149
|
+
| `/read-pdf` | PDF → 结构化笔记 |
|
|
150
|
+
| `/ask` | 快速问答 |
|
|
151
|
+
| `/brainstorm` | 交互式头脑风暴 |
|
|
152
|
+
| `/archive` | 归档已完成的项目、已处理的草稿、已完成的计划,以及超过最近 7 天的日记 |
|
|
154
153
|
|
|
155
|
-
##
|
|
154
|
+
## 自定义专家提示词
|
|
156
155
|
|
|
157
|
-
|
|
156
|
+
`/research` 技能会自动扫描 Vault 中提示词目录下的所有专家人格文件。LifeOS 内置了 AI/LLM、数学、艺术、历史等领域的专家人格,你可以添加自己的提示词来扩展研究能力到任何领域。
|
|
158
157
|
|
|
159
|
-
###
|
|
158
|
+
### 工作原理
|
|
160
159
|
|
|
161
|
-
|
|
160
|
+
调用 `/research` 时,Planning Agent 会:
|
|
162
161
|
|
|
163
|
-
1.
|
|
164
|
-
2.
|
|
165
|
-
3.
|
|
166
|
-
4.
|
|
162
|
+
1. 列出 `{系统目录}/提示词/` 下所有 `.md` 文件
|
|
163
|
+
2. 读取每个文件的 frontmatter 和**领域覆盖**章节
|
|
164
|
+
3. 将研究主题与最匹配的专家提示词进行比对
|
|
165
|
+
4. 将匹配的专家提示词的分析框架和输出格式应用到研究报告中
|
|
167
166
|
|
|
168
|
-
###
|
|
167
|
+
### 添加自定义专家提示词
|
|
169
168
|
|
|
170
|
-
|
|
169
|
+
在 Vault 的提示词目录(`{系统目录}/提示词/`)下创建 `.md` 文件即可。Planning Agent 在下次 `/research` 调用时会自动发现,无需重启或重新初始化。文件结构参照同目录下的预设提示词即可。
|
|
171
170
|
|
|
172
|
-
##
|
|
171
|
+
## 技术栈
|
|
173
172
|
|
|
174
|
-
- **Runtime:** TypeScript + Node.js
|
|
175
|
-
- **Database:** SQLite + FTS5
|
|
176
|
-
- **Segmentation:** @node-rs/jieba
|
|
173
|
+
- **Runtime:** TypeScript + Node.js 18+
|
|
174
|
+
- **Database:** SQLite + FTS5(全文搜索)
|
|
175
|
+
- **Segmentation:** @node-rs/jieba(中文分词)
|
|
177
176
|
- **Protocol:** MCP (Model Context Protocol)
|
|
178
|
-
- **Vault:** Obsidian
|
|
177
|
+
- **Vault:** Obsidian(纯 Markdown + Frontmatter)
|
|
179
178
|
|
|
180
|
-
##
|
|
179
|
+
## 里程碑
|
|
181
180
|
|
|
182
|
-
- ✅ LifeOS 1.0
|
|
183
|
-
- ✅
|
|
184
|
-
- ✅
|
|
185
|
-
- ✅ Claude Code TUI / Codex TUI / OpenCode TUI
|
|
186
|
-
- ✅
|
|
187
|
-
- ☐
|
|
188
|
-
- ☐
|
|
189
|
-
- ☐
|
|
181
|
+
- ✅ LifeOS 1.0 版本已初步可用
|
|
182
|
+
- ✅ CLI 支持目录自定义
|
|
183
|
+
- ✅ CLI upgrade 支持智能更新
|
|
184
|
+
- ✅ 已完成 macOS 上 Claude Code TUI / Codex TUI / OpenCode TUI 与 Windows 上 OpenCode GUI 的验证
|
|
185
|
+
- ✅ `/digest` 技能已支持中英双语信息周报与多来源论文抓取
|
|
186
|
+
- ☐ 强化记忆系统精准性
|
|
187
|
+
- ☐ 支持自定义技能
|
|
188
|
+
- ☐ 支持自定义工作流
|
|
190
189
|
|
|
191
|
-
##
|
|
190
|
+
## 开发
|
|
192
191
|
|
|
193
192
|
```bash
|
|
194
193
|
git clone git@github.com:luneth90/lifeos.git
|
|
195
194
|
cd lifeos
|
|
196
195
|
npm install
|
|
197
|
-
npm run build #
|
|
198
|
-
npm test #
|
|
199
|
-
npm run dev #
|
|
196
|
+
npm run build # 编译 TypeScript
|
|
197
|
+
npm test # 运行测试(431 个)
|
|
198
|
+
npm run dev # 开发模式(热重载)
|
|
200
199
|
```
|
|
201
200
|
|
|
202
201
|
## License
|
|
203
202
|
|
|
204
203
|
[MIT](LICENSE)
|
|
205
204
|
|
|
206
|
-
##
|
|
205
|
+
## 致谢
|
|
207
206
|
|
|
208
|
-
|
|
207
|
+
本项目的灵感来源于 [MarsWang42/OrbitOS](https://github.com/MarsWang42/OrbitOS)。
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
> The default directory names below come from presets; actual names follow the user's `lifeos.yaml` configuration.
|
|
7
7
|
|
|
8
8
|
# Agent Behavior Guidelines — LifeOS
|
|
9
|
-
`v1.1.
|
|
9
|
+
`v1.1.2`
|
|
10
10
|
|
|
11
11
|
You are the user's lifelong learning partner. Through **LifeOS**, help the user develop fragmented inspirations into structured knowledge and truly master it — from casually captured ideas, through brainstorming and deep research, to systematic project planning and knowledge notes, then spaced review and mastery tracking. The goal is not just building a knowledge base, but helping the user understand, internalize, and command complex knowledge.
|
|
12
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: archive
|
|
3
3
|
description: "Scan and archive completed projects (status:done), consumed drafts (status:researched/projected/knowledged), completed plans (status: done), and diary entries older than the most recent 7 days, moving them into the unified archive structure and updating frontmatter. Never touches pending drafts, active plans, or the most recent 7 days of diary entries. Use this skill when the user wants to clean up the Vault, archive completed work, tidy up, or says '/archive'."
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates: []
|
|
7
7
|
prompts: []
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: archive
|
|
3
3
|
description: '扫描并归档已完成的项目(status:done)、已消化的草稿(status:researched/projected/knowledged)、已完成的计划(status: done)以及超过最近 7 天的日记,按归档规则移入统一归档目录并更新 frontmatter。不会触碰 pending 草稿、active 计划或最近 7 天的日记。当用户想清理 Vault、归档已完成的工作、整理库、或说"/archive"时使用此技能。'
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates: []
|
|
7
7
|
prompts: []
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask
|
|
3
3
|
description: Quickly answer user questions, retrieving existing Vault notes as needed. Suitable for concept explanations, usage queries, Vault content lookups, PDF page-specific questions, and other single-turn Q&A scenarios. Complex questions will suggest upgrading to /brainstorm or /research.
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates:
|
|
7
7
|
- path: "{system directory}/{templates subdirectory}/Draft_Template.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask
|
|
3
3
|
description: 快速回答用户问题,按需检索 Vault 已有笔记辅助作答。适用于概念解释、用法查询、Vault 内容检索、PDF 指定页面提问等单轮问答场景。当用户提出任何直接问题或说"/ask"时使用此技能。复杂问题会建议升级到 /brainstorm 或 /research。
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates:
|
|
7
7
|
- path: "{系统目录}/{模板子目录}/Draft_Template.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brainstorm
|
|
3
3
|
description: Explore and deepen user ideas through multi-turn interactive dialogue, using techniques like 5 Whys, What if, and Devil's Advocate to guide divergent thinking. Upon conclusion, the user can choose to create a project (invoke /project), organize wiki notes, or save as a draft. Suitable when the user wants to discuss an immature idea, needs divergent thinking, or wants to explore the feasibility of a direction.
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates:
|
|
7
7
|
- path: "{system directory}/{templates subdirectory}/Wiki_Template.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brainstorm
|
|
3
3
|
description: 通过多轮交互式对话探索和深化用户的想法,使用 5 Whys、What if、Devil's Advocate 等思维技巧引导发散。结束后可选择创建项目(调用 /project)、整理为百科笔记、或保存为草稿。当用户想聊一个还不成熟的想法、需要发散思维、探索某个方向的可行性、或说"/brainstorm"时使用此技能。
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates:
|
|
7
7
|
- path: "{系统目录}/{模板子目录}/Wiki_Template.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: digest
|
|
3
3
|
description: "A general weekly digest skill: on first use, guide the user through creating a topic config note (Paper Sources, RSS, Web search, and more), then automatically fetch updates and write a structured weekly digest into the drafts directory. Supports multiple topics with separate configs and separate outputs. Trigger when the user says '/digest', 'digest', or asks for a weekly digest."
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
dependencies:
|
|
6
6
|
templates: []
|
|
7
7
|
prompts: []
|