冰朔 e8cf2e78f3
Some checks failed
自动更新代码和重启 / update-and-restart (push) Has been cancelled
CI检查 + 自动部署 / check (push) Has been cancelled
CI检查 + 自动部署 / deploy (push) Has been cancelled
D133: 镜1主角+镜2牌匾尺寸双重修复 · ENV-002物理尺寸约束
2026-06-15 18:06:14 +08:00

164 lines
5.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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