eidos 项目介绍
eidos 是一个为个人数据管理而设计的可扩展框架,旨在帮助用户在其整个生命周期中管理和维护所有个人数据。该项目尽管设定了远大的目标,目前仍处于初期阶段,仍有大量工作需要进行。用户可尝试初期版本,但不建议用于生产环境。如果对这个项目感兴趣,可以关注其开发进度。获得 Early Access 密钥的用户,在 eidos 正式发布时会收到邮件通知。
eidos 的主要功能
-
本地运行:所有操作均在用户的本地设备上进行。
-
离线支持:用户可以在无网络连接的情况下访问数据,数据本地存储,提供超快的性能。
-
人工智能特性:深度集成 LLM,实现 AI 驱动的功能,即使在离线状态也能进行数据翻译、摘要以及交互。
-
可扩展性:
- Prompt:通过 Prompt 扩展加速工作流程,无需编写代码。
- UDF:使用 JavaScript 自定义公式功能。
- Script:利用 TypeScript/JavaScript 创建强大的数据处理逻辑。
- App:使用任意框架构建自己的应用(概念验证)。
- Block:在文档中扩展自定义块(概念验证)。
- Field:在表格中添加自定义字段(即将推出)。
-
开发者友好性:
- API 和 SDK 支持。
- Sqlite 标准化:每个 eidos 表都是一个 SQLite 表。
如何使用 eidos
eidos 提供两种版本:
- Web 应用[技术预览]:可通过浏览器访问,是一个纯 PWA,无需网络服务器,但存在一些限制。
- 桌面应用[推荐]:提供离线支持和完整功能。
可从 此处下载 应用。
如何进行开发
web 应用
- 克隆代码库
git clone git@github.com:mayneyao/eidos.git
- 运行
pnpm install
安装依赖 - 运行
pnpm dev
- 在浏览器中访问 http://localhost:5173
桌面应用
- 克隆代码库
git clone git@github.com:mayneyao/eidos.git
- 运行
pnpm install
安装依赖 - 运行
pnpm dev:desktop
自主部署
对于多数用户,无需自行部署。可以直接使用具有全离线支持和功能的桌面应用版本。
若需自行部署,详细信息请参见 self-hosting。
项目路线图
- 桌面应用开发
- 国际化支持(I18n)
- 数据发布服务:将数据发布到网络上。
- 基于 CRDT 的 P2P 同步:优先本地,但并非仅限本地,在设备间同步数据。
特别鸣谢
eidos 基于以下开源项目:
web 应用
- sqlite-wasm - 在浏览器中运行 SQLite
- shadcn-ui - UI 组件
- glide-data-grid - 高性能表格
- lexical - 文档编辑器
- web-llm - 在浏览器中运行 LLM
- teable 和 apitable - 构建像 Airtable 表格的参考。
桌面应用
许可证
本项目基于 AGPL 许可证条款授权。