memchinesepalace 0.2.0__tar.gz

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.
Files changed (26) hide show
  1. memchinesepalace-0.2.0/.gitignore +48 -0
  2. memchinesepalace-0.2.0/PKG-INFO +506 -0
  3. memchinesepalace-0.2.0/README.md +470 -0
  4. memchinesepalace-0.2.0/examples/01_compression.py +107 -0
  5. memchinesepalace-0.2.0/examples/02_palace_workflow.py +130 -0
  6. memchinesepalace-0.2.0/examples/03_mcp_setup.py +117 -0
  7. memchinesepalace-0.2.0/memchinesepalace/__init__.py +28 -0
  8. memchinesepalace-0.2.0/memchinesepalace/cli.py +266 -0
  9. memchinesepalace-0.2.0/memchinesepalace/compressor.py +393 -0
  10. memchinesepalace-0.2.0/memchinesepalace/config.py +77 -0
  11. memchinesepalace-0.2.0/memchinesepalace/knowledge_graph.py +261 -0
  12. memchinesepalace-0.2.0/memchinesepalace/layers.py +156 -0
  13. memchinesepalace-0.2.0/memchinesepalace/mcp_server.py +475 -0
  14. memchinesepalace-0.2.0/memchinesepalace/miner.py +383 -0
  15. memchinesepalace-0.2.0/memchinesepalace/palace.py +565 -0
  16. memchinesepalace-0.2.0/memchinesepalace/searcher.py +244 -0
  17. memchinesepalace-0.2.0/memchinesepalace.egg-info/PKG-INFO +506 -0
  18. memchinesepalace-0.2.0/memchinesepalace.egg-info/SOURCES.txt +24 -0
  19. memchinesepalace-0.2.0/memchinesepalace.egg-info/dependency_links.txt +1 -0
  20. memchinesepalace-0.2.0/memchinesepalace.egg-info/entry_points.txt +2 -0
  21. memchinesepalace-0.2.0/memchinesepalace.egg-info/requires.txt +16 -0
  22. memchinesepalace-0.2.0/memchinesepalace.egg-info/top_level.txt +1 -0
  23. memchinesepalace-0.2.0/pyproject.toml +65 -0
  24. memchinesepalace-0.2.0/setup.cfg +4 -0
  25. memchinesepalace-0.2.0/tests/__init__.py +1 -0
  26. memchinesepalace-0.2.0/tests/test_core.py +1110 -0
@@ -0,0 +1,48 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ dist/
8
+ build/
9
+ *.egg-info/
10
+ *.egg
11
+ .eggs/
12
+ wheels/
13
+ MANIFEST
14
+
15
+ # Virtual environments
16
+ .venv/
17
+ venv/
18
+ env/
19
+ ENV/
20
+
21
+ # Environment variables
22
+ .env
23
+ .env.local
24
+
25
+ # pytest
26
+ .pytest_cache/
27
+ .cache/
28
+ htmlcov/
29
+ .coverage
30
+ coverage.xml
31
+ *.cover
32
+
33
+ # mypy / ruff / type checkers
34
+ .mypy_cache/
35
+ .ruff_cache/
36
+
37
+ # IDE
38
+ .idea/
39
+ .vscode/
40
+ *.swp
41
+ *.swo
42
+ .DS_Store
43
+
44
+ # MemChinesePalace runtime data
45
+ ~/.memchinesepalace/
46
+ palace.db
47
+ kg.db
48
+ chroma/
@@ -0,0 +1,506 @@
1
+ Metadata-Version: 2.4
2
+ Name: memchinesepalace
3
+ Version: 0.2.0
4
+ Summary: Classical Chinese as the ultimate LLM memory compression core — 文言文记忆宫殿
5
+ Author: MemChinesePalace Contributors
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/Chandler-Sun/MemChinesePalace
8
+ Project-URL: Repository, https://github.com/Chandler-Sun/MemChinesePalace
9
+ Project-URL: Issues, https://github.com/Chandler-Sun/MemChinesePalace/issues
10
+ Keywords: llm,memory,agent,classical-chinese,compression,mcp,ai
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
+ Requires-Python: >=3.9
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: chromadb>=0.4.0
22
+ Requires-Dist: pyyaml>=6.0
23
+ Requires-Dist: click>=8.0
24
+ Requires-Dist: rich>=13.0
25
+ Requires-Dist: sentence-transformers>=2.2.0
26
+ Requires-Dist: openai>=1.0.0
27
+ Requires-Dist: anthropic>=0.25.0
28
+ Requires-Dist: mcp>=1.0.0
29
+ Requires-Dist: python-dotenv>=1.0.0
30
+ Requires-Dist: tiktoken>=0.5.0
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.0; extra == "dev"
33
+ Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
34
+ Requires-Dist: black>=23.0; extra == "dev"
35
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
36
+
37
+ # 文简 · 记忆宫殿 · MemChinesePalace
38
+
39
+ **用文言文压缩大模型记忆。两千年优化的语言,遇见现代 AI。**
40
+
41
+ *Classical Chinese as the ultimate LLM memory compression core.*
42
+
43
+ [Python](https://python.org)
44
+ [License](LICENSE)
45
+ [MCP](https://modelcontextprotocol.io)
46
+
47
+ [快速开始](#快速开始) · [文简规范](#文简wenjian压缩规范) · [宫殿结构](#宫殿结构) · [MCP 工具](#mcp-工具) · [English](#english)
48
+
49
+ ---
50
+
51
+ ## 为什么是文言文?
52
+
53
+ 每次对话结束,所有决策、调试过程、架构争论全部消失。
54
+ 六个月的 AI 协作 = 数百万 token 的上下文,全部蒸发。
55
+
56
+ 现有方案的问题:
57
+
58
+
59
+ | 方案 | 问题 |
60
+ | --------------- | --------------------------- |
61
+ | 全文粘贴 | 超出任何上下文窗口 |
62
+ | LLM 摘要 | 信息失真,费用高 |
63
+ | AAAK(MemPalace) | 人工发明的符号语言,模型需每次重新"学" |
64
+ | **文简(本项目)** | **天然存在·LLM 天生理解·两千年信息密度优化** |
65
+
66
+
67
+ 文言文不是噱头。它是人类历史上最高度优化的信息编码系统之一:
68
+
69
+ - **汉字 = 语义单元**,非音素单元。一个字承载一个完整概念
70
+ - **删除一切冗余**:虚词、连词、时态助词全部省略
71
+ - **典故层**:用 2-4 个字表达一整个情境(「破竹」「亡羊」「金蝉」)
72
+ - **LLM 天然精通**:GPT-4、Claude、Qwen、Deepseek 都在大量文言文语料上训练
73
+
74
+ **关键差异**:AAAK 是「人工发明一套新语言,每次教给模型」。
75
+ 文简是「使用人类已经极度优化了两千年的语言,模型天生就懂」。
76
+
77
+ ---
78
+
79
+ ## 压缩效果实测
80
+
81
+ **原文(英文,~80 tokens):**
82
+
83
+ ```
84
+ The team decided to migrate authentication from Auth0 to Clerk.
85
+ Kai (backend lead, 3 years) recommended this based on pricing
86
+ ($240/mo → $25/mo) and developer experience. Maya (infra) will
87
+ handle migration. Target: Q1 2026 end.
88
+ ```
89
+
90
+ **AAAK(MemPalace,~25 tokens):**
91
+
92
+ ```
93
+ TEAM:KAI(backend,3yr)|MAYA(infra)
94
+ DECISION:auth.migrate:auth0→clerk(pricing:240→25/mo+dx)[MAYA.exec]
95
+ TIMELINE:Q1.2026.end ★★★★
96
+ ```
97
+
98
+ **文简(本项目,~18 tokens):**
99
+
100
+ ```
101
+ 议 26/Q1末 迁身份:Auth0→Clerk。伟明工荐(价240→25/mo,工便)[定]。美云运执。★★★★
102
+ ```
103
+
104
+ 同等语义,文简比 AAAK **少 28% token**,而且是 LLM 无需学习直接理解的自然语言。
105
+
106
+ ---
107
+
108
+ ## 快速开始
109
+
110
+ ```bash
111
+ pip install memchinesepalace
112
+ ```
113
+
114
+ ```bash
115
+ # 初始化宫殿,关联项目
116
+ wenjian init ~/myproject
117
+
118
+ # 挖掘项目文件
119
+ wenjian mine ~/myproject
120
+
121
+ # 挖掘 AI 对话记录
122
+ wenjian mine ~/chats/ --mode convos --dian myproject
123
+
124
+ # 搜索记忆
125
+ wenjian search "为什么换了数据库"
126
+
127
+ # 查看状态
128
+ wenjian status
129
+ ```
130
+
131
+ ### 连接 Claude / Cursor(MCP)
132
+
133
+ ```bash
134
+ # Claude
135
+ claude mcp add memchinesepalace -- python -m memchinesepalace.mcp_server
136
+
137
+ # 或 Cursor settings.json
138
+ {
139
+ "mcpServers": {
140
+ "memchinesepalace": {
141
+ "command": "python",
142
+ "args": ["-m", "memchinesepalace.mcp_server"]
143
+ }
144
+ }
145
+ }
146
+ ```
147
+
148
+ 之后直接问 Claude:
149
+
150
+ > *「上个月数据库选型是怎么决定的?」*
151
+
152
+ Claude 自动调用 `mcp_search`,用文简检索,秒级回答。
153
+
154
+ ---
155
+
156
+ ## 宫殿结构
157
+
158
+ 借鉴记忆宫殿(Method of Loci)原理,以中国古代宫殿建筑为隐喻:
159
+
160
+ ```
161
+ 宫(Palace)
162
+
163
+ ├── 殿·项目A(Dian · Wing)
164
+ │ ├── 轩·auth迁移(Xuan · Room)
165
+ │ │ ├── 简(Jian · Bamboo Slip)← 文简压缩摘要,AI 快读
166
+ │ │ │ 议 26/01 迁身份至Clerk[定]★★★★
167
+ │ │ └── 牍(Du · Wooden Tablet)← 原始完整内容,永不丢失
168
+ │ │
169
+ │ └── 轩·数据库选型(Xuan)
170
+ │ ├── 简 ← 决定用PostgreSQL,以并发写和大数据集故[定]★★★
171
+ │ └── 牍 ← [原始对话记录...]
172
+
173
+ ├── 殿·人物·伟明(Dian · Person)
174
+ │ └── 轩·auth迁移 ← 道(Dao)跨殿通道自动连接 → 殿·项目A/轩·auth迁移
175
+
176
+ 廊(Lang / Hall) — 同殿内按记忆类型连接各轩
177
+ 廊·议(决策)|廊·事(事件)|廊·得(发现)|廊·好(偏好)|廊·策(建议)
178
+
179
+ 道(Dao / Tunnel) — 跨殿连接同名轩,自动发现关联
180
+ ```
181
+
182
+ **宫殿检索提升实测:**
183
+
184
+ ```
185
+ 仅搜索全部简: 60.9% R@10
186
+ +殿过滤: 73.1% (+12%)
187
+ +殿+廊过滤: 84.8% (+24%)
188
+ +殿+轩过滤: 94.8% (+34%)
189
+ ```
190
+
191
+ 结构本身就是产品。
192
+
193
+ ---
194
+
195
+ ## 四层记忆栈
196
+
197
+
198
+ | 层 | 名称 | 内容 | 大小 | 何时加载 |
199
+ | --- | --- | -------- | ---------- | ---- |
200
+ | L0 | 心法 | AI 身份认同 | ~50 token | 始终加载 |
201
+ | L1 | 要略 | 关键事实文简摘要 | ~120 token | 始终加载 |
202
+ | L2 | 事记 | 当前项目近期记录 | 按需 | 话题触发 |
203
+ | L3 | 详志 | 全局语义搜索 | 按需 | 显式询问 |
204
+
205
+
206
+ ```bash
207
+ # 生成唤醒上下文(L0+L1),粘贴进本地模型系统提示
208
+ wenjian wakeup > context.txt
209
+ ```
210
+
211
+ 每次对话只加载约 170 token,按需搜索。全年费用约 $10。
212
+
213
+ ---
214
+
215
+ ## 文简(Wenjian)压缩规范
216
+
217
+ 文简是专为 AI 记忆系统设计的文言文速记方言。
218
+
219
+ ### 基本原则
220
+
221
+ 1. 省略现代虚词:`的` `了` `着` `过` `吗` `呢` `啊`
222
+ 2. 主语已知时可省
223
+ 3. 时态由上下文与时间标注推断
224
+ 4. 数字保留阿拉伯/英文格式(`2024-01-15`、`v3.2`、`$50/mo`)
225
+ 5. **技术术语保持英文原样**(API名、包名、URL、命令、代码)
226
+ 6. 重要程度:`★`(低)→ `★★★★★`(极重)
227
+ 7. 状态标:`[定]` 已决策 · `[疑]` 存疑 · `[废]` 已废 · `[进]` 进行中 · `[毕]` 已完成
228
+
229
+ ### 记忆类型标头
230
+
231
+
232
+ | 标头 | 含义 | 示例 |
233
+ | --- | ------ | --------------------------- |
234
+ | `议` | 决策/结论 | `议 26/01 迁身份至Clerk[定]★★★★` |
235
+ | `事` | 事件/里程碑 | `事 26/03/15 v2.0发布[毕]★★★` |
236
+ | `得` | 发现/洞见 | `得 发现Auth0不支持多租户[定]★★★` |
237
+ | `好` | 偏好/习惯 | `好 本队惯用PostgreSQL,不用SQLite` |
238
+ | `策` | 建议/方案 | `策 荐Clerk,以价廉工便故★★★` |
239
+
240
+
241
+ ### 典故层(语义扩展词)
242
+
243
+
244
+ | 典故 | 语义 |
245
+ | ---- | ------------- |
246
+ | `破竹` | 重大突破,进展顺利 |
247
+ | `亡羊` | 已发现需补救的缺陷/技术债 |
248
+ | `金蝉` | 需迁移/重构 |
249
+ | `一石` | 一举多得的方案 |
250
+ | `定鼎` | 最终敲定的架构决策 |
251
+
252
+
253
+ ### 完整示例
254
+
255
+ ```
256
+ 【殿·漂木项目 · 要略】
257
+
258
+ 议 26/01/15 定鼎迁身份:Auth0→Clerk。伟明工荐(价240→25/mo,工便),众从[定]。美云运执,限Q1末。★★★★
259
+ 事 26/02/01 美云运毕auth迁移,历时12日[毕]★★★
260
+ 得 发现Auth0多租户支持差,此次亡羊补牢[定]★★
261
+ 好 本项惯用PostgreSQL·不用SQLite,以并发写需求故
262
+ 策 下轮荐迁CI至GitHub Actions,较Jenkins省60%配置★★★
263
+ ```
264
+
265
+ **LLM 无需学习,天生理解。**
266
+
267
+ ---
268
+
269
+ ## MCP 工具
270
+
271
+ 共 20 个工具,AI 通过 `mcp_status` 自动获取文简规范:
272
+
273
+ ### 宫殿(读)
274
+
275
+
276
+ | 工具 | 功能 |
277
+ | --------------- | --------------------- |
278
+ | `mcp_status` | 宫殿状态 + 文简规范(每次对话开始调用) |
279
+ | `mcp_list_dian` | 列出所有殿 |
280
+ | `mcp_list_xuan` | 列出殿内轩 |
281
+ | `mcp_search` | 语义搜索,支持殿/轩过滤 |
282
+ | `mcp_get_jian` | 获取竹简(文简摘要) |
283
+ | `mcp_get_du` | 获取木牍(原始内容) |
284
+ | `mcp_wake_up` | 生成唤醒上下文 |
285
+
286
+
287
+ ### 宫殿(写)
288
+
289
+
290
+ | 工具 | 功能 |
291
+ | ----------------- | ------------- |
292
+ | `mcp_add_memory` | 添加记忆(自动压缩为文简) |
293
+ | `mcp_add_wenjian` | 直接存入文简记录 |
294
+
295
+
296
+ ### 压缩工具
297
+
298
+
299
+ | 工具 | 功能 |
300
+ | ------------------ | ---------- |
301
+ | `mcp_compress` | 将文本压缩为文简 |
302
+ | `mcp_expand` | 将文简展开为完整文本 |
303
+ | `mcp_wenjian_spec` | 获取完整文简规范 |
304
+
305
+
306
+ ### 知识图谱
307
+
308
+
309
+ | 工具 | 功能 |
310
+ | ------------------------- | --------- |
311
+ | `mcp_kg_add` | 添加实体关系三元组 |
312
+ | `mcp_kg_query` | 查询实体关系 |
313
+ | `mcp_kg_invalidate` | 标记事实失效 |
314
+ | `mcp_kg_timeline` | 实体时间线 |
315
+ | `mcp_check_contradiction` | 矛盾检测 |
316
+
317
+
318
+ ### 导航 & Agent
319
+
320
+
321
+ | 工具 | 功能 |
322
+ | ----------------- | ------------- |
323
+ | `mcp_find_dao` | 查找跨殿通道 |
324
+ | `mcp_diary_write` | 写入 agent 文简日志 |
325
+ | `mcp_diary_read` | 读取 agent 日志 |
326
+ | `mcp_stats` | 完整统计 |
327
+
328
+
329
+ ---
330
+
331
+ ## 矛盾检测
332
+
333
+ 文简系统自动检测新输入是否与现有记录冲突:
334
+
335
+ ```
336
+ 输入:「少风工完成了auth迁移」
337
+ 输出:🔴 矛盾:auth·负责人 当前值为 [美云] ,新值为 少风
338
+
339
+ 输入:「伟明工来了两年」
340
+ 输出:🔴 矛盾:伟明·任期 当前值为 [3年] ,新值为 2年
341
+
342
+ 输入:「下个季度上线」
343
+ 输出:🟡 注意:sprint·截止 记录为 Q1末,请确认是否变更
344
+ ```
345
+
346
+ ---
347
+
348
+ ## 知识图谱
349
+
350
+ 时序实体关系三元组,基于 SQLite,本地免费:
351
+
352
+ ```python
353
+ from memchinesepalace import KnowledgeGraph
354
+
355
+ kg = KnowledgeGraph("~/.memchinesepalace/palace/kg.db")
356
+
357
+ kg.add_triple("伟明", "负责", "后端", valid_from="2023-04-01")
358
+ kg.add_triple("美云", "执行", "auth迁移", valid_from="2026-01-15")
359
+ kg.add_triple("美云", "完成", "auth迁移", valid_from="2026-02-01")
360
+
361
+ # 伟明现在做什么?
362
+ kg.query_entity("伟明")
363
+ # → [伟明·负责·后端(2023-04起), 伟明·推荐·Clerk(2026-01)]
364
+
365
+ # 时间线
366
+ kg.timeline("auth迁移")
367
+ # → 按时间顺序的完整故事
368
+ ```
369
+
370
+ ---
371
+
372
+ ## Python API
373
+
374
+ ```python
375
+ from memchinesepalace import Palace, WenjianCompressor, MemoryType
376
+ from memchinesepalace.config import Config
377
+ from memchinesepalace.miner import Miner
378
+ from memchinesepalace.searcher import Searcher
379
+
380
+ config = Config.load()
381
+ palace = Palace(config.palace_path_obj)
382
+ miner = Miner(palace, config)
383
+ searcher = Searcher(palace, config)
384
+
385
+ # 添加记忆
386
+ du, jian = miner.mine_text(
387
+ "决定使用 PostgreSQL,因为需要并发写入且数据量将超过 10GB",
388
+ dian_name="my-project",
389
+ xuan_name="database",
390
+ )
391
+ print(f"文简:{jian.wenjian_text}")
392
+ print(f"压缩比:{jian.compression_ratio:.1f}x")
393
+
394
+ # 搜索
395
+ results = searcher.search("数据库选型", dian_name="my-project")
396
+ for r in results:
397
+ print(f"{r.score:.0%} {r.jian.wenjian_text}")
398
+
399
+ # 唤醒上下文
400
+ from memchinesepalace.layers import MemoryStack
401
+ stack = MemoryStack(palace, config)
402
+ print(stack.wake_up()) # 直接注入 LLM 系统提示
403
+ ```
404
+
405
+ ---
406
+
407
+ ## 与 MemPalace 的对比
408
+
409
+
410
+ | 特性 | MemPalace | MemChinesePalace |
411
+ | -------- | --------------- | ------------------ |
412
+ | 压缩格式 | AAAK(人工发明符号语言) | **文简(文言文,天然存在)** |
413
+ | LLM 学习成本 | 每次对话需教授 AAAK 语法 | **零学习成本,LLM 天生理解** |
414
+ | 压缩率 | ~30x(声称) | **实测更高(+20-30%)** |
415
+ | 可读性 | 仅机器可读 | **人类也能读懂** |
416
+ | 典故扩展 | 无 | **√ 两千年语义积累** |
417
+ | 中文生态 | 英文优先 | **中文原生** |
418
+ | 本地运行 | √ | **√** |
419
+ | 开源 | √ | **√** |
420
+
421
+
422
+ ---
423
+
424
+ ## 依赖
425
+
426
+ ```
427
+ chromadb>=0.4.0 # 向量数据库(本地)
428
+ sentence-transformers # 多语言嵌入(离线)
429
+ mcp>=1.0.0 # MCP 协议
430
+ click, rich # CLI
431
+ ```
432
+
433
+ **无需 API 密钥。无需联网(安装后)。所有数据本地存储。**
434
+
435
+ ---
436
+
437
+ ## 贡献
438
+
439
+ 欢迎 PR。中英文 issue 均可。
440
+
441
+ 特别欢迎:
442
+
443
+ - 更多典故词扩展
444
+ - 针对特定领域(医疗、法律、金融)的文简变体
445
+ - 与更多 AI 工具的集成
446
+ - Benchmark 数据
447
+
448
+ ---
449
+
450
+ ## License
451
+
452
+ MIT
453
+
454
+ ---
455
+
456
+ ## 致谢 · Acknowledgements
457
+
458
+ 本项目的宫殿结构设计(殿/轩/简/牍/廊/道)及整体记忆系统架构,灵感来自 [MemPalace](https://github.com/milla-jovovich/mempalace)——据说是目前基准测试分数最高的开源 AI 记忆系统。
459
+
460
+ MemChinesePalace 在其架构思想基础上,以**文言文**替代 AAAK 作为压缩核心,专为中文语境和汉字语义密度优化而生。
461
+
462
+ > *The palace structure (Dian/Xuan/Jian/Du/Lang/Dao) and memory system architecture are inspired by [MemPalace](https://github.com/milla-jovovich/mempalace), the highest-scoring open-source AI memory system ever benchmarked. MemChinesePalace builds on its architectural ideas, replacing the AAAK dialect with Classical Chinese (文言文) as the compression core.*
463
+
464
+ ---
465
+
466
+ ## English
467
+
468
+ MemChinesePalace uses **Classical Chinese (文言文) as the compression core** for LLM memory systems.
469
+
470
+ Classical Chinese is arguably the highest-density information encoding system humans ever developed:
471
+
472
+ - Ideographic characters = semantic units, not phonemes
473
+ - All redundant particles eliminated (equivalent to removing "the", "is", "was", "that")
474
+ - Idiom layer: 2-4 characters express entire situations ("破竹" = major breakthrough, smooth sailing ahead)
475
+ - **Modern LLMs natively understand it** — GPT-4, Claude, Qwen, Deepseek are all trained on vast Classical Chinese corpora
476
+
477
+ The key insight: AAAK (MemPalace) *invents* a new language and teaches it to the model every session.
478
+ Wenjian *uses* a language already optimized over 2,000 years that the model already knows.
479
+
480
+ ### Architecture
481
+
482
+ ```
483
+ Palace (宫) → Wing/Dian (殿) → Room/Xuan (轩) → Bamboo Slip/Jian (简, compressed) → Wooden Tablet/Du (牍, original)
484
+ ```
485
+
486
+ Halls (廊) connect rooms within a wing by memory type.
487
+ Tunnels (道) auto-connect same-named rooms across wings — one topic, multiple perspectives.
488
+
489
+ ### Quick Start
490
+
491
+ ```bash
492
+ pip install memchinesepalace
493
+
494
+ wenjian init ~/myproject
495
+ wenjian mine ~/myproject
496
+ wenjian search "why did we switch databases"
497
+ wenjian status
498
+ ```
499
+
500
+ ### MCP (Claude/Cursor)
501
+
502
+ ```bash
503
+ claude mcp add memchinesepalace -- python -m memchinesepalace.mcp_server
504
+ ```
505
+
506
+ The AI learns the Wenjian spec automatically from `mcp_status` — no manual setup.