diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d36b94 --- /dev/null +++ b/README.md @@ -0,0 +1,160 @@ +
+ +# Kairos + +**你的人生,不是天数的累积,而是关键时刻的集合。** + +*古希腊人有两个词来描述时间。**Chronos** —— 钟表上流逝的时间。**Kairos** —— 那个恰好的、决定性的瞬间。这个系统,为后者而造。* + +[快速开始](#快速开始) · [设计哲学](#设计哲学) · [架构](#架构) · [开发](#开发) + +
+ +--- + +## Kairos 是什么? + +Kairos 是一个**人生操作系统(Personal Life OS)**—— 一个统一的、自托管的平台,将你生活的每一个维度整合进一个连贯的界面。 + +你的订阅。你的财务。你的身体指标。你的消费习惯。你依赖的服务。你做过的决定。所有构成*你的生活*的一切,目前散落在几十个 App、电子表格、银行客户端和备忘录里 —— 现在,汇聚于此。 + +这不是又一个效率工具,也不是又一个仪表盘。这是你的**人生操作系统**。 + +### 问题 + +现代生活产生海量的个人数据,而我们把它们的控制权拱手让出了: + +- **财务**分散在互不相通的银行 App 里 +- **订阅服务**悄无声息地扣款,没有任何全局视图 +- **健康数据**被锁在各自的专有平台中 +- **消费行为**被企业追踪,而不是被你自己 +- **人生决策**缺乏足以让答案显而易见的上下文数据 + +你是你一生中需要管理的最复杂的系统,但你没有操作系统。 + +### 回答 + +Kairos 给你一个: + +| 模块 | 管理内容 | +|------|---------| +| **💰 财务** | 银行账户、交易流水、消费分析、预算追踪 | +| **🔄 订阅** | 所有周期性服务 —— 费用、续期日期、使用频率 | +| **📊 健康** | 身体指标、习惯、睡眠、营养 —— 你的生物仪表盘 | +| **📦 资产** | 实体与数字资产、保修信息、生命周期追踪 | +| **📝 日志** | 决策、复盘、人生事件 —— 你的个人 Changelog | +| **🔗 集成** | API、数据导入、自动化 —— Kairos 连接你的现有世界 | + +每个模块都是同一个统一数据层的不同视角。将消费与健康交叉分析,看看哪些订阅你真正在用,理解你的生活方式的真实成本 —— 不是抽象的数字,而是*时间*。 + +## 设计哲学 + +> *"未经审视的人生不值得过。"* —— 苏格拉底 + +Kairos 建立在三个信念之上: + +**1. 你的数据属于你。** +自托管,本地优先,不依赖云。你的人生数据永远不会离开你的机器 —— 除非你自己决定。 + +**2. 关联产生洞察。** +孤立的数据是噪音,关联的数据是洞察。当你的财务、健康和习惯共享同一个数据层时,任何单一应用都无法揭示的规律会自然浮现。 + +**3. 最好的界面,是你为自己构建的。** +Kairos 是一个有主见的基座,而非一个成品。它被设计为可扩展、可修改、可塑造 —— 以契合你独特生活的轮廓。 + +## 架构 + +Kairos 以现代 Monorepo 架构构建 —— 一个全栈 Web 平台搭配一个 CLI 命令行工具,共享同一套类型安全的 API 层。 + +``` +kairos/ +├── apps/ +│ ├── server/ # 全栈 Web 应用(UI + API) +│ └── cli/ # 命令行工具 +└── packages/ + └── tsconfig/ # 共享 TypeScript 配置 +``` + +### 技术栈 + +| 层级 | 技术 | +|------|-----| +| **运行时** | [Bun](https://bun.sh) | +| **框架** | [TanStack Start](https://tanstack.com/start)(React 19, SSR) | +| **数据库** | PostgreSQL + [Drizzle ORM](https://orm.drizzle.team/) | +| **API** | [ORPC](https://orpc.unnoq.com/)(契约优先,端到端类型安全) | +| **样式** | [Tailwind CSS](https://tailwindcss.com/) v4 | +| **构建** | [Turborepo](https://turbo.build/) + [Vite](https://vite.dev/) | +| **语言** | TypeScript(strict 模式) | + +### 设计决策 + +- **契约优先的 API**:每个端点都从类型化的契约定义开始,实现紧随其后。从数据库到 UI、从数据库到 CLI —— 端到端类型安全。一份契约,多个消费者。 +- **Web + CLI,同一套 API**:Web 应用是主界面,CLI 调用同一套 ORPC API,让你在终端拥有完整的控制力 —— 脚本编排、自动化、快速数据录入,无需打开浏览器。 +- **编译为单文件**:服务端编译为独立的 Bun 二进制文件 —— 零运行时依赖,瞬时启动,部署极简。 + +## 快速开始 + +### 前置条件 + +- [Bun](https://bun.sh)(具体版本见 `mise.toml`) +- [PostgreSQL](https://www.postgresql.org/) + +### 安装 + +```bash +# 克隆仓库 +git clone git@git-ssh.furtherverse.com:imbytecat/kairos.git +cd kairos + +# 安装依赖 +bun install + +# 配置环境变量 +cp apps/server/.env.example apps/server/.env +# 编辑 .env,填入数据库连接信息 + +# 初始化数据库 +bun run db:push --filter=@furtherverse/server + +# 启动开发环境 +bun run dev +``` + +Web 应用将在 `http://localhost:3000` 可用。 + +### 构建 + +```bash +# 生产构建 +bun run build + +# 编译为独立二进制文件 +bun run compile +``` + +## 开发 + +```bash +bun run dev # 启动所有应用的开发模式 +bun run fix # 代码检查 + 格式化(Biome) +bun run typecheck # TypeScript 类型检查 +``` + +详细的开发规范请参阅: +- [`AGENTS.md`](AGENTS.md) — Monorepo 整体约定 +- [`apps/server/AGENTS.md`](apps/server/AGENTS.md) — 服务端架构与模式 + +## 路线图 + +Kairos 处于**早期积极开发阶段**。地基正在铺设 —— 逐模块地,系统将最终覆盖个人数据管理的每一个维度。 + +愿景清晰,架构坚实。剩下的,是执行。 + +--- + +
+ +**Kairos** — *抓住那个瞬间* + +