
nonatofabio/luna-agent
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
持続的な記憶、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
インストール
npx -y @playwright/mcp