Files
kairos/README.md
T
imbytecat 6bedc1d60d refactor: 降级 Drizzle ORM 至 0.45.x 稳定版,对齐 Better Auth 兼容性
- drizzle-orm 1.0.0-beta.15 → 0.45.2, drizzle-kit → 0.31.10
- RQBv2 defineRelations() → 旧版 relations() 回调语法
- drizzle-orm/zod → drizzle-zod 独立包
- auth/schema.ts 改由 Better Auth CLI 生成(bun run db:auth)
- db/schema/index.ts 选择性导出表(不导出生成文件中的旧版 relations)
- 删除 db:push script,强制 db:generate → db:migrate 工作流
- 重建迁移基线(删除旧迁移目录,全新生成初始迁移)
2026-03-31 20:18:15 +08:00

5.7 KiB
Raw Blame History

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
框架 TanStack StartReact 19, SSR
数据库 PostgreSQL + Drizzle ORM
API ORPC(契约优先,端到端类型安全)
样式 Tailwind CSS v4
构建 Turborepo + Vite
语言 TypeScriptstrict 模式)

设计决策

  • 契约优先的 API:每个端点都从类型化的契约定义开始,实现紧随其后。从数据库到 UI、从数据库到 CLI —— 端到端类型安全。一份契约,多个消费者。
  • Web + CLI,同一套 API:Web 应用是主界面,CLI 调用同一套 ORPC API,让你在终端拥有完整的控制力 —— 脚本编排、自动化、快速数据录入,无需打开浏览器。
  • 编译为单文件:服务端编译为独立的 Bun 二进制文件 —— 零运行时依赖,瞬时启动,部署极简。

快速开始

前置条件

安装

# 克隆仓库
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:generate --filter=@furtherverse/server
bun run db:migrate --filter=@furtherverse/server

# 启动开发环境
bun run dev

Web 应用将在 http://localhost:3000 可用。

构建

# 生产构建
bun run build

# 编译为独立二进制文件
bun run compile

开发

bun run dev          # 启动所有应用的开发模式
bun run fix          # 代码检查 + 格式化(Biome
bun run typecheck    # TypeScript 类型检查

详细的开发规范请参阅:

路线图

Kairos 处于早期积极开发阶段。地基正在铺设 —— 逐模块地,系统将最终覆盖个人数据管理的每一个维度。

愿景清晰,架构坚实。剩下的,是执行。


Kairos抓住那个瞬间