main
feat: Implement aishell - AI-powered shell automation tool
aishell
AI-powered shell automation tool - A generic alternative to Claude Code
Overview
aishellは、AIがシェルを操作するための汎用的なツールです。Claude Codeのような機能を、より柔軟で拡張可能な形で提供します。
主な特徴:
- マルチLLMプロバイダー対応: OpenAI、Claude、ローカルLLM(gpt-oss等)
- Function Calling: LLMがツールを直接呼び出してシェルを操作
- MCPサーバー: Claude Desktopとの連携も可能
- AIOS統合: aigptと組み合わせてAIによるOS管理を実現
Installation
# Rust環境が必要
cargo build --release
# バイナリをインストール
cargo install --path .
Usage
1. 対話型シェル (Interactive Shell)
# OpenAI互換APIを使用
export OPENAI_API_KEY="your-api-key"
aishell shell
# 別のモデルを指定
aishell shell -m gpt-4o
# gpt-ossなどのOpenAI互換サーバーを使用
export OPENAI_BASE_URL="http://localhost:8080/v1"
aishell shell
使用例:
aishell> List all Rust files in src/
[Executing tool: list]
src/main.rs
src/lib.rs
...
aishell> Create a new file hello.txt with "Hello, World!"
[Executing tool: write]
Successfully wrote to file: hello.txt
aishell> Show me the git status
[Executing tool: bash]
On branch main
...
2. ワンショット実行 (Single Command)
aishell exec "Show me the current directory structure"
3. MCPサーバーモード (Claude Desktop Integration)
aishell server
Claude Desktop設定 (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"aishell": {
"command": "/path/to/aishell",
"args": ["server"]
}
}
}
Architecture
aishell/
├── src/
│ ├── cli/ # 対話型インターフェイス (REPL)
│ ├── llm/ # LLMプロバイダー (OpenAI互換)
│ ├── shell/ # シェル実行エンジン
│ ├── mcp/ # MCPサーバー実装
│ └── config/ # 設定管理
実行フロー:
User Input → LLM (Function Calling) → Tool Execution → Shell → Result → LLM → User
Available Tools
aishellは以下のツールをLLMに提供します:
- bash: シェルコマンドを実行
- read: ファイルを読み込み
- write: ファイルに書き込み
- list: ファイル一覧を取得
Environment Variables
| 変数 | 説明 | デフォルト |
|---|---|---|
OPENAI_API_KEY |
OpenAI APIキー | (必須) |
OPENAI_BASE_URL |
APIベースURL | https://api.openai.com/v1 |
OPENAI_MODEL |
使用するモデル | gpt-4 |
Integration with AIOS
aishellはaigptと組み合わせることで、AIOS(AI Operating System)の一部として機能します:
- aigpt: AIメモリー、パーソナリティ分析
- aishell: シェル操作、自動化
- AIOS: これらを統合したAIによるOS管理システム
Comparison with Claude Code
| 機能 | Claude Code | aishell |
|---|---|---|
| LLM | Claude専用 | マルチプロバイダー |
| 実行環境 | Electron Desktop | CLI/MCP |
| カスタマイズ | 限定的 | 完全制御 |
| ローカルLLM | 非対応 | 対応可能 |
| AIOS統合 | 不可 | ネイティブ対応 |
Development
# 開発ビルド
cargo build
# テスト実行
cargo test
# ログ有効化
RUST_LOG=debug aishell shell
Technical Stack
- Language: Rust 2021
- CLI: clap 4.5
- Async Runtime: tokio 1.40
- HTTP Client: reqwest 0.12
- Shell Execution: duct 0.13
- REPL: rustyline 14.0
Roadmap
- Anthropic Claude API対応
- Ollama対応(ローカルLLM)
- より高度なツールセット(git統合、ファイル検索等)
- 設定ファイルサポート
- セッション履歴の永続化
- プラグインシステム
License
MIT License
Author
syui
Related Projects
- aigpt - AI Memory System
Description
Languages
Rust
100%