
2026/07/12 1:37
Show HN: Earth Game – ライフの目標をクエストに変えるオフライン用 CLI
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Earth Game は、個人的なクエスト、アクションおよび省察を管理するためのプライベートでオフラインのコンパニオンツールです。Python の標準ライブラリと SQLite を用いて構築され、サードパーティ製依存関係なしであるため、すべてのデータをマシンのローカルに保持します。クエストの選択、アクションの計画、ループの閉鎖、方向性のレビューをサポートし、集中維持を支援します。本アプリケーションは、非対話タスク用のコマンドラインインターフェース(CLI)と、http://127.0.0.1:8765/ の localhost 専用ウェブユーザーインターフェースの両方で動作し、どちらも同一の SQLite データベースを利用します。データプライバシーは、Unix システム上でプライベートパーミッションを持つファイルにデータを格納すること、および Web サーバーを localhost にのみバインドすることで外部への露出を防ぐことで確保されます。要件は Python 3.8 以上と Unix ライクなターミナルであり、Arch Linux ユーザーは AUR を介してインストールでき、他者は互換性のあるターミナル環境が必要です。デフォルトのデータベース場所は ${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db(EARTH_GAME_DB 環境変数で変更可能)です。Earth Game コマンドが実行されていない間、ユーザーは進捗を JSON にエクスポートしたり、バックアップされた SQLite ファイルからセッションを復元したりできます。結局のところ、Earth Game はデジタルフットプリントについて完全な制御のもとに置かれた構造化されたプライベートジャーナリングシステムを提供します。
Text to translate:
(if needed; otherwise repeat the original):
Summary:
Earth Game is a private, offline companion tool for managing personal quests, actions, and reflections. Built with Python’s standard library and SQLite and zero third-party dependencies, it keeps all data local on your machine. It supports quest selection, action planning, loop closure, and direction review to keep you focused. The application works via a command-line interface (CLI) for non-interactive tasks and a dedicated localhost-only web user interface at http://127.0.0.1:8765/, both using the same SQLite database. Data privacy is ensured by storing files with private permissions on Unix systems and binding the web server to localhost only, preventing external exposure. Requirements are Python 3.8+ and a Unix-like terminal; Arch Linux users can install it via the AUR, while others need a compatible terminal environment. The default database location is ${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db (modifiable via the EARTH_GAME_DB environment variable). Users can export progress to JSON or restore sessions from backed-up SQLite files when no Earth Game command is running. Ultimately, Earth Game provides a structured, private journaling system with full control over your digital footprint.
本文
Earth Game: プライバシー重視のオフライン RPG 伴侶
Earth Game は、迷走する前にクエスト選択や行動決定、未解決ループの整理、方向性の見直しをサポートするための、プライベートかつオフラインなソフトウェアです。
本ソフトは Python の標準ライブラリと SQLite を使用しており、以下は一切採用していません:
- サードパーティ製依存関係
- アカウントシステム
- 外部への通信
- スコアリング機能
- AI による助言
システム要件
- Python: 3.8 以降
- 環境: Unix 系のターミナル環境(Linux, macOS など)
インストールと起動
Arch Linux での入手
Arch Linux においては、AUR(Arch User Repository) からインストール可能です。
コマンドの呼び出し方
インストール後、任意の場所から以下のコマンドを実行します:
earth # または earth-game
クイックスタート
基本的な動作を開始するためのコマンド例です:
./earth init # ローカルデータベースを初期化 ./earth character edit # キャラクター設定の確認/編集 ./earth quest add # 新しいクエストの追加 ./earth quest list # キューエリスト一覧 ./earth quest start 1 # クエストの開始(ID 1) ./earth today # 今日の要覧を表示
ブラウザからのアクセス (Web UI)
ブラウザを好む場合は、ローカル専用 Web UI を起動することも可能です。
./earth web
- アクセス方法: 起動時に表示される
にアクセスします。http://127.0.0.1:8765/ - 動作内容: CLI と同一のデータベースを利用し、プライベートなセッションとして動作します。
- 停止方法: ターミナルで
を押し停止してください。Ctrl-C - セキュリティ: LAN へのバインドや外部リクエストは行いません(ローカルループバックアドレスのみ対応)。
クエスト追加の例
./earth quest add \ --title "古き友人との再会" \ --next "Sam へメッセージを送信する" \ --pillar connection \ --driver purpose
その後、クエストを進化させます:
./earth quest start 1 ./earth today
詳細なオプションについては
./earth --help または個別コマンドの --help を参照し、実世界の完全な使用例については USAGE.md をご確認ください。
コマンド一覧
| コマンド | 機能説明 |
|---|---|
| 既存データを破棄せず、ローカルストレージを作成・初期化します。 |
| 価値観、強み、摩擦点、目的、アンチビジョンなどを管理します。 |
| クエストの追加、一覧、開始、完了、ドロップを行います。 注意点: 同時に進行中のクエストは一つだけです。 |
| 未解決のタスクや懸念事項(オープンループ)をキャプチャし、完了へと追い込みます。 |
| 現在のクエスト、次の行動、オープンループの数、レビュー状態を表示します。 |
| 5 つの短い省察事項を記録します。 オプションをつけると、「次の行動」の回答を現在進行中のクエストに適用できます。 |
| 全データを改行ありの JSON 形式でエクスポートします(既存ファイルは上書きされません)。 |
| ローカル Web UI を起動します。 でブラウザ自動起動を停止、 でポートを変更できます。 |
典型なワークフロー例
./earth loop add --text "歯科医の予約を取る" ./earth today ./earth quest done 1 # クエスト完了処理 ./earth review # リフレクションと更新 ./earth export earth-export.json # データのエクスポート
データとプライバシー
データベースパス
デフォルトの保存先は以下の通りです:
- Linux/macOS:
${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db
異なるパスを使用したい場合は、
EARTH_GAME_DB 環境変数を設定します:
EARTH_GAME_DB=/path/to/earth.db ./earth init
セキュリティについて
- 権限: データベースおよびエクスポートファイルは、Unix 系でプライバシー保護の観点から適切な権限で作成されます。
- 通信: Earth Game は外部ネットワークへのリクエストを行いません。
- Web UI: Web コマンドもローカルループバックアドレス (
) のみリスニングし、起動時に表示される URL にアクセスする必要があります。127.0.0.1
バックアップと復元
Earth Game を実行していない状態で、SQLite データベースファイルをコピーすることでバックアップできます。正確なパスは
./earth --help を参照してください。
テストの実行
開発環境でのテストコマンドです:
python3 -m unittest -v python3 -m py_compile earth earth_core.py earth_web.py
プロジェクト構造
: CLI パースとターミナルとの対話処理を担当します。earth
: SQLite 操作と共有領域(Shared Area)の機能を実装しています。earth_core.py
: ローカル HTTP サーバーと HTML インタフェースを実装しています。earth_web.py
今後の変更について
製品に関する意思決定および今後の変更ルールについては、ROADMAP.md をご参照ください。