Vibe codingで作ったHoncho向けCodex + ローカル埋め込みゲートウェイ
(github.com/DaydreamBlend)(このプロジェクトは Vibe coding を使ったプロジェクトです。)
こんにちは! 私は普段 GeekNews を楽しく読んでいる薬学系の大学院生です。
ここで Hermes Agent を知り、研究に便利に使っていたのですが、Honcho というメモリアダプターを追加で使えることを知りました。
ところが調べてみると、Codex のサブスクリプション割り当てを使うのではなく、別途トークンベースの API リクエストを送る方式で動作する仕組みだったため、追加課金が心配になりました。なんとなく深く考えずに使っていたら、雀の涙ほどの大学院生の給料を全部失ってしまいそうで不安になったのです。
そこで、Hermes Agent で ChatGPT サブスクリプションに付属する Codex の割り当てを、あたかもトークンベースのリクエストのように使うという発想から、
Codex サブスクリプションで Honcho バックエンドを置き換える一種のアダプターを作りました。
動作の仕組みは次のとおりです。
- Honcho の動作方式を確認すると、デフォルト設定ではメモリ重要度の判定に OpenAI GPT 5.4 mini へリクエストを送り、検索用の埋め込みにも OpenAI の embedding モデルを使う方式でした。
- そこで Hermes Agent の Codex OAuth コードを使い、OpenAI endpoint の応答のように見えるよう変更し、Embedding はローカルで llama.cpp を通して BGE-M3 fp16.gguf を使うように変更しました。
- Embedding の次元は元々 1536 次元でしたが、公開されている 1536 次元モデルが少ないため、1024 次元モデルである BGE-M3 を使用しました。
- Honcho の設定ではローカルサーバーをサポートしているため、あらかじめ honcho-codex-gateway の Docker スタックをインストールし、そこで動作するサーバーに honcho 本来の Docker スタックが接続されるようにしました。
- また、honcho のトークン化方式が bge と異なるため長さの問題が発生し、tokenizing を bge-m3 側で行って Chunking する方式で動作するようにしました。
コードを書くことには自信がなかったので、Hermes Agent にバックエンドとして Codex サブスクリプションベースの GPT 5.5、推論努力 Low を使いました。
趣味用に購入した GB10 系列 MSI EdgeXpert 1TB モデル (ARM Ubuntu) では正常に動作することを確認しました。
Windows/Mac など他の OS で動作するかは確認できていません。
最初の目標は 100 人くらいが git clone してくれたら GeekNews にも投稿してみようと思っていたのですが、13 日でその基準を満たしたので、普段よく訪れる場所で評価を受けてみたくて投稿してみます。
長文を読んでいただき、ありがとうございました!
まだコメントはありません。