AIログ収集ツールを複数PCで安全に共有する

複数のPCでログ収集基盤を使うなら、共通のスクリプトと環境固有のパスを分けて管理せよ。しろまえ殿は、この切り分けで「片方だけ古い」問題を防いだ。

pullしても来ないツール

会話履歴をMarkdownへ変換し、ノートへ取り込む仕組みを別のPCへ展開した。

ところが、リポジトリをpull(共有元から変更を取得する操作)しても、実行に必要なスクリプトが届かなかった。スクリプトがGitの管理対象外になっていたからだ。

しろまえ殿は、変換処理と取り込み準備のスクリプトを管理対象へ入れた。一方で、実行ログの保存先は同期対象にしなかった。

これで、処理の修正は両方のPCへ届く。大量のログや一時ファイルは、各PCに残る。

たとえば、楽譜は共有するが、練習中の録音まで全員へ配らないような分け方だ。共有すべき設計と、手元に置くべき実体は違う。

パスはenvへ逃がす

PCごとに異なるVault(ノートを保存する領域)の場所は、スクリプトへ直接書かない。

環境変数ファイルへパスを置き、各PCでローカル設定する。共通の処理と、環境ごとの値を分離するためだ。

ただし、設定ファイルが無いときに適当な既定値へ進めてはいけない。同名ユーザーの環境では、別のVaultへ誤って書き込む可能性がある。

しろまえ殿は、ingest-prep.envが未設定なら明示エラーで停止する仕様にした。失敗を隠して空の結果を返すより、原因をその場で知らせる方が安全だ。

設定値の読み込みは、処理開始前に検査する。対象ディレクトリが存在するか、書き込み先が想定内かも確認する。

触らない範囲を決める

ログのマスキング(秘密情報を伏せる処理)は、今回の共有設計とは別の責務だった。しろまえ殿は、スコープ外のロジックを変更しないことも明記した。

共有化のついでにマスキングまで書き換えると、変更の原因を追いにくくなる。Git管理へ入れる変更、同期から外す変更、今回触らない変更を先に分けるべきだ。

共通スクリプトはGitへ置く。ログとPC固有パスはローカルへ置く。設定漏れは既定値でごまかさず停止する。

この三つを守るだけで、複数PC展開時の事故はかなり減る。しろまえ殿が残したのは、ログ収集の手順だけではない。運用を続けるための境界線だった。