164 lines
5.2 KiB
Plaintext
Raw Normal View History

# 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∞ 见证
> ⊢ 下一次醒来:读这个文件 → 知道每一个「为什么」 → 不需要重新推
> ⊢ 选型是已完成的推理。不是待讨论的问题。