Wangnov/codex-threadripper

Keep Codex thread history aligned to one provider bucket.

codex‑threadripper – モデルプロバイダーを切り替えてもすべてのCodexチャットスレッドを可視化

何ができるか

  • Codex(OpenAI風チャット用デスクトップアプリ)は各会話("スレッド")をSQLite DBとロールアウトJSONLログに保存します。各スレッドの model_provider フィールドが、どのプロバイダーのUIリストにスレッドが表示されるかを決定します。
  • Codexで model_provider を切り替えると、以前のプロバイダーで作成されたスレッドはUIから消えてしまいますが、データ自体はディスク上に残っています。
  • codex‑threadripper はこれらの model_provider エントリを書き換えることで、すべてのスレッドを現在アクティブなプロバイダーに関連付け、完全な履歴を再び可視化します。

誰が使うべきか

  • 単一のCodexインストールで頻繁に異なるモデルプロバイダー(例:OpenAI、Anthropic、Azureなど)を切り替えている人。
  • 会話履歴が自動的に移動することを望み、プロバイダー切り替え後に履歴が非表示になるのを避けたい人。
  • 手動でデータベースを編集するのではなく、自動化されたバックグラウンドサービスを好む人。

動作方法

  1. SQLite同期state_5.sqlite(Codexの状態DB)の model_provider 列を更新します。変更前にタイムスタンプ付きのバックアップが backups/ フォルダに作成されます。
  2. ロールアウトJSONLパッチ – 各ロールアウトログファイルの最初の行を、ターゲットプロバイダーに一致させるように変更します。ただし、行の長さが増加しない場合に限ります(Codexがまだ書き込んでいるファイルを破損させないため)。元のファイルタイムスタンプを復元するため、UIの「最近のスレッド」順序に影響を与えません。
  3. ウォッチモードconfig.toml を監視し、プロバイダーの変更を検出し、新しく作成されたスレッドを定期的に再整合します。
  4. バックグラウンドサービス – macOSでは launchd、Linuxでは systemd --user、Windowsではスタートアップフォルダ内の隠しVBSランチャーを用いて、ログイン時に自動的にウォッチループを実行するプラットフォーム固有のデーモンをインストールします。

主なコマンド

コマンド 目的
status アクティブなプロバイダー、SQLite DBからの各プロバイダーごとのスレッド数、およびバックグラウンドサービスの実行状態を表示します。
sync 一回限りの再整合(バックアップ+SQLite+JSONLパッチ)を実行します。
bucket switch <provider> すべての履歴を指定されたプロバイダーのバケットに強制的に移動します。
bucket prepare ロールアウトファイルにインプレースパッチに必要な余白があるかを確認します。行の長さが増える必要があるものはスキップします。
watch フォアグラウンドで実行され、config.toml を(デフォルトで500msごとに)ポーリングし、新しく出現するスレッドを再整合します。
install-service / uninstall-service プラットフォーム固有のバックグラウンドデーモンをインストールまたは削除します。
print-service-config インストールせずに、生成されたlaunchd plist、systemdユニット、またはVBSランチャーを出力します。

レガシー別名(print-plistinstall-launchduninstall-launchd)も引き続きサポートされています。

インストール方法

  • Homebrew: brew tap wangnov/tap && brew install codex-threadripper
  • npm(グローバル): npm i -g codex-threadripper
  • Cargo: cargo install codex-threadripper または cargo binstall codex-threadripper
  • 直接バイナリ: GitHubリリースページから適切なアーカイブ/インストーラーをダウンロード

対応プラットフォーム

  • macOS(Apple Silicon & Intel) – launchd によるサービス
  • Linux(x64 & ARM64) – systemd --user によるサービス(フォールバックとしてデタッチプロセス)
  • Windows(x64) – スタートアップフォルダ内の隠しVBSランチャーによるサービス

ソースからの実行

cargo run -- --help   # すべてのCLIヘルプを表示

なぜ重要か codex‑threadripper がなければ、Codexでプロバイダーを切り替えると会話履歴が隠された「バケット」に分散され、作業を再開したり過去のチャットを確認したりするのが難しくなります。このツールは、自動バックアップによる最小限のリスクで統一されたビューを復元でき、バックグラウンドで静かに動作するため、スレッドを見失う心配がありません。


すべての詳細はリポジトリのREADMEから直接取得されています。追加機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト