NL

nonatofabio/luna-agent

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

21 stars 10 forks 품질 62 트렌드 10MIT

영구 기억, MCP 도구 및 Discord를 가진 최소 AI 대리인

개요

지속적인 기억, MCP 공구 통합, Discord/CLI 공용영역 및 구조상 관찰성을 가진 주문 최소한 AI 대리인. 로컬 하드웨어에서 완전히 실행 - 클라우드 API 비용 없음. 우리는 기존 에이전트 프레임 워크를 평가하고 그들 모두를 거부 : - : 코드 400K 라인, 쇼단 42K 노출 인스턴스. 감사에 너무 크다. - : 평가기간 9일 토모 immature - : 너무 얇은 - 어쨌든 최대한 재구성해야합니다. 핵심 요구 (메모리, 도구, 채팅, 로깅)는 개별적으로 잘 용해 된 문제입니다. 필요로 하는 400K 선 기구 없음. 모든 LLM 트래픽은 구성 가능한 엔드포인트 URL을 가진 단일 LLMClient를 통해 흐릅니다. 오늘 그것은 로컬 호스트에 포인트:8001 (llama-server). 나중에 AI 방화벽을 삽입하려면 로컬 호스트에 URL을 변경:9000 - 0 코드 변경이 필요합니다. Luna는 모델 (Qwen3.5, etc.)을 자동으로 제거하여 reasoning content를 추출하여 콘텐츠를 비우고, 출력에서 새겨진 markup (, , 등)을 제거 할 수 있습니다.

개요(AI 번역)

루나 에이전트

지속적인 기억, MCP 공구 통합, Discord/CLI 공용영역 및 구조상 관찰성을 가진 주문 최소한 AI 대리인. 로컬 하드웨어에서 완전히 실행 - 클라우드 API 비용 없음.


파이썬의 ~2300 라인. 프레임 없음.

왜 관례

우리는 기존 에이전트 프레임 워크를 평가하고 그들 모두를 거부 :

  • OpenClaw: 코드의 400K 라인, 쇼단에 42K 노출된 인스턴스. 감사에 너무 크다.
  • **ZeroClaw **: 9 일 평가 시간. 토모 immature
  • **NanoClaw **: 너무 얇은 - 어쨌든의 대부분을 재구성해야합니다.

핵심 요구 (메모리, 도구, 채팅, 로깅)는 개별적으로 잘 용해 된 문제입니다. 필요로 하는 400K 선 기구 없음.

건축

모든 LLM 트래픽은 구성 가능한 엔드포인트 URL을 사용하여 단일 LLMClient을 통해 흐릅니다. 오늘 그것은 localhost:8001 (llama-server). AI 방화벽을 나중에 삽입하려면 URL을 localhost:9000] - 0 코드가 필요합니다.

Thinking model support: Luna handle reasoning model (Qwen3.5, etc.) 자동적으로 - reasoning_content]를 추출하고, 내용이 비어있을 때 청소한 이유를 떨어뜨리고, 누출 된 마크 업 ([T4]], ] 등) 출력에서.

하드웨어

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

Luna Agent

A custom minimal AI agent with persistent memory, MCP tool integration, Discord/CLI interface, and structured observability. Runs entirely on local hardware — no cloud API costs.


~2300 lines of Python. No frameworks.

Why Custom

We evaluated existing agent frameworks and rejected them all:

  • OpenClaw: 400K lines of code, 42K exposed instances on Shodan. Too large to audit, too large to trust.
  • ZeroClaw: 9 days old at time of evaluation. Too immature.
  • NanoClaw: Too thin — would need to rebuild most of it anyway.

The core needs (memory, tools, chat, logging) are individually well-solved problems. No 400K-line framework needed.

Architecture

Discord (discord.py)     CLI REPL (no token)
     |                        |
     v                        v
+---------------------------------+
|        Luna Agent Core          |
|                                 |
|  agent.py                       |  agent loop: msg → memory → prompt → LLM → tools → respond
|    ├── llm.py                   |  single LLM client, configurable endpoint
|    ├── memory.py                |  SQLite + FTS5 + sqlite-vec hybrid search
|    ├── tools.py                 |  native tools: bash, files, web, delegate, code_task
|    ├── tool_output.py           |  smart output pipeline for large results
|    ├── mcp_manager.py           |  MCP client for community tool servers
|    └── observe.py               |  structured JSON logging
|                                 |
+---------------------------------+
              |
              v
        llama-server               Qwen3.5-35B-A3B on 2x RTX 3090

All LLM traffic flows through a single LLMClient with a configurable endpoint URL. Today it points at localhost:8001 (llama-server). To insert an AI firewall later, change the URL to localhost:9000 — zero code changes required.

Thinking model support: Luna handles reasoning models (Qwen3.5, etc.) automatically — extracting reasoning_content, falling back to cleaned reasoning when content is empty, and stripping leaked markup (, , etc.) from output.

Hardware

  • Intel i7-13700K, 64GB DDR4
  • 2x NVIDIA RTX 3090 (24GB each, 48GB total)
  • Qwen3.5-35B-A3B Q8_0 via llama-server with layer split across both GPUs
  • 131K context window, Q8_0 KV cache

Quick Start

GitHub에서 전체 README 보기

설치

npx -y @playwright/mcp
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →