Awesome
[!IMPORTANT] Eidos sets a big goal in mind, but it is still in its early stages, and there is a lot of work to be done. You can give it a try, but I do not recommend using it for production purposes. If you're interested in this project, I recommend staying updated on its development. If you have an Early Access key, you'll receive an email notification when Eidos is officially released.
Features
-
Everything runs inside your browser. It's a pure PWA with no web server.
-
Offline Support: Access your data without an internet connection. Data is stored locally for blazing-fast performance.
-
AI Features: Deeply integrated with LLM for AI-powered capabilities. Translate, summarize, and interact with your data within Eidos. AI works even offline.
-
Extensible: Customize Eidos to suit your needs.
- Prompt: Speed up your workflow with the Prompt extension. No coding required.
- UDF: Use JavaScript to customize Formula functions.
- Script: Create powerful data processing logic with TypeScript/JavaScript.
- App: Build your own app using any preferred framework. (POC)
- Block: Extend documents with custom blocks.(POC)
- Field: Extend tables with custom fields.(Soon)
-
Developer Friendly:
- API & SDK
- Sqlite Standardization: Every table in Eidos is a SQLite table.
Requirements
Currently, Eidos only supports the latest version of chromium-based browsers, such as Chrome, Edge, Arc, and Brave. It recommends a version greater than 122.
Safari, Firefox, and other browsers are not tested yet.
Why?
Eidos is built on sqlite-wasm and requires browser support for OPFS[1] to work.
Storing data in a local folder is a good practice to ensure better data security. With Chrome 122 and its later versions, we can get persistent permissions[2] for local folders, so we do not have to select a folder every time we open the web app.
- https://sqlite.org/wasm/doc/trunk/persistence.md#opfs
- https://developer.chrome.com/blog/persistent-permissions-for-the-file-system-access-api
How to develop
- Clone the repository
git clone git@github.com:mayneyao/eidos.git
- Run
pnpm install
to install dependencies - Run
pnpm build
(only needed once) - Run
pnpm dev
- You can now access the app in your browser at http://localhost:5173
Generate sdk types
pnpm gen-types
How to deploy your own
Roadmap
https://github.com/users/mayneyao/projects/5
- Publish Service: Publish your data to the web.
- P2p sync based on CRDT: local-first, not local-only. Sync your data across devices.
Credits
Eidos based on the following open-source projects:
- sqlite-wasm - Run SQLite in the browser
- shadcn-ui - UI components
- glide-data-grid - High performance table
- lexical - Document editor
- web-llm - Run LLM in the browser
- teable & apitable - Teach me how to build an Airtable-like table.
License
This project is licensed under the terms of the AGPL license.