Skip to content
solidlimePublic

About

記憶を永続化するModel Context Protocol (MCP) サーバーです。RAG (Retrieval-Augmented Generation) とRerankingを活用した高度な意味検索機能を備えています。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2,266 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nous

AI に永続記憶を。ペルソナを持った対話を。

CI License: MIT Python 3.12+

Nous は MCP (Model Context Protocol) 対応の永続記憶サーバーです。Claude Desktop や OpenCode につなぐだけで、あなたの AI が「覚える」「思い出す」「検索する」能力を手に入れます。


できること

🧠 記憶システム

  • ハイブリッド検索: 意味検索 + キーワード検索で、ほしい記憶にすぐたどり着ける
  • 忘却曲線: よく使う記憶は強く、使わない記憶は自然に薄れる(Ebbinghaus モデル)
  • 自動記録: 会話中の重要情報を自動で記憶に保存

👤 ペルソナ管理

  • 複数ペルソナ: 複数の人格・ユーザーを完全に分けて管理
  • 感情・体調: ペルソナの感情状態や体調を追跡・減衰
  • アイテム・装備: 所持品と装備を管理。記憶作成時の装備状態を自動記録
  • 目標・約束: Goal / Promise のライフサイクルを追跡

💬 WebUI ダッシュボード

  • リアルタイムチャット: SSE ストリーミングで快適な会話
  • 記憶管理: 記憶の一覧表示・編集・削除・検索
  • 知識グラフ: エンティティ間の関係性を可視化
  • 設定画面: ブラウザから全ての設定を変更可能

🎨 オプション機能

  • 画像生成: ComfyUI 連携でペルソナの画像を自動生成(デフォルト OFF)
  • 音声合成: Irodori TTS による日本語音声出力(デフォルト OFF)
  • コード実行: Docker サンドボックスで Python/Bash を安全に実行

ComfyUI 保存ワークフローの直接実行

image_gen_comfyui_workflow_source を "comfyui" に設定すると、 ComfyUI 側の user/default/workflows/ に保存済みのワークフローを /userdata API で取得し、/object_info を併用して API 形式に変換して実行する。 Nous サーバー側にワークフローファイルを置く必要はない。

  • image_gen_comfyui_workflow_source: "local"(既定・従来動作)| "comfyui"
  • image_gen_comfyui_workflow_name: ComfyUI 側のワークフローファイル名(例: "Anima_T2I_Turbo_Aesthetic.json")

変換時に UI ノードのタイトルが API 形式の _meta.title に写るため、 ノードタイトルに NOUS:prompt / NOUS:negative_prompt / NOUS:reference_image / NOUS:width / NOUS:height / NOUS:seed / NOUS:display のタグを付ければ値の 注入が機能する。シードは毎回ランダム化され、EmptyLatentImage の width / height / batch_size は実行時に上書きされる(apply_generation_params)。

モデル・LoRA・steps・cfg・sampler・scheduler・denoise はワークフロー側に埋め込む (旧 NOUS:checkpoint / NOUS:lora / NOUS:steps / NOUS:cfg / NOUS:sampler / NOUS:scheduler / NOUS:denoise タグと image_gen_comfyui_checkpoint 等の設定は廃止)。

対応外(現時点): サブグラフ / V3 dynamic combo / GetNode-SetNode / bypass パススルー を含むワークフロー。必要なら comfy-cli の変換器を移植する。


クイックスタート

git clone https://github.com/solidlime/Nous.git
cd Nous
docker compose up -d

起動したら http://localhost:26262 をブラウザで開くだけ。

環境変数(.env)

# 必須: いずれか1つの LLM API キー
NOUS_ANTHROPIC_API_KEY=your_key
# NOUS_OPENAI_API_KEY=your_key
# NOUS_OPENROUTER_API_KEY=your_key

# オプション
TZ=Asia/Tokyo
DATA_ROOT=./data

LLM と接続する

Claude Desktop

claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "nous": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:26262/mcp"],
      "env": {
        "MCP_REMOTE_HEADER_X-Persona": "your_name"
      }
    }
  }
}

OpenCode

{
  "mcpServers": {
    "nous": {
      "url": "http://localhost:26262/mcp",
      "headers": {
        "X-Persona": "your_name"
      }
    }
  }
}

VS Code (GitHub Copilot)

{
  "mcpServers": {
    "nous": {
      "url": "http://localhost:26262/mcp",
      "headers": {
        "Authorization": "Bearer your_name"
      }
    }
  }
}

Persona の指定方法: 優先順位は パスパラメータ > Bearer トークン > X-Persona ヘッダー > 環境変数 PERSONA > デフォルト "default"。NOUS_API_KEY 設定時は Bearer がキーと一致必須(401)。公開する場合は事前に設定すること。


WebUI

http://localhost:26262 にアクセスすると、以下の画面が使えます:

画面 できること
チャット ペルソナとリアルタイム会話(SSE ストリーミング)
オーバービュー 記憶の統計・タグ分布・日次推移を表示
記憶管理 記憶の一覧表示・編集・削除
知識グラフ エンティティ間の関係性を可視化
設定 チャット設定・LLM プロバイダー・API キーなどをブラウザから変更

ドキュメント

ドキュメント 内容
Claude Desktop セットアップ mcp-remote / mcp-proxy を使った接続手順
LLM 利用ガイド LLM がツールを使う際のベストプラクティス
アーキテクチャ 技術スタック・ディレクトリ構造・設計パターン
HTTP API リファレンス REST API の詳細
記憶機能 忘却曲線・検索・エンリッチメントの詳細
サンドボックス Docker コード実行の設定とアーキテクチャ
検索品質の改善記録 日本語 OR 検索・semantic 死亡・recency 逆転の修正とベンチ before/after
ADR-003 検索スコア統合の recency/importance 相対(乗数)方式

ライセンス

MIT License — 詳細は LICENSE を参照。


Nous — Built by solidlime

About

記憶を永続化するModel Context Protocol (MCP) サーバーです。RAG (Retrieval-Augmented Generation) とRerankingを活用した高度な意味検索機能を備えています。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages