English | 日本語
- 🤖 マルチモデルサポート: OpenAI GPTおよびAzure OpenAIモデルに対応
- 💬 インタラクティブチャット: コーディングタスク用の自然言語インターフェース
- 🛠️ ツール統合: ビルトインファイル操作(読み取り、書き込み、編集、検索 ...)
- 🔒 セキュリティファースト: 意図せぬツールコールを避ける承認システム
- 📝 コンテキスト認識: プロジェクト構造と依存関係を理解
- 🎨 リッチターミナルUI: Bubbletea搭載の美しいインターフェース
- 🔧 設定可能: YAML/環境変数による広範な設定オプション
https://github.com/common-creation/coda/releases/latest
go install github.com/common-creation/coda@latest
git clone https://github.com/common-creation/coda.git
cd coda
make build
- 設定を初期化:
coda config init
または
coda
# 初回起動 または APIキー未設定 の場合は設定ファイルが作成される
- APIキーを設定:
# OpenAI用
coda config set-api-key openai [key]
# Azure OpenAI用
coda config set-api-key azure [key]
設定ファイルを直接編集してもかまいません。
- (オプション) 設定をカスタマイズ:
coda config set ai.model o4-mini # デフォルトは o3
# インタラクティブチャットを開始
coda
# 特定のモデルを使用
coda --model o4-mini
AIアシスタントとのインタラクティブチャットセッションを開始します。
オプション:
--model
: 使用するAIモデルを指定
CODA設定を管理します。
サブコマンド:
show
: 現在の設定を表示set KEY VALUE
: 設定値を設定get KEY
: 特定の値を取得init
: 設定ファイルを初期化validate
: 設定の妥当性をチェックset-api-key PROVIDER
: APIキーをhistoryに残さずに設定
バージョン情報を表示します。
オプション:
--verbose, -v
: 詳細なバージョン情報を表示--json
: JSON形式で出力
CODAは以下の場所から設定を読み込みます(順番に):
- コマンドラインフラグ:
--config
- 環境変数:
CODA_CONFIG
$HOME/.coda/config.yaml
./config.yaml
ai:
provider: openai # または "azure"
model: o3
temperature: 1
max_tokens: 0 # 0を指定すると制限しない
tools:
enabled: true
auto_approve: false
allowed_paths:
- "."
denied_paths:
- "/etc"
- "/sys"
session:
max_history: 100
max_tokens: 8000
persistence: true
logging:
level: info
file: ~/.coda/coda.log
すべての設定オプションは環境変数で設定できます:
export CODA_AI_PROVIDER=openai
export CODA_AI_MODEL=o4-mini
export CODA_AI_API_KEY=sk-...
CODAはワークスペースファイルを通じてプロジェクト固有の設定をサポートします:
# プロジェクト指示
これはNext.js 14を使用したReact TypeScriptプロジェクトです。
## ルール
- 常にTypeScript strictモードを使用
- フックを使った関数コンポーネントを優先
- プロジェクトのESLint設定に従う
## コンテキスト
- メインAPIエンドポイント: /api/v1
- データベース: Prisma ORMを使用したPostgreSQL
- 認証: NextAuth.js
CODAにはファイル操作用のビルトインツールがいくつか含まれています。 以下はその代表例です:
- read_file: ファイルの内容を読み取る
- write_file: ファイルを作成または上書き
- edit_file: ファイルの特定部分を変更
- list_files: ディレクトリの内容を一覧表示
- search_files: 内容や名前でファイルを検索
セキュリティのため、すべてのツール操作はデフォルトでユーザーの承認が必要です。
CODAは複数のセキュリティ対策を実装しています:
- 制限されたファイルアクセス: 操作は許可されたパスに制限
- 承認システム: ツール呼び出しには明示的なユーザーの同意が必要
- パス検証: ディレクトリトラバーサル攻撃を防止
- Go 1.24以上
coda/
├── cmd/ # CLIコマンド
├── internal/ # 内部パッケージ
│ ├── ai/ # AIクライアント実装
│ ├── chat/ # チャット処理ロジック
│ ├── config/ # 設定管理
│ ├── security/ # セキュリティ検証
│ ├── tools/ # ツール実装
│ └── ui/ # ターミナルUI (Bubbletea)
├── docs/ # ドキュメント
├── scripts/ # ビルドおよびユーティリティスクリプト
└── tests/ # テスト
- リポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/amazing-feature
) - 変更をコミット (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュ (
git push origin feature/amazing-feature
) - プルリクエストを開く
APIキーが見つからない
# APIキーが設定されているか確認
coda config get ai.api_key
# APIキーを再設定
coda config set-api-key openai
ファイル操作の権限拒否
allowed_paths
設定を確認- 適切なファイルシステム権限があることを確認
接続タイムアウト
- インターネット接続を確認
- プロキシの背後にいるか確認
詳細なログ記録のためデバッグモードを有効化:
coda --debug chat
ログは~/.coda/coda.log
で確認できます
MIT License
- 基本的なチャット機能
- ファイル操作ツール
- マルチモデルサポート
- 設定管理
- リッチターミナルUI
- ツール追加
- プラグインシステム
- ローカルモデルサポート
Made with ❤️ by the CODA team