Repolode
ChrisVip001

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. 1

    joy-rsディレクトリでRustプロジェクトをビルドします

    cd joy-rs && cargo build
  2. 2

    プロバイダーとAPIキーを指定して、ターミナルでREPLを起動します

    JOY_PROVIDER=deepseek DEEPSEEK_API_KEY=… ./target/debug/joy
  3. 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 の数値は毎日更新されます。

関連プロジェクト