NL

nonatofabio/luna-agent

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

21 stars 10 forks 品質 62 トレンド 10MIT

持続的な記憶、MCP 用具および Discord の注文の最低の AI の代理店

概要

永続的な記憶、MCP 用具の統合、Discord/CLI インターフェイスおよび構造された観察性が付いている注文の最低の AI の代理店。 ローカルのハードウェアで完全に実行 — クラウド API コストなし。 既存のエージェントフレームワークを評価し、それらをすべて拒否しました。 - : コードの400K行、Shodanの42K露光インスタンス。 監査に大きすぎる、信頼に大きすぎる。 - : 評価時9日 藤井 徹 - : あまりにも薄く、とにかくほとんどを再構築する必要があります。 コアニーズ(メモリー、ツール、チャット、ロギング)は、個別に解決された問題です。 400Kラインフレームワークは必要ありません。 LLM のすべてのトラフィックは、単一の LLMClient を構成可能なエンドポイント URL でフローします。 今日は localhost:8001 (llama-server) でポイントします。 後でAIファイアウォールを追加するには、URLを localhost:9000 に変更します。必要なコードはゼロです。 Luna は、推論モデル (Qwen3.5 など) を自動的に処理します。これにより、serting content を抽出し、コンテンツが空の場合の推論に戻り、出力から漏れたマークアップ ( 、 など) を除去します.

概要(AI 翻訳)

月の代理店

永続的な記憶、MCP 用具の統合、Discord/CLI インターフェイスおよび構造された観察性が付いている注文の最低の AI の代理店。 ローカルのハードウェアで完全に実行 — クラウド API コストなし。

お問い合わせ

Pythonの2300行。 フレームワークはありません。

なぜカスタム

既存のエージェントフレームワークを評価し、それらをすべて拒否しました。

  • OpenClaw:コードの400K行、Shodanの42K露光インスタンス。 監査に大きすぎる、信頼に大きすぎる。 -ZeroClaw:評価時に9歳 藤井 徹
  • ナノクロー: Too Thin - とにかく、そのほとんどを再構築する必要があります。

コアニーズ(メモリー、ツール、チャット、ロギング)は、個別に解決された問題です。 400Kラインフレームワークは必要ありません。

アーキテクチャ

LLM のすべてのトラフィックは、設定可能なエンドポイント URL で単一の [LLMClient] を介してフローします。 今日は[localhost:8001(ラマサーバ)でポイントします。 後でAIファイアウォールを投入するには、URLを[[T2]に変更します。

Thinkingモデルのサポート: Luna は、推論モデル (Qwen3.5 など) を自動的に処理します。[reasoning_content] を抽出し、コンテンツが空になったときに清掃された推論に戻り、漏れたマークアップ([ ]])、[[[ ]など)を出力から除去します。

ハードウェア

このページは 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 のガイドから始めましょう →