Repolode
ChrisVip001

ChrisVip001/joyczl-agent

에이전트 루프, 메모리, 도구를 Rust 코어로 구현하고 TypeScript 채팅 게이트웨이와 대시보드를 제공하는 로컬 우선 개인 비서입니다.

스타
112
포크
0
열린 이슈
0
마지막 커밋
그저께

어떤 프로젝트인가요?

Joy는 사용자의 컴퓨터에서 실행되는 개인 비서입니다. 상태 저장소, 에이전트 루프, 메모리와 도구는 Rust로 구현하고, 브라우저 대시보드와 Telegram, Discord, WeChat, Lark용 채팅 게이트웨이는 TypeScript로 제공합니다. 얇은 Python SDK는 `joy app-server` 프로세스가 제공하는 것과 동일한 JSON-RPC 인터페이스를 감싸므로, 모든 클라이언트는 SQLite 상태를 관리하는 단일 프로세스와 통신합니다.

메모리는 FTS5로 검색할 수 있는 의미 기반 사실, 날짜가 기록된 에피소드, 절차를 담은 Skills를 결합하며, 메모리가 관련 있어 보일 때만 참조하는 검색 게이트를 사용합니다. 비서에는 메모, 캘린더 일정, 웹 검색, 파일 읽기, URL 가져오기, 셸 명령을 처리하는 기본 도구 약 11개가 포함되어 있고 MCP 서버에 연결할 수도 있습니다. 셸 실행은 기본적으로 비활성화되어 있으며, 명시적인 환경 변수를 설정해야 사용할 수 있습니다. 매 턴마다 추적 로그 한 줄과 토큰 사용량을 기록합니다.

이 프로젝트에는 결정론적 평가 제품군과 답변 품질을 평가하는 LLM judge가 포함되어 있으며, API 키가 필요 없는 로컬 Ollama 모델을 포함해 다양한 LLM 제공자를 지원합니다.

핵심 기능

  • 01터미널 REPL, 브라우저 대시보드 또는 Telegram, Discord, WeChat, Lark 게이트웨이로 채팅할 수 있습니다.
  • 02검색 가능한 사실, 날짜가 기록된 에피소드, 재사용 가능한 Skills의 세 가지 메모리 유형을 제공합니다.
  • 03메모, 캘린더, 웹 검색, 파일 읽기, 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 통계는 매일 갱신됩니다.

관련 프로젝트