Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

165 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tallya / 职迹

Tallya 是一个本地优先的 AI 工作记忆工具,帮助你把每天的工作记录沉淀成可搜索、可复盘、可生成报告的本地记忆。

English — Tallya is a local-first work memory app for Windows & macOS: jot down what you did in one line, search it back instantly (SQLite FTS5), and turn entries into daily/weekly reports with optional AI assistance (Codex CLI, OpenAI-compatible, or Anthropic APIs). Built with Tauri 2 + React; your data stays in a local SQLite database.

下载

前往 Releases 下载最新版本:

  • Windows:_setup.exe(NSIS 安装包)/ .msi / portable zip;
  • macOS:.dmg(universal,同时支持 Apple Silicon 与 Intel)。

安装包未配置操作系统级代码签名:Windows 可能提示未知发布者;macOS 首次打开需在「系统设置 → 隐私与安全性」放行,或右键打开。应用内置检查更新。

当前状态

Tallya 是一个 Windows / macOS 桌面端本地工具,当前处于早期开发阶段。

核心是「低摩擦记录 + 强检索」:随手记下每天做的事,之后随时搜回来。完整规划见 docs/PLAN.md

当前已具备:

  • 条目式记录:打字回车即存,一天可记多条,无 AI 网关、无必填;
  • 当天条目流首页 + 历史日期切换;
  • AI 追问式补充:对单条记录可让 AI 追问 1-2 个问题来补细节,未配置 AI 时退化为手动补充;
  • 补充以子条目形式挂在记录下,可删;
  • 跨天线索:AI 建议把同一件事的多条记录归并成线索,独立线索视图查看跨天故事线;
  • Spotlight 风格搜索(SQLite FTS5,覆盖记录与补充);
  • 报告:基于条目生成日报 / 周报 / 自定义范围报告,支持预览、保存、历史与缺口补全追问;
  • 本地数据存储(SQLite);
  • AI 服务:Codex CLI、OpenAI Compatible 与 Claude / Anthropic;
  • 通知提醒配置与系统通知;
  • 设置页;
  • 本地优先。

产品原则

  • 本地优先;
  • 低输入负担;
  • 不做后台管理系统;
  • 不做普通日报生成器;
  • 首页始终聚焦“今天做了什么?”。

更多设计规则见 DESIGN.md

技术栈

  • Tauri 2
  • React
  • TypeScript
  • Vite
  • shadcn/ui
  • Tailwind CSS
  • Codex CLI
  • OverlayScrollbars

开发环境

安装依赖:

pnpm install

启动前端开发服务:

pnpm dev

启动 Tauri 桌面开发环境:

pnpm tauri dev

构建前端:

pnpm build

运行测试:

pnpm test

运行 lint:

pnpm lint

测试与质量门禁

常规检查:

pnpm typecheck
pnpm lint
pnpm test

打包前检查:

pnpm check:release

测试分层、Tauri API mock、SQLite 测试隔离和后续 E2E 策略见 TESTING.md

打包与发布

本机打包(需要对应平台的 Tauri 打包工具链,Windows 需要 NSIS / WiX):

pnpm check:release
pnpm tauri build

正式发布走 GitHub Actions 的 Release workflow:推送 tag v{version}(或手动触发)后,会在 Windows 与 macOS runner 上分别构建 NSIS / MSI / portable zip 与 universal dmg,创建 draft GitHub Release,并生成应用内自动更新所需的 latest.json。常规提交和 PR 由 CI workflow 覆盖 typecheck、lint、Vitest、Rust test/check 和前端 build。

完整发布步骤与验收清单见 RELEASE_CHECKLIST.md

AI 服务

Tallya 当前支持三种用户可见 AI 服务:

  • Codex CLI:适合本机已安装并登录 Codex CLI 的用户,生成通过本机 Codex CLI 执行。
  • OpenAI Compatible:适合使用 API Key、OpenAI API 兼容服务、中转服务、DeepSeek、Kimi 或 OpenRouter 的用户。
  • Claude / Anthropic:适合使用 Anthropic 原生 Messages API(或兼容中转)的用户。

使用 OpenAI Compatible 或 Claude / Anthropic 时,需要在设置页填写 Base URL、API Key 和模型。生成所需的工作记录内容会发送到用户配置的 API 服务;API Key 和设置保存在本机,不会用于云同步。Mock Provider 仅用于测试和开发,不会在用户界面中暴露。

项目结构

src/components/ui

shadcn 基础组件。

src/features/work-memory/components

工作记忆相关 UI 组件。

src/features/work-memory/components/settings

设置页相关组件。

src/features/work-memory/hooks

页面状态和交互 hooks。

src/features/work-memory/services

业务服务、repository、AI provider、通知调度等。

src/features/work-memory/services/ai

AI Provider 与 Codex CLI 相关逻辑。

src/lib

通用工具。

src/styles

全局样式。

src-tauri

Tauri 后端。

开发约定

  • 开发前阅读 AGENTS.mdDESIGN.md
  • 不要把 UI、存储、AI 调用混在一个组件里;
  • 不要把业务组件放进 components/ui
  • 不要暴露 Mock Provider 给用户;
  • 版本号跟随 package.json
  • 新功能优先保持本地优先。

数据与隐私

  • 工作记录默认保存在本机;
  • 当前不依赖云同步;
  • AI 生成通过用户本机配置的 AI 服务进行;
  • 使用 Codex CLI 时,实际数据处理行为取决于本机 Codex 配置。

SQLite 使用 Tauri SQL 插件,当前数据库配置为 sqlite:tallya.db。该路径相对 Tauri BaseDirectory::App,也就是应用数据目录,不是项目根目录,也不是 ~/.tallya。Windows 通常位于 AppData/Roaming/<bundle identifier>/tallya.db,macOS / Linux 根据 Tauri 应用数据目录规则存放。

诊断日志

Tallya 会把关键错误和脱敏诊断信息写入 Tauri 应用数据目录下的 logs/ 目录。日志按天保存,自动保留最近 7 个日志文件。日志用于排查 AI Provider、SQLite、备份恢复、通知和托盘等问题,不会自动上传。

用户可以在 设置 → 数据管理 中打开日志目录,或导出最近诊断日志后手动发给开发者。日志会脱敏 API Key、Authorization header、Bearer token,并且只保留截断后的响应片段;使用远程 AI Provider 时,不会记录完整工作内容或完整 prompt。

License

MIT

About

Local-first work memory app: jot down what you did in one line, search it back instantly, and turn entries into daily/weekly reports with optional AI. Built with Tauri 2 + React.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages