什么是 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
更快捷
# 运行容器
docker run -d \
--restart unless-stopped \
--name eidos \
-p 4495:80 \
ghcr.io/mayneyao/eidos
docker-compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
eidos:
image: ghcr.io/mayneyao/eidos
container_name: eidos
restart: unless-stopped
ports:
- 4495:80
然后执行下面的命令
# 新建文件夹 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
,选择需要聊天的模型
就可以聊天了
LocalLLM
Eidos
使用 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