V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
LittleControl
0.04D
V2EX  ›  分享创造

用 gemini-cli 前前后后用了大概 4 个小时写了一个记账程序

  •  
  •   LittleControl ·
    KnowSky404 · 4 天前 · 1337 次点击

    GistLedger

    GistLedger 是一个基于 GitHub Gist 的极简个人记账应用。它利用 GitHub Gist 作为免费、私有的云端数据库,实现数据的安全存储与多端同步。

    体验地址: https://gist-ledger.knowsky404.com

    🌐 核心理念: Own your data (数据隐私) | Serverless (无后端) | Lightweight (轻量化)

    Deploy with Vercel

    📸 项目预览

    Transaction Form History View Statistics View

    ✨ 功能特性

    1. 📝 极简记账 (Journal)

    • 快速录入: 支持收入/支出切换,金额、分类、日期、备注一键录入。
    • 最近记录: 首页实时展示最近 5 笔交易,方便快速核对。
    • 完全私有: 数据仅存储在你的 GitHub Gist 中,无第三方服务器读取。

    2. 📊 统计报表 (Statistics)

    • 双重视图:
      • 月度视图: 聚焦本月收支,展示当年 12 个月的收支变化趋势,辅助判断本月消费水位。
      • 年度视图: 聚焦全年收支,展示近 5 年的长期收支变化趋势,掌握宏观财务健康状况。
    • 多维筛选: 支持按分类(可多选)筛选统计数据,例如查看“餐饮”+“交通”的年度支出趋势。
    • 动态图表: 交互式图表实时响应筛选和日期切换。

    3. 🔍 查询管理 (Query)

    • 多维筛选: 支持按类型(收入/支出)、日期范围、关键词(分类/备注)进行组合查询。
    • 数据管理: 支持对历史记录进行修改删除
    • 客户端分页: 即使数据量大也能流畅分页浏览。

    🛠 技术栈

    🚀 快速开始

    前置准备

    1. 拥有一个 GitHub 账号。
    2. 生成一个 GitHub Personal Access Token (Classic)
      • Scope 权限: 必须勾选 gist 权限。

    本地运行

    # 1. 克隆项目
    git clone https://github.com/KnowSky404/gist-ledger.git
    cd gist-ledger
    
    # 2. 安装依赖 (推荐使用 pnpm)
    pnpm install
    
    # 3. 启动开发服务器
    pnpm dev
    

    使用说明

    1. 打开应用后,在登录页输入你的 GitHub Personal Access Token
    2. 点击 **"连接数据库"**。
      • 如果是首次使用,应用会自动在你的 Gist 中创建一个名为 GistLedger-Data 的私有 Gist 和 ledger_data.json 文件。
      • 如果已有数据,会自动同步拉取。
    3. 开始记账!你的 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
    LittleControl
        1
    LittleControl  
    OP
       4 天前
    不得不说,现在有了 AI,之前有很多想法的小项目可以很方便的去实现了
    我现在似乎已经染上了 AI 辅助编程的瘾
    心里莫名想起一句话: 太依赖 AI, 你会失去自我的!
    RouJiANG14
        2
    RouJiANG14  
       4 天前
    支持导入和导出功能么?
    Ryanzlab
        3
    Ryanzlab  
       4 天前   ❤️ 1
    看来 gemini 是真的垃了,4 小时才做这点功能....
    gadfly3173
        4
    gadfly3173  
       3 天前
    gist 不能算私有吧,有 Gist ID 就能打开,并不需要你的 token
    LittleControl
        5
    LittleControl  
    OP
       3 天前 via iPhone
    @Ryanzlab 一小时核心功能,三小时调整 UI ,感觉时间都花在怎么写提示词上了
    LittleControl
        6
    LittleControl  
    OP
       3 天前 via iPhone
    @RouJiANG14 目前不支持哈
    LittleControl
        7
    LittleControl  
    OP
       3 天前 via iPhone
    @gadfly3173 GitHub 的 gist 也是有权限的 设置为 private 就行
    syscrash
        8
    syscrash  
       3 天前
    我也 vibecoding 了一个 可以加个 AI 解析功能
    http://youke.xn--y7xa690gmna.cn/s1/2026/01/19/696d84d24022e.webp
    junwind
        9
    junwind  
       3 天前
    4 小时就这三张页面?豆包说我也行了。
    wheelg
        10
    wheelg  
       3 天前
    hhh 跟我的 cent 理念如出一辙,楼主可以试试看 https://github.com/glink25/Cent
    x4gz
        11
    x4gz  
       3 天前
    日期那个是不是超出界面了
    确实写 UI 耗时比写功能耗时长
    AI 有自己的想法
    gadfly3173
        12
    gadfly3173  
       2 天前
    @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
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1251 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:33 · PVG 01:33 · LAX 09:33 · JFK 12:33
    ♥ Do have faith in what you're doing.