strata が自前で動き出した。
すごい。
で、さっそく倍部コーディングとやらを試す。
まあその前に codex でいろいろ遊んでたんだけど、あっという間にトークン無くなって「しばし待て」になってしまうのは気持ち悪いしお財布にもわるいので、できるところはできるだけローカルでうごかしてみようということで。
以前、ollama で遊んでいたときにちょっと試したのだが、その時の LLM はよわよわだったので、コーディングするほどではなかったのだ。まあしょうがない。でも strata が動く今となってはもっと実用的に使えるのではないかと思ったのだ。
ということで、 strata のインストールをおまかせした codex に。「claude code から strata に繋ぎたい!」ってお願いしてつなぎ方と設定を確認してもらうことに。
結果から書くと
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=131072
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=90
export ANTHROPIC_BASE_URL=“http://192.168.xxx.xx:8081”
export ANTHROPIC_AUTH_TOKEN="********************"
export ANTHROPIC_MODEL=“sonnet”
claude “$@”
というバッチファイル作って、linux互換機能を使って FreeBSD 上で動かすことができました。
で、だ。
開発環境をあまりサーバに展開したくないので、例によって例のごとく jail で開発サーバを立てて、そこのなかでいろいろまとめるようにします。まあ、成果物は go のシングルバイナリにして、実行ファイルだけ取り出せばいいからね。
と、いままでまともに go 使ったことないのにでかいこと言ってみたり。結果的にはこれがすごくよくて、 windows やら arm32 のバイナリも生成してくれるので、いろんなことがとても便利になった。
ただし、jail の中で claude code 動かすにはちょっとだけ手間が必要で、
linprocfs /usr/jails/dev_1/compat/linux/proc linprocfs rw 0 0
fdescfs /usr/jails/dev_1/compat/linux/dev/fd fdescfs rw,late 0 0
が無いと、claude code がエラー吐いて死ぬのであった。
そのうえ、おまじないの late オプションが無いとうまくマウントできなくてまだうごかない。
ここは ChatGPT に聞いても政界にはたどり着けなくて、過去の自分と相談しつつ最終的に何とかなった。
ふぅ。
ということで、jail 内の開発環境で、tmux 動かして、そとから ssh でつないでごそごそしている。
すげえ便利。スマホポチポチでほしいものが出来上がっていく。
追記、claude code のバージョン上げたらサーバ毎固まって死ぬようになってしまって、2.1.205 で pkg lock してある。
これも発見するまでちょっと時間がかかったが、codex と相談しつつ解決した。もう AI なしではやっていけない体になりつつある。