読みやすいPythonで書かれたローカルファーストの個人向けAIアシスタント。独自のエージェントループ、SQLiteベースのメモリ、組み込みの評価機能を備えています。
ChrisVip001/joyczl-agent
エージェントのループ、メモリ、ツールをRustで実装したローカルファーストのパーソナルアシスタント。TypeScript製のチャットゲートウェイとダッシュボードも備えています。
- スター
- 112
- フォーク
- 0
- 未解決の Issue
- 0
- 最終コミット
- 一昨日
これは何?
Joyは、ユーザー自身のマシン上で動作するパーソナルアシスタントです。状態ストア、エージェントのループ、メモリ、ツールはRustで実装され、ブラウザダッシュボードとTelegram、Discord、WeChat、Lark向けのチャットゲートウェイにはTypeScriptを使用しています。薄いPython SDKは、`joy app-server`プロセスが公開するものと同じJSON-RPCインターフェースをラップするため、すべてのクライアントはSQLiteの状態を一元管理する同じプロセスと通信します。
メモリは、FTS5で検索できる意味情報、日付付きのエピソード、手順をまとめたSkillsを組み合わせており、関連性がありそうな場合にのみメモリを参照する取得ゲートを備えています。アシスタントには、ノート、カレンダーの予定、Web検索、ファイルの読み取り、URL取得、シェルコマンドなどを扱う約11種類の組み込みツールがあり、MCPサーバーにも接続できます。シェルの実行はデフォルトで無効で、明示的な環境変数の設定が必要です。各ターンではトレース行とトークン使用量が記録されます。
プロジェクトには、決定論的な評価スイートと回答品質を評価するLLM judgeが含まれています。また、APIキーが不要なローカルのOllamaモデルを含む、幅広いLLMプロバイダーに対応しています。
主な機能
- 01ターミナルのREPL、ブラウザダッシュボード、またはTelegram、Discord、WeChat、Larkのゲートウェイからチャットできます。
- 02検索可能な事実、日付付きのエピソード、再利用可能なSkillsという3種類のメモリを備えています。
- 03ノート、カレンダー、Web検索、ファイルの読み取り、URL取得に使える組み込みツールに加え、MCPサーバーにも対応しています。
- 04シェルコマンドはサンドボックス化され、許可リストで制限されており、明示的に有効化しない限り無効です。
- 05クライアントはJSON-RPCでコアと通信し、SQLiteの状態は単一のプロセスが管理します。
ユースケース
- ノート、メモリ、カレンダーのデータを自分のマシンに保存する、プライベートなアシスタントを動かす。
- 状態をローカルに保ったまま、TelegramやDiscordからエージェントとチャットする。
- 他のクライアント向けにJSON-RPC APIを公開するRust製エージェントコアを試す。
- クラウドプロバイダーにデータを送信せず、ローカルのOllamaモデルをアシスタントのLLMとして使う。
クイックスタート
- 1
joy-rsディレクトリでRustプロジェクトをビルドします
cd joy-rs && cargo build - 2
プロバイダーとAPIキーを指定して、ターミナルでREPLを起動します
JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy - 3
または、http://localhost:7777 でダッシュボードを起動します
JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
使う前に知っておきたいこと
- PyPIやnpmにはまだパッケージが公開されていないため、Cargoを使ってソースからビルドする必要があります。
- 回答を得るには、LLMプロバイダーのAPIキーか、ローカルのOllama環境が必要です。
- Discord、WeChat、Larkのゲートウェイは、実際の各プラットフォームに接続されたことがありません。
収録されている特集
トピック
よくある質問
- joyczl-agent とは?
- エージェントのループ、メモリ、ツールをRustで実装したローカルファーストのパーソナルアシスタント。TypeScript製のチャットゲートウェイとダッシュボードも備えています。 Joyは、ユーザー自身のマシン上で動作するパーソナルアシスタントです。状態ストア、エージェントのループ、メモリ、ツールはRustで実装され、ブラウザダッシュボードとTelegram、Discord、WeChat、Lark向けのチャットゲートウェイにはTypeScriptを使用しています。薄いPython SDKは、`joy app-server`プロセスが公開するものと同じJSON-RPCインターフェースをラップするため、すべてのクライアントはSQLiteの状態を一元管理する同じプロセスと通信します。
- joyczl-agent は無料で使えますか?ライセンスは?
- joyczl-agent は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- joyczl-agent は今もメンテナンスされていますか?
- 活発にメンテナンス中。joyczl-agent の最終コミットは 2026年11月4日 です。
- joyczl-agent は何に使えますか?
- ノート、メモリ、カレンダーのデータを自分のマシンに保存する、プライベートなアシスタントを動かす。 状態をローカルに保ったまま、TelegramやDiscordからエージェントとチャットする。 他のクライアント向けにJSON-RPC APIを公開するRust製エージェントコアを試す。 クラウドプロバイダーにデータを送信せず、ローカルのOllamaモデルをアシスタントのLLMとして使う。
- joyczl-agent のインストール方法は?
- joy-rsディレクトリでRustプロジェクトをビルドします: cd joy-rs && cargo build プロバイダーとAPIキーを指定して、ターミナルでREPLを起動します: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy または、http://localhost:7777 でダッシュボードを起動します: JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy dashboard
- joyczl-agent はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ChrisVip001/joyczl-agent
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
計画、文章作成、個人の知識管理を支援するオープンソースのAIパーソナルアシスタント。Macで実行するほか、独自のモデルキーを使ってセルフホストできます。
TUIとGUI、ローカルのワークスペースツール、人間による承認、永続セッション、メモリ、Skill/Plugin/MCP拡張を備えた、軽量なセルフホスト型パーソナルエージェントアプリ。
WebUI、メモリ、ツール、MCP、サブエージェント、定期実行の自動化を備え、ローカルまたはクラウドのLLMを利用できるセルフホスト型の個人向けAIエージェント。
レイヤー型メモリ、ツール権限、ワークフロー、IM連携を備えた、セルフホスト型・ローカルファーストのパーソナルAIエージェント。
モデル、ツール、メモリ、他のエージェントを組み合わせるAIエージェントランタイムを構築するためのRustフレームワーク。