そのLiteLLMで、
コード修正まで。
モデルの接続先も、会社の予算管理も、もうある。次は、そのAIに実際の仕事を任せたい。そんなLiteLLM利用者向けに、Senteの接続コマンドを作りました。
既存のLiteLLMのモデルエイリアスを使って、ファイルを読む・修正する・テストする。接続モードの利用にteaiアカウントは必要ありません。推論費用は利用するゲートウェイと上流モデルの契約に従います。
会社のAI基盤に、仕事を実行する入口を
LiteLLMでモデルをまとめていると、接続先の追加、キーの配布、利用額の管理をひとつのゲートウェイに寄せられます。Senteは、その先でローカルの作業を実行するコーディングエージェントです。
開発者 → Sente → 既存のLiteLLM
├─ 契約済みのモデル
├─ 社内のモデル
└─ teai(必要なら追加)
Sente: ファイルを読む → 修正する → テストする
LiteLLM: 許可するモデル・キー・利用額を管理する
管理者が公開したteam-coderという名前を、そのまま使えます。裏側のモデルを変更するときも、そのエイリアスを維持すれば接続設定を共有し直す手間を減らせます。まずは、ツール呼び出しに対応したチャットモデルをひとつ選んでください。
接続して、最初の作業を頼む
必要なのはPython 3、Sente本体、LiteLLMのベースURLと利用者用キーです。既にSenteを使っている場合はte updateで更新。新規インストールは次のコマンドで、teaiのキー入力をスキップできます。
curl -fsSL https://teai.io/te | sh -s -- --litellm
次に、キーをシェル履歴へ直接書かずに環境変数へ設定します。以下はmacOS / Linuxのターミナル用です。
export LITELLM_API_KEY="$(python3 -c 'import getpass; print(getpass.getpass("LiteLLM key: "))')"
te litellm connect https://llm.example.com/v1 \
--model team-coder \
--context 32768 --output 4096
te litellm run "READMEとテスト構成を読み、最初に実行すべきテストを教えて"
llm.example.comとteam-coderは、ご自身の接続先・モデル名に置き換えてください。トークン上限は例で、モデルの仕様に合わせます。接続時には/v1/modelsを読み、指定したモデルが一覧にあるか確認します。モデル一覧だけでツール対応まで検証するわけではありません。
対話画面で作業する場合はte litellm tui。タスクを一度だけ渡す場合はte litellm run "依頼内容"です。別のターミナルを開いたら、そのシェルでもLITELLM_API_KEYを設定してください。
te litellm models # キーで見えるモデル一覧を更新
te litellm status # 接続先・選択モデルを確認
te litellm config # キーを含まないSente設定JSON
te litellm --help # 利用できるコマンド
実物のLiteLLMで、小さなバグ修正まで通しました
接続できるだけでなく、実際にコードを直せるか。LiteLLM 1.100.1をローカルで起動し、本番teaiのgpt-4o-miniへつなぎました。
用意したバグは単純です。加算関数なのに、引き算を返していました。
# 修正前
def add(a, b):
return a - b
# Senteによる修正後
def add(a, b):
return a + b
| 確認したこと | 観測結果 |
|---|---|
| モデル一覧取得・接続・一覧更新 | 成功 |
| 通常応答・使用トークン数 | 確認 |
| ストリーミング本文・使用トークン数 | 確認 |
| Senteのツール実行 | read → edit → bashを観測 |
| 修正後のテスト | 2つのassertionが成功。テストファイルの変更なし |
| 本番teaiへのリクエスト | 7件中7件成功 |
テストを走らせたという返答だけで判定せず、実行イベントを確認し、テストを別途もう一度実行しました。クライアント側にはteaiキーを渡さず、LiteLLM用のキーで完走しています。
これは小さな動作確認です。大きなリポジトリの修正成功率や高速化・費用削減率を示すベンチマークではありません。試験はDBなしのLiteLLMと一時的な管理キーを使用。お客様向けの仮想キー発行、予算上限、SSOは今回検証していません。実際の運用では管理者から配布された利用者用キーを使用してください。
teaiも使いたい場合は、上流に追加できます
既に使っている上流モデルで始められます。teaiを追加したい場合には、設定のひな型を出力できます。
te litellm teai-config
出力されたmodel_listの項目を既存のLiteLLM設定へ追加し、ゲートウェイの環境変数にTEAI_API_KEYを設定します。キーはteaiダッシュボードで管理できます。固定モデルを使う例はこちらです。
model_list:
- model_name: teai-gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_base: https://api.teai.io/v1
api_key: os.environ/TEAI_API_KEY
出力にはteai-autoの例も含めていますが、今回の実測は固定したgpt-4o-miniです。独自エイリアスやautoの費用管理では、料金設定と実際の請求の照合が必要です。Senteに表示される金額が0でも、無料とは限りません。使用トークン数が届くことと、料金が正しく集計されることは別々に確認してください。
設定を戻しやすく、運用の境界を分かりやすく
- 接続情報は
~/.config/teai/litellm/connection.jsonへ保存。APIキーは保存しません。 te litellmは専用のグローバル設定で起動し、通常のteのモデル設定を変更しません。- 個人用の外部プラグイン・声の自動再生はこのモードでは読み込みません。プロジェクトの指示・設定は引き続き有効です。
- モデルの推論接続と、ツールの外部通信は別です。プロジェクトのMCPや実行コマンドを含め、全通信をゲートウェイ内へ閉じ込める機能ではありません。
- 今回はmacOSで検証。シェル版はmacOS / Linux向けで、WindowsのPowerShell版への追加は未対応です。
接続に失敗したら
401/403なら、キーの有効性とモデル権限を確認してください。モデル名は上流の製品名ではなく、LiteLLM側のエイリアスです。モデルを変更するにはconnectを再実行します。
URLには/chat/completionsを付けず、ベースURLを渡します。/v1がなければ自動で追加します。別ホストへのキー転送を避けるため、接続確認はリダイレクトを追従しません。ローカルホスト以外はHTTPSが必要です。
コンテキスト長のエラーなら、--contextと--outputをモデル仕様に合わせて再設定します。組織の管理設定で利用可能モデルが制限されている場合は、その設定が優先されることがあります。
まず、いつものリポジトリで一件
接続先を広げました:Ollama · LM Studio · OpenRouter · Cloudflare AI Gateway · Vercel AI Gateway。各記事に手順と検証範囲を掲載しています。
最初は「テストの実行手順を調べる」「小さな関数のバグを直す」から。使っているモデルと予算管理を活かしながら、ファイルの変更と検証結果までつなげてみてください。
将来は、完了までの時間・費用・修正回数・成果物の採用から、作業に合うモデルを選べるようにしたいと考えています。今回公開したのは、その前提になる接続と実行の機能です。
技術資料:LiteLLM OpenAI互換エンドポイント · 仮想キー · teai APIドキュメント
Your LiteLLM gateway. Now with a coding agent.
Sente connects to your existing LiteLLM gateway, reads local files, makes changes and runs tests. Use your team's model alias and user key. No teai account is required for gateway mode. Inference is billed under your gateway and upstream provider agreements.
Get started
Install Python 3 and Sente. Existing users can run te update. For a new installation:
curl -fsSL https://teai.io/te | sh -s -- --litellm
export LITELLM_API_KEY="$(python3 -c 'import getpass; print(getpass.getpass("LiteLLM key: "))')"
te litellm connect https://llm.example.com/v1 \
--model team-coder --context 32768 --output 4096
te litellm run "Read the README and explain how to run the tests"
Replace the URL and alias. Choose a tool-capable chat model and set its actual context/output limits. Use te litellm tui for interactive work, models to refresh the catalog, and status to inspect your connection. Export the key again in each new shell; Sente does not save it.
What we actually verified
With real LiteLLM 1.100.1 and production teai using gpt-4o-mini, all seven upstream requests succeeded. Both normal and streaming responses included usage. Sente used read → edit → bash to fix an addition function and run its tests. We independently reran the two assertions and verified the test file was unchanged.
This was a small macOS smoke test using a local proxy and an ephemeral admin key without Postgres. Production user-key budgets, SSO, large-repository performance and the interactive TUI were not verified in this test. Use a user-scoped virtual key for your deployment. Windows PowerShell integration is not included.
Optional: add teai as an upstream
Run te litellm teai-config, merge its model entries into your gateway config and set TEAI_API_KEY on the gateway. The template includes a pinned model and an auto alias; only the pinned model was tested. Configure and reconcile custom-model prices before relying on spend limits. A zero price in Sente does not mean free inference.
Gateway mode uses a separate global configuration and disables personal external plugins, while project instructions/config remain available. This is not a network sandbox: MCP servers and commands can make their own network requests. Outcome-based adaptive routing is a future direction, not part of this release.