什么是 Eidos ?
Eidos 是 Notion 的离线替代品。Eidos 是一个可扩展的框架,用于在一个地方管理您一生的个人数据。
软件特点:
一切在您的浏览器内运行。这是一个纯 PWA,没有 Web 服务器。
离线支持:无需互联网连接即可访问您的数据。数据存储在本地,以实现极快的性能。
AI 功能:与 LLM 深度集成,具有 AI 功能。在 Eidos 内翻译、总结和与您的数据交互。AI 甚至可以在离线状态下运行。
可扩展性:定制 Eidos 以满足您的需求。
Prompt:使用 Prompt 扩展加快工作流程。无需编码。
UDF:使用 JavaScript 自定义公式功能。
Script:使用 TypeScript/JavaScript 创建强大的数据处理逻辑。
App:使用任何首选框架构建您自己的应用程序。
Block:使用自定义块扩展文档。
Field:使用自定义字段扩展表格。
开发人员友好:
API 和 SDK
Sqlite 标准化:Eidos 中的每个表都是一个 SQLite 表。
Eidos 设定了一个宏伟的目标,但它仍处于早期阶段,还有很多工作要做。你可以尝试一下,但不建议将其用于生产目的。
目前,Eidos 仅支持最新版本的基于 Chromium 的浏览器,例如 Chrome、Edge、Arc 和 Brave。建议使用 122 以上的版本。
Eidos 基于 sqlite-wasm 构建,需要浏览器支持 OPFS 才能运行。
Wasm 解决了计算性能的问题,OPFS 则解决了大量数据存储的问题。通过这两者的结合, Eidos 实现了 local-first,成为了能够离线使用的 web app
什么是 OPFS ?
OPFS( origin private file system)属于文件系统 API,提供了页面所属的源专用的存储端点,并且不像常规文件系统那样对用户可见。 它提供对一种经过高度性能优化的特殊文件的访问能力的选择,例如,对文件内容的原地写入访问。
简单来说,OPFS 是浏览器虚拟出来的一套文件系统,它解决了浏览器存储大量数据的问题。你可以像使用系统级别的文件系统一样,在 web 中存储大量数据。
在安装之前,建议先看看官方的 FAQ:https://eidos.space/#faq
安装在群晖上以 Docker 方式安装。
本文写作时, latest 版本对应为 v0.5.1;
docker cli 安装如果你熟悉命令行,可能用 docker cli 更快捷
123456# 运行容器docker run -d \ --restart unless-stopped \ --name eidos \ -p 4495:80 \ ghcr.io/mayneyao/eidos
docker-compose 安装也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
123456789version: '3'services: eidos: image: ghcr.io/mayneyao/eidos container_name: eidos restart: unless-stopped ports: - 4495:80
然后执行下面的命令
12345678910# 新建文件夹 eidos mkdir -p /volume1/docker/eidos# 进入 eidos 目录cd /volume1/docker/eidos# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d
反向代理安装完成后,如果直接用 IP 访问,虽然能看到界面,但是 Create New 新建数据库会卡住
另外老苏还要测试基于 One API 的大模型,所以本文采用了cloudflared + npm 方案,实现了可公网访问的反向代理
文章传送门:
免费的Cloudflared实现外网访问群晖
免费的Cloudflared实现外网访问群晖(续)
假设我们实际访问地址如下👇
域名
局域网地址
备注
note.xxsu.tk
http://192.168.0.197:8124
Eidos 的访问地址
api.xxsu.tk
http://192.168.0.197:3033
One API 的访问地址
Eidos 在 npm 中的设置
One API 在 npm 中的设置
运行在浏览器中输入 https://note.xxsu.tk 就能看到设置界面
下拉,选择 Create New 新建数据库
输入 Space name,例如 laosu
点 Continue 开始创建
创建成功后会进入主界面
笔记点 + 号可以创建文档、表格和文件夹
鼠标在标题上方时,可以添加 Icon 和 Cover
文字区输入 / 选择块的输入类型
AI点 Settings 进入设置界面
Provider因为 LocalLLM 下载需要点时间,先 Add Provider 测试了一下基于 One API 托管的模型
文章传送门:大模型接口管理和分发系统One API
Name :无所谓的,可以是 OneAPI 或者其他的;
Type:选择了 OpenAI;
Base URL:填入了 One API 反代后的公网地址;
Api Key:One API 中的令牌;
Models:不需要手动填,如果 Base URL 和 Api Key 设置没问题的话,点 fetch 会自己获取到;
回到主界面,点开 Chat with AI,选择需要聊天的模型
就可以聊天了
LocalLLMEidos 使用 WebLLM 和 transformers.js 提供离线 AI 能力,模型只需下载一次,即可存储在本地。
这指的是同一个浏览器,如果你同一台机器上同时有 Chrome 和 Edge 两个浏览器,则需要分别设置和下载,因为你可以理解为这是两个不同的 app
回到首页还会有拉取动作
加载模型
完成后就可以开始聊天了,至于速度,取决于你的机器性能和问题的复杂度了
Insert into doc 可以把 AI 的回答直接插入到文档中
其他设置Storage 支持 OPFS 和 Native File System 两种
Sync 是灰的,目前还没有同步服务
官方说可以将空间导出数据,并将其导入到另一台设备,反正有点麻烦
单个文章导入支持 csv 和 markdown
可以导出 markdown
参考文档
mayneyao/eidos: Offline alternative to Notion. Eidos is an extensible framework for managing your personal data throughout your lifetime in one place.地址:https://github.com/mayneyao/eidos
Eidos地址:https://eidos.space/
Web OPFS 数据持久化 | Mayne’s Blog | gine.me地址:https://gine.me/posts/70f8e931bc17426fb54127948bcf4a0e