OpenHands CLI Action for Forgejoは、ForgejoのセルフホストGit環境でAnthropic Claude APIを活用し、IssueやPR、コメント、ラベル付与などのイベントをトリガーに自動でコード修正・PR作成を行うCIアクションです。
GitHub Actions互換のワークフローで、AIによる自動化を安全かつ柔軟に導入できます。
- 🔗 メンション/ラベルトリガー:
@openhands-agentメンションやfix-meラベルでAI修正を自動実行 - 📝 自動コード修正: Issue/PR/コメント内容をもとにClaude APIで修正案を生成
- 🔄 自動PR作成: 変更があれば自動でドラフトPRを作成
- 👀 リアクション通知: 実行状況を絵文字リアクションで可視化
- 🌏 日本語完全対応: UI・メッセージ・プロンプト全て日本語
- ⚡ 高速セットアップ: Docker+uv+Node.jsによる軽量・高速な実行環境
- Forgejo: Actions機能が有効なセルフホストGit
- Docker: コンテナ実行環境
- Anthropic API Key: Claude API用
ForgejoリポジトリのSettings > Secretsで以下を設定:
ANTHROPIC_API_KEY: "your-anthropic-api-key-here"
GITHUB_TOKEN: "actions用トークン"ワークフローファイルは下記に配置されています:
mkdir -p .forgejo/workflows/
cp openhands-cli-action-forgejo.yaml .forgejo/workflows/docker build -t openhands-action .docker-compose up -d --build- サービス名は
docker-compose.ymlのservices:で定義されています(デフォルト:app)。 - サービス名を変更した場合は、下記コマンド例のサービス名も合わせて修正してください。
下記のコマンドで、コンテナ内でOpenHands CLIを実行できます(サービス名は適宜変更してください):
docker-compose exec oh-cli-dev openhands -t "Create a file called test.txt with content 'Hello World'"- サービス名が
appの場合はdocker-compose exec app ...に読み替えてください。
- Issue/PR本文やコメントに
@openhands-agentを含めて投稿 fix-meまたはfix-me-experimentalラベルを付与- Issueの担当者に
openhands-agentを割り当て
@openhands-agent このプロジェクトのテストカバレッジを改善してください- Issue: 作成・ラベル付与・担当割当
- PR: ラベル付与
- コメント: 作成
- PRレビュー/コメント: 作成・提出
- イベント発生(メンション/ラベル/担当割当)
- 目アイコン👀リアクション
- リポジトリチェックアウト
- Claude API(OpenHands)で自動修正
- 変更があればドラフトPR作成
- 結果コメント・リアクション
- OS: Python 3.12 + Node.js 20 (Docker)
- パッケージ管理: uv (Python), npm (Node.js)
- OpenHands設定:
.config/openhands/config.toml[sandbox] trusted_dirs = [ "/workspace", "/prj", "/home", "/tmp" ]
- 除外ファイル:
.SourceSageignore- Git/ビルド/キャッシュ/アセット/一時ファイル/仮想環境/CI関連を除外
- Python3.12, Node.js20, uv, git, curl, jq, ca-certificatesをインストール
- OpenHands用configをコピー
- デフォルトコマンド: bash
- モデル変更: ワークフロー内
LLM_MODEL変数でClaudeモデル指定可 - タイムアウト: ワークフロー内
timeout_minutesで調整 - 信頼ディレクトリ:
.config/openhands/config.tomlで変更可 - 除外ルール:
.SourceSageignoreを編集
- ✅ 最小権限: 必要な権限のみ付与
- ✅ シークレット管理: API Keyは暗号化
- ✅ 実行制限: タイムアウト設定
- ✅ サンドボックス: 信頼ディレクトリ外はアクセス不可
-
API Keyエラー
→ANTHROPIC_API_KEYが正しく設定されているか確認 -
権限エラー
→ Actionsに必要な権限が付与されているか確認 -
タイムアウト
→timeout_minutesを増やすか、プロンプトを簡潔に
- このリポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/your-feature) - 変更をコミット (
git commit -m 'Add your feature') - ブランチにプッシュ (
git push origin feature/your-feature) - プルリクエストを作成
このプロジェクトはMITライセンスの下で公開されています。詳細は LICENSE を参照してください。
🚀 セルフホストGitでAI自動化をはじめよう!
Made with ❤️ by the Open Source Community