← 返回信息流
AI 资讯Hacker News·4 小时前

Earth Game 离线CLI工具将人生目标转化为任务

原标题:Show HN: Earth Game – An offline CLI for turning life goals into quests

速览

Earth Game 是一款离线CLI工具,用户可将生活目标设定为游戏中的任务,通过完成进度获得成就感。它无需联网,注重隐私,采用游戏化机制激励用户持续行动。该工具适合追求效率与自我管理的用户,提供简洁的终端交互体验。

AI 深度解读

背景

在个人生产力与目标管理领域,大量工具依赖云端账户、AI建议、联网评分和第三方服务,用户隐私和数据自主权常常被牺牲。许多人在日常任务与长期目标之间迷失方向,缺乏一个轻量、离线、私密的系统来持续追踪“未完成事项”并保持行动一致。Earth Game 正是针对这一需求诞生:一个完全离线的命令行工具,将人生目标转化为可执行的“任务”,帮助用户在漂移之前审视方向、关闭未完成循环。

核心内容

Earth Game 是一款私密、离线的伴侣程序,用于选择任务、执行下一步行动、关闭未完成事项,并在方向偏离前进行回顾。它完全基于 Python 标准库和 SQLite,没有第三方依赖、无需账户、无出站请求、无评分功能,也没有 AI 生成的建议。运行环境要求 Python 3.8 或更新版本,以及类 Unix 终端。

安装后,用户通过一系列命令管理角色和任务:

  • ./earth init:初始化本地存储,不会覆盖已有数据库。
  • ./earth character show|edit:管理价值观、优势、阻力、目标和反愿景。
  • ./earth quest add|list|start|done|drop:管理任务。同一时间只能有一个当前任务。
  • ./earth loop add|list|close:捕获和关闭未解决的任务或担忧。
  • ./earth today:显示当前任务、下一步行动、未关闭循环数量和审查状态。
  • ./earth review:记录五条简短反思。使用 --update-quest 选项可将 --next 的答案设为当前任务的下一步行动。
  • ./earth export [PATH]:将所有数据导出为可读 JSON,不会覆盖已有文件。
  • ./earth web:启动本地浏览器 UI,默认在 http://127.0.0.1:8765/ 打开私有会话 URL,使用与 CLI 相同的数据库。可通过 Ctrl-C 停止,不会绑定局域网或发起外部请求。

命令支持非交互式使用,例如:

./earth quest add \
  --title "Reconnect with an old friend" \
  --next "Send Sam a message" \
  --pillar connection \
  --driver purpose
./earth quest start 1
./earth today

默认数据库路径为 ${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db,可通过环境变量 EARTH_GAME_DB 自定义。数据库和 JSON 导出在 Unix 上会设置为私有权限。Earth Game 无外部网络请求,web 命令仅监听本地回环地址。

备份或恢复时,直接复制 SQLite 数据库文件(确保没有 Earth Game 命令正在运行)。./earth --help 会显示当前活动数据路径。项目还提供单元测试(python3 -m unittest -v)和语法检查(python3 -m py_compile earth earth_core.py earth_web.py)。

代码结构分为三个文件:

  • earth:CLI 解析和终端交互
  • earth_core.py:SQLite 和共享领域操作
  • earth_web.py:本地 HTTP 服务器和 HTML 界面

详细用法见 USAGE.md,产品决策和未来变更规则见 ROADMAP.md

关键要点

  • 完全离线无依赖:仅依赖 Python 标准库和 SQLite,无第三方包、无账户、无出站请求、无评分、无 AI 建议。
  • 隐私优先:数据库和 JSON 导出默认私有权限;Web UI 仅监听 localhost,不绑定局域网。
  • 命令行+Web双模式:同一数据库可通过 CLI 或本地 Web UI 操作,Web UI 在 127.0.0.1:8765 启动私有会话。
  • 角色与任务管理:通过 character 定义个人价值观、优势、阻力、目标和反愿景;通过 quest 管理单一当前任务,支持添加、开始、完成、放弃。
  • 循环捕捉与关闭loop 命令用于记录和关闭未解决的任务或担忧,today 显示未关闭循环数量。
  • 反思与导出review 记录五条短反思,可选更新当前任务的下一步行动;export 导出全部数据为 JSON。
  • 可移植与备份:数据库文件可复制备份;通过环境变量 EARTH_GAME_DB 可指定自定义路径。
  • 非交互式支持:支持完全通过命令行参数调用,适合脚本化使用。

意义与影响

Earth Game 的核心理念是对抗当前主流生产力工具“数据上云、依赖AI、鼓励社交比较”的趋势,回归个人掌控。它把人生目标转化为可执行任务,通过“当前任务”机制避免多任务漂移,用“循环”技术处理未完成的心理负担,用每日回顾和下一步行动来保持方向感。这种设计不仅保护隐私,也避免了过度分析和外部依赖。对于追求极简、注重数据主权、希望与数字世界保持距离的用户来说,Earth Game 提供了一个强大的离线锚点。同时,它作为开源项目(代码结构清晰,使用标准库和 SQLite),也便于技术用户自定义和审计。其存在本身就是对“功能越多越好”这一产品哲学的温和反驳,强调在复杂世界中保持专注与私密的价值。

查看原文 →github.com