Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tech.illasoft.com/llms.txt

Use this file to discover all available pages before exploring further.

概述

kira-family 目录里的代码不是 Kira AI 艺术平台的一部分,而是另一个由同团队维护的产品 —— Illa.sh 家庭财务管理平台(正式域名 family.illasoft.com)。目录命名是历史遗留。 与 Kira 主线关系:
  • 无 API 耦合(不调 kira-be,不被 kira-be 调用)
  • 共享基础设施:Supabase(独立 project)、Fly.io、PostHog、部分 infisical secrets
  • 共享团队:同一研发团队维护
放在本文档仅为完整披露仓库内容,便于新成员了解每个子目录用途。

部署形态

平台Fly.io
端口3200
入口bun run dev(dev)/ next start(prod)
域名family.illasoft.com

技术栈

技术
框架Next.js 16 (App Router, SSR)
ORMDrizzle
数据库Supabase Postgres(独立 project)
客户端状态TanStack React Query
AIMistral API(文本生成/分析)、OpenAI(可选)
协作Slack Bot SDK(chat:write
邮件Cloudflare Email Worker(子目录单独部署)
PDFjspdf + pdf-lib + html2canvas
分析PostHog

功能模块

  • 费用管理:追踪家庭成员支出,支持银行转账备注编辑
  • 发票生成
    • 按周期筛选
    • 合规检查(compliance warnings with severity)
    • PDF 批量导出(html2canvas + jspdf)
  • 任务管理
  • 邮件管理:邮件经 Cloudflare Worker 转发到固定邮箱
  • 管理员后台:用户管理、数据维护
  • 月度 Slack 提醒:Supabase Cron 每月 1 号 UTC 01:00 触发 /api/cron/monthly-reminder

关键业务流:月度 Slack 提醒

Supabase Cron (monthly 01:00 UTC)

POST /api/cron/monthly-reminder
  Headers: X-Cron-Secret: {CRON_SECRET}

查询 users WHERE type = 'person'

foreach user: Slack Bot DM (chat.postMessage)
配置 SQL 模板放在项目 README。

对外路由(选摘)

Path用途
/register新用户注册
/(dashboard)/*主业务页面(费用/发票/任务/邮件/管理员)
/api/cron/monthly-reminderSupabase Cron 入口(需 CRON_SECRET)
/api/invoices/*发票 CRUD
/api/expenses/*费用 CRUD

Cloudflare Email Worker 子目录

  • 路径:kira-family/email-worker/(或类似)
  • 功能:接收 @illa.sh 邮件,按规则转发
  • 部署:独立部署,不在 main app build 里:bunx wrangler deploy

环境变量

# Supabase(独立 project)
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
SUPABASE_SECRET_KEY

# 数据库
DATABASE_URL                # Postgres 连接

# AI
MISTRAL_API_KEY

# Slack
SLACK_BOT_TOKEN            # xoxb-... 需 chat:write scope
SLACK_SIGNING_SECRET       # 用于请求验证

# 安全
WEBHOOK_SECRET             # 内部 webhook 签名
CRON_SECRET                # Supabase Cron 请求签名

# 业务配置
COMPANY_NAME
INVOICE_EMAIL_DOMAIN       # illa.sh
SITE_URL                   # https://family.illasoft.com

开发命令

# 同步 Drizzle schema
bun run db:push

# 启动 dev
bun run dev

# 部署 Cloudflare Worker(独立)
cd email-worker && bunx wrangler deploy

Caveat

  • README 为中文,代码注释混用中英
  • Drizzle schema 用 db:push 同步,没有迁移文件
  • Email Worker 必须独立部署,主 app build 不含
  • Slack Bot 需在 workspace 手动授予 chat:write
  • 与 Kira 主产品完全隔离,数据库表结构不共享

最近提交摘要

  • 0d40e8a 合规警告类型定义
  • 6b41edd 发票周期筛选
  • f263e84 合规检查重构
  • 频繁的发票、费用、Slack 集成改进