Earth Game 离线CLI工具将人生目标转化为任务
速览
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),也便于技术用户自定义和审计。其存在本身就是对“功能越多越好”这一产品哲学的温和反驳,强调在复杂世界中保持专注与私密的价值。
