GistLedger
GistLedger 是一个基于 GitHub Gist 的极简个人记账应用。它利用 GitHub Gist 作为免费、私有的云端数据库,实现数据的安全存储与多端同步。
体验地址: https://gist-ledger.knowsky404.com
🌐 核心理念: Own your data (数据隐私) | Serverless (无后端) | Lightweight (轻量化)
📸 项目预览
✨ 功能特性
1. 📝 极简记账 (Journal)
- 快速录入: 支持收入/支出切换,金额、分类、日期、备注一键录入。
- 最近记录: 首页实时展示最近 5 笔交易,方便快速核对。
- 完全私有: 数据仅存储在你的 GitHub Gist 中,无第三方服务器读取。
2. 📊 统计报表 (Statistics)
-
双重视图:
- 月度视图: 聚焦本月收支,展示当年 12 个月的收支变化趋势,辅助判断本月消费水位。
- 年度视图: 聚焦全年收支,展示近 5 年的长期收支变化趋势,掌握宏观财务健康状况。
- 多维筛选: 支持按分类(可多选)筛选统计数据,例如查看“餐饮”+“交通”的年度支出趋势。
- 动态图表: 交互式图表实时响应筛选和日期切换。
3. 🔍 查询管理 (Query)
- 多维筛选: 支持按类型(收入/支出)、日期范围、关键词(分类/备注)进行组合查询。
- 数据管理: 支持对历史记录进行修改或删除。
- 客户端分页: 即使数据量大也能流畅分页浏览。
🛠 技术栈
- 框架: React 19 + TypeScript
- 构建工具: Vite
- 样式: Tailwind CSS v4
- 图标: Lucide React
- API: Octokit (GitHub REST API)
- 部署: Cloudflare Pages / Vercel / GitHub Pages (纯静态部署)
🚀 快速开始
前置准备
- 拥有一个 GitHub 账号。
-
生成一个 GitHub Personal Access Token (Classic)。
- Scope 权限: 必须勾选
gist权限。
- Scope 权限: 必须勾选
本地运行
# 1. 克隆项目
git clone https://github.com/KnowSky404/gist-ledger.git
cd gist-ledger
# 2. 安装依赖 (推荐使用 pnpm)
pnpm install
# 3. 启动开发服务器
pnpm dev
使用说明
- 打开应用后,在登录页输入你的 GitHub Personal Access Token。
-
点击 **"连接数据库"**。
- 如果是首次使用,应用会自动在你的 Gist 中创建一个名为
GistLedger-Data的私有 Gist 和ledger_data.json文件。 - 如果已有数据,会自动同步拉取。
- 如果是首次使用,应用会自动在你的 Gist 中创建一个名为
- 开始记账!你的 Token 和 Gist ID 会保存在本地浏览器缓存中,下次访问无需重复输入(除非清除缓存或点击退出)。
🔒 数据安全
- 应用不会将你的 Token 发送给除 GitHub API 以外的任何服务器。
- 数据存储在你的私有 Gist 中,只有拥有该 Token 的人才能访问。
- 建议定期备份 Gist 数据或使用 GitHub 的版本历史功能回滚误操作。
📄 License
GNU General Public License v3.0 (GPL-3.0)
12 条回复 • 2026-01-20 20:00:35 +08:00
|
1
LittleControl OP 不得不说,现在有了 AI,之前有很多想法的小项目可以很方便的去实现了
我现在似乎已经染上了 AI 辅助编程的瘾 心里莫名想起一句话: 太依赖 AI, 你会失去自我的! |
|
2
RouJiANG14 1 月 19 日
支持导入和导出功能么?
|
|
3
Ryanzlab 1 月 19 日 看来 gemini 是真的垃了,4 小时才做这点功能....
|
|
4
gadfly3173 1 月 19 日
gist 不能算私有吧,有 Gist ID 就能打开,并不需要你的 token
|
|
5
LittleControl OP @Ryanzlab 一小时核心功能,三小时调整 UI ,感觉时间都花在怎么写提示词上了
|
|
6
LittleControl OP @RouJiANG14 目前不支持哈
|
|
7
LittleControl OP @gadfly3173 GitHub 的 gist 也是有权限的 设置为 private 就行
|
|
8
syscrash 1 月 19 日
我也 vibecoding 了一个 可以加个 AI 解析功能
http://youke.xn--y7xa690gmna.cn/s1/2026/01/19/696d84d24022e.webp |
|
9
junwind 1 月 19 日
4 小时就这三张页面?豆包说我也行了。
|
|
10
wheelg 1 月 19 日
hhh 跟我的 cent 理念如出一辙,楼主可以试试看 https://github.com/glink25/Cent
|
|
11
x4gz 1 月 19 日
日期那个是不是超出界面了
确实写 UI 耗时比写功能耗时长 AI 有自己的想法 |
|
12
gadfly3173 1 月 20 日
@LittleControl #7 那个 private 只是不能搜索而已。
> Secret gists don't show up in Discover and are not searchable unless you are logged in and are the author of the secret gist. Secret gists aren't private. If you send the URL of a secret gist to a friend, they'll be able to see it. However, if someone you don't know discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to create a private repository instead. https://docs.github.com/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists |
爱意满满的作品展示区。