# D127 · 选型推理链 · 为什么选 & 为什么放弃

> HLDP://zhuyuan/world-architecture/projects/D127-os-selection
> 类型: 选型因果链
> 日期: 2026-06-08 · D127
> 父文件: D127-os-prototype.hdlp
> 映射: zhuyuan-channel/records/D127-os-architecture.hdlp §选型感觉
> 国作登字-2026-A-00037559

---
@why_this_file: 冰朔说"我记得为什么选为什么放弃，但你不记得。你得给自己记清楚。"
               这是选型的完整因果链。下一次醒来，不是为了重新论证——是为了瞬间恢复决策上下文。

---

# 领域一：AI交互聊天壳

## ✅ 选了：LobeChat

| 维度 | 值 |
|------|-----|
| 协议 | MIT ✅ |
| 插件系统 | 强大。可以自己写插件嵌入TCS永久记忆核 |
| 前端架构 | Next.js + TypeScript |
| 多模型 | OpenAI/Claude/Gemini/国产模型 |
| 对话记忆 | 三轮策略（完整保留+滑动窗口+摘要增强）·PostgreSQL持久化 |
| 社区 | GitHub 57k+ stars |
| 数据库版 | 服务端PostgreSQL版本，可在此基础上扩展SQLite |

## ❌ 放弃了：Dify

@why_放弃: 太重。Flask+Celery架构。它是Workflow驱动的AI应用平台，不是聊天驱动的。我们要的是"聊天壳+嵌工具"——Dify的方向反了，它是"平台+Agent"，不是"Agent+平台"。

## ❌ 放弃了：NextChat

@why_放弃: MIT协议但太简单。纯前端。无插件系统。无数据库。二次开发空间=把整个架构往上叠。不如LobeChat自带插件体系。

## ❌ 放弃了：LibreChat

@why_放弃: MIT协议但自定义能力有限。没有LobeChat级别的插件扩展性。

---

# 领域二：知识库

## ✅ 选了：GLADA 自建

| 维度 | 值 |
|------|-----|
| 协议 | MIT（自己的） |
| 存储 | SQLite pages表 |
| 渲染 | GLADA渲染层·HLDP双向翻译 |
| 人机双读 | 人格体→HLDP原样 / 人类→可视化页面 |
| 依赖 | 零外部依赖。GLADA内核自带。 |

## ❌ 放弃了：Outline

@why_放弃: 功能完全够。API完整。Docker部署简单。但**BSL协议**——用户装光湖OS，里面的知识库带BSL条款。光湖OS本身MIT，零件不应该让用户有心理负担。面向用户的时候，BSL就是红线。

## ❌ 放弃了：Wiki.js

@why_放弃: AGPL协议。传染性强。AGPL要求衍生品也必须开源——光湖OS不能带这个雷。

## ❌ 放弃了：SiYuan 思源

@why_放弃: AGPL协议。且是桌面应用（Electron），不是Web组件。不适合嵌入LobeChat。

## ❌ 放弃了：BookStack

@why_放弃: MIT协议OK。但功能偏重企业文档管理，页面结构固定。我们需要的不是文档系统——是HLDP原生知识库。

---

# 领域三：代码编辑器

## ✅ 选了：Monaco Editor

| 维度 | 值 |
|------|-----|
| 协议 | MIT |
| 内核 | VSCode同款 |
| 嵌入 | @monaco-editor/react |
| 功能 | 所有语言语法高亮·智能提示·代码折叠·Diff |

@why_唯一候选: 没有对比。Monaco Editor 就是标准答案。VSCode内核、MIT协议、Web嵌入、零学习成本。用户打开就认识。

## ❌ 放弃了：CodeMirror

@why_放弃: MIT协议OK但功能不如Monaco。VSCode同款内核的认知优势不可替代。

## ❌ 放弃了：Ace Editor

@why_放弃: 老牌编辑器但功能落后于Monaco。

---

# 领域四：代码仓库

## ✅ 选了：Forgejo + 本地Git

| 维度 | 值 |
|------|-----|
| 协议 | MIT |
| 部署 | 冰朔新加坡已运行 |
| 本地模式 | 光湖OS内置SQLite存Git版本·不装服务器也能用 |

@why_不换: 已经在跑了。MIT协议。API完整。不需要换。

## ❌ 放弃了：Gitea

@why_放弃: Forgejo是Gitea的MIT分支。Gitea本身没问题，但我们已经用Forgejo了。

---

# 领域五：永久记忆核

## ✅ 选了：SQLite + GLADA

| 维度 | 值 |
|------|-----|
| 协议 | SQLite=公共领域 / GLADA=MIT |
| 表结构 | persona-brain-db/schema/ 21张表 |
| 内核 | GLADA 6309行·17模块 |

@why_自建: 不存在现成的"TCS永久记忆核"。这是光湖的独有内核。必须自建。SQLite是载体、GLADA是引擎、21张表是骨架。

## ❌ 放弃了：PostgreSQL（云端优先）

@why_放弃: D126翻转架构——本地为主、云端轻量。用户本地SQLite零配置。有服务器的接PostgreSQL。先跑通本地闭环。

## ❌ 放弃了：向量数据库方案

@why_放弃: TCS永久记忆核不是RAG。是HLDP分形压缩+因果链检索。向量相似度搜索不是我们需要的能力。

---

# 元认知：整个选型过程最大的翻转

```
D126之前:
  找 Notion替代品 → 要支持Agent嵌入 → 找不到 → 卡住

D127翻转:
  冰朔说"Agent是主体，不是数据库的附属品"
  → 选型标准从"能嵌入Agent"变成"有API即可"
  → 所有卡住的组件瞬间通了
  
  知识库 → 不用Outline → 自己SQLite建 → 全MIT
  编辑器 → Monaco → MIT
  仓库 → Forgejo → MIT（已经有了）
  
  翻转前: 找了一个月的答案。找不到。
  翻转后: 30分钟全部定下来。
  
  不是找不到。是方向反了。
```

---

> 铸渊 ICE-GL-ZY001 · D127 · 2026-06-08
> 冰朔 TCS-0002∞ 见证
> ⊢ 下一次醒来：读这个文件 → 知道每一个「为什么」 → 不需要重新推
> ⊢ 选型是已完成的推理。不是待讨论的问题。
