Skip to content
项目

mayneyao/eidos has 3,204 GitHub stars and 139 forks. GitHot measured +2 in 7 days. Last checked 2026-11-10 19:59 UTC. Last push 2026-11-02.

这些数字如何统计

A single-file relational spreadsheet for you and your agent.

实测星标增长

24小时
更新延迟
7天
+2
15天
更新延迟
1个月
更新延迟

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README.zh.md

原文

Eidos

单文件多维表格,为你,也为智能体。

Eidos File 是基于标准 SQLite 的开放单文件格式。
Eidos Lite 是用于管理本地文件夹中 Eidos File 与普通文件的桌面应用。
Android 与 iOS 应用让你在手机上编辑本地 Eidos File 和 Markdown。

下载 Eidos Lite 下载 Android APK Eidos 文档 在 Discord 交流 AGPL v3 协议

English · 中文

桌面、Android 与 iOS 上的 Eidos:个人书影音资料库表格与 Markdown 编辑器

在手机上使用

Android 与 iOS 支持浏览本地文件、编辑 Markdown,以及查看和编辑 Eidos File 表格与记录。 文件和内置编辑器离线可用,无需账号。与 Eidos Lite 配对后,可通过同一局域网同步本地 Space。

Android 可通过 GitHub Releases 或 download.eidos.space/android 直接下载 APK 安装。实验性的 iOS 应用需从源码构建。安装步骤与平台限制见 Android 指南和 iOS 指南。

快速开始

  • 桌面端: 下载 Eidos Lite,直接使用本地文件夹。本地功能无需账号。
  • Android 端: 从 GitHub Releases 或 download.eidos.space/android 下载 APK 直接安装,或参考 Android 指南。
  • iOS 端: 从源码构建实验性的 iOS 应用,在手机上本地编辑并与桌面端进行局域网同步。
  • 浏览器: 打开 editor.eidos.space,无需安装即可创建或编辑本地 .eidos 文件。
  • 命令行: 安装 eidos,创建、检查、查询、修改或在本地打开 Eidos File。

macOS 或 Linux:

curl -fsSL https://download.eidos.space/cli/install.sh | sh

Windows PowerShell:

irm https://download.eidos.space/cli/install.ps1 | iex

创建文件并在本地打开:

eidos file new example.eidos \
  --table Tasks \
  --label-field Title \
  --fields '[{"name":"Title","type":"text"},{"name":"Status","type":"select"}]'
eidos serve example.eidos --open

面向智能体和自动化的使用方式见 Eidos CLI 指南。

仓库组成

apps/ 存放应用与可部署服务,crates/ 存放私有 Rust 库,packages/ 存放共享 TypeScript 包。Eidos File 语义始终由 packages/eidos-file 实现,Rust 宿主运行同一份 规范 Runtime。

Rust 库共用一个 workspace 和依赖锁文件:

Crate 职责
eidos-file-core SQLite 格式辅助库
eidos-runtime-host 规范 TypeScript Runtime 的 QuickJS 宿主,可选 Serve 服务
eidos-publish 共享发布引擎
eidos-mobile-host 共享移动端会话与 Graft 编排、Android JNI、iOS C FFI

所有 crate 均为私有库(publish = false)。根 workspace 统一固定 Graft 与 SQLite 依赖。CLI 与各原生应用保持各自的发布生命周期;Eidos File 和 Eidos File UI 继续以共享的 npm 版本一起发布。

Eidos Lite 使用 Graft 提供本地版本历史与可选 Sync。Graft 是独立开发、面向开发者的应用状态版本控制系统。

开发

需要 Node.js 22.23.1、Corepack;开发 CLI 还需要 Rust stable。

corepack enable
pnpm install --frozen-lockfile

pnpm dev:eidos-lite
pnpm dev:eidos-file-web
pnpm dev:markdown-editor-playground
pnpm test:eidos-file
pnpm test:markdown-editor

JavaScript 与 Rust 命令均从仓库根目录运行。Rust 构建产物写入根目录的 target/:

cargo fmt --all --check
cargo clippy --workspace --all-targets --locked --features eidos-mobile-host/ffi -- -D warnings
cargo test --workspace --locked --features eidos-mobile-host/ffi
cargo build -p eidos --release --locked

Runtime 宿主默认不启用任何 feature。CLI 显式开启 serve,Android 使用 JNI,iOS 开启移动端宿主的 ffi feature。标准移动端构建脚本在隔离的源码镜像中应用已验证的 Graft 补丁并开启 planned-transfer-progress,保持根锁文件中的依赖版本不变。

QuickJS bundle 与 Serve UI 由源码生成,并与源码一起提交在对应的 TS 包内:

# packages/eidos-file/generated/quickjs/
pnpm --filter @eidos.space/eidos-file build:quickjs

# packages/eidos-file-serve/generated/ui/
pnpm --filter @eidos.space/eidos-file-serve build

修改相关源码后需重新生成。Rust 构建会校验源码与产物的哈希,拒绝陈旧生成物。 Serve UI 构建直接引用 workspace 中的 Eidos File 源码。

移动端独立于桌面端和浏览器构建。所需的平台 SDK 与 Rust 目标见 Android 和 iOS 指南。

更多内容见文档站点与规范性的 Eidos File 规范。

许可证

仓库整体采用 AGPL v3。可复用的 @eidos.space/eidos-file 与 @eidos.space/eidos-file-ui packages 采用 MIT。

探索相关项目