Communitygithub.com

ranadheerravanam/jarvis-ai-assistant

LangChain、Ollama、Pythonを使用したパーソナルAIアシスタント。デスクトップ自動化、インテリジェントツール呼び出し、メモリ、音声操作を実現します。

jarvis-ai-assistant とは?

このスキルは、LangChain、Ollama、Pythonを組み合わせて構築されたパーソナルAIアシスタント「Jarvis AI Assistant」です。デスクトップ自動化、インテリジェントなツール呼び出し、会話履歴の保持、音声操作機能を備え、開発者やパワーユーザーが効率的に作業を進めることを支援します。主にローカル環境で動作し、Ollamaを介して様々な大規模言語モデル(LLM)を利用可能です。また、LangChainエージェントフレームワークを基盤に、ツールの動的選択やメモリ機能を活用したコンテキストを意識した応答が特徴です。このアシスタントは、ユーザーの自然言語指示を解析し、ファイル操作、アプリケーション起動、ウェブ検索、カスタムスクリプト実行など、さまざまなタスクを自動化します。音声入力にも対応しており、ハンズフリーでの操作が可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add ranadheerravanam/jarvis-ai-assistant

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

jarvis-ai-assistant は何をしますか?

LangChain、Ollama、Pythonを使用したパーソナルAIアシスタント。デスクトップ自動化、インテリジェントツール呼び出し、メモリ、音声操作を実現します。

概要

Jarvis AI Assistantは、LangChainエージェントフレームワークを基盤に、Ollamaを介してローカルLLMを利用するパーソナルアシスタントです。デスクトップ自動化、ツール呼び出し、メモリ機能、音声インタラクションをシームレスに統合し、開発者の生産性を向上させます。

主な機能

  • デスクトップ自動化: ファイル操作、アプリケーション起動、システムコマンドの実行
  • インテリジェントツール呼び出し: 自然言語から適切なツールを選択・実行
  • 会話メモリ: 過去の会話を保持し、コンテキストを理解した応答
  • 音声操作: 音声入力と合成音声出力によるハンズフリー操作
  • LangChain統合: エージェント、チェーン、ツールのモジュール設計

前提条件

  • Python 3.8以上
  • Ollama のインストールと実行
  • サポート対象のLLMモデル(例: llama3, mistral, codellama)

インストール

# リポジトリをクローン
git clone https://github.com/ranadheerravanam/jarvis-ai-assistant.git
cd jarvis-ai-assistant

# 仮想環境を作成(推奨)
python -m venv venv
source venv/bin/activate  # Windowsの場合は venv\Scripts\activate

# 依存パッケージをインストール
pip install -r requirements.txt

設定

環境変数または設定ファイルで設定を行います。

# .envファイルを作成
cp .env.example .env
# 必要に応じて編集

主な設定項目:

  • OLLAMA_BASE_URL: OllamaサーバーのURL(デフォルト: http://localhost:11434)
  • LLM_MODEL: 使用するモデル名(例: llama3)
  • ENABLE_VOICE: 音声機能の有効/無効設定
  • MEMORY_TYPE: メモリ種別(例: buffer, summary)

使い方

# アシスタントを起動
python main.py

起動後、テキストまたは音声で指示を入力します。

使用例

  • 「今週の作業ログをまとめて」
  • 「ファイルを開いて」
  • 「ウェブ検索して最新のAIニュースを教えて」

アーキテクチャ

User Input (Text/Voice)
        |
v
Voice Recognition (STT) / Text Input
        |
v
LangChain Agent
  - LLM (via Ollama)
  - Tool Registry
  - Memory Module
        |
v
Tool Execution
  - File System
  - Web Search
  - Shell Commands
  - Custom Tools
        |
v
Response Generation
  - Text Output
  - Voice Synthesis (TTS)

ツールの追加

カスタムツールは tools/ ディレクトリに追加します。各ツールは LangChainの Tool クラスを継承します。

from langchain.tools import Tool

class MyCustomTool(Tool):
    name = "my_custom_tool"
    description = "説明文"
    
    def _run(self, query: str) -> str:
        # ツールのロジック
        return f"結果: {query}"

ライセンス

MIT

貢献

バグ報告や機能リクエストはGitHub Issuesでお知らせください。プルリクエストも歓迎します。

関連スキル