Skip to content

Latest commit

 

History

History
518 lines (388 loc) · 21.4 KB

File metadata and controls

518 lines (388 loc) · 21.4 KB

ロゴ

中文 | English | Русский

Project N.E.K.O. 😽
プロアクティブでネイティブなオムニモーダルAIコンパニオン——24/7環境認識、エージェント能力、そして具現化された感情エンジンを搭載。

N.E.K.O. = Networked Emotional Knowledging Organism(ネットワーク型感情知性生命体)

N.E.K.O.は、理解を求め、繋がりを築き、私たちと共に成長するデジタル生命です。

Python License Commit Discord QQグループ Steam

Docs

👵 ゼロコンフィグで即座に使える、おばあちゃんでも使いこなせるサイバー猫娘!

📰 Steam版がリリースされました!UI完全刷新、専用無料モデルを標準搭載(StepFunの提供に感謝)。今すぐウィッシュリストに追加してください~

Project N.E.K.O.、ニャー宇宙!

機能デモ(完全版はBilibiliで) Bilibili

demo.mp4

コア機能

🎙️
オムニモーダル対話
リアルタイム音声 (Realtime API) + テキストチャット (ChatCompletion)、視覚理解対応
🧠
三層記憶システム
事実記憶 / 反省記憶 / 人格記憶——彼女は本当にあなたを「覚えて」います
🤖
エージェント能力
ブラウザ操作 (CUA)、PC操作、OpenClaw A2A呼び出し——彼女があなたの仕事を手伝います
🎭
マルチフォームAvatar
Live2D / VRM / MMD の3形態、モーションキャプチャとフルスクリーン追跡対応
🔌
プラグインエコシステム
完全なプラグインSDKとマーケットプレイスでカスタム拡張が可能
🌐
14以上のAIプロバイダー
OpenAI / Gemini / Qwen / DeepSeek等、無料モデルも即座に利用可能
💬
プロアクティブチャット
24/7環境認識:画面理解、SNSトレンド、個人フィード、音楽やミーム——彼女から話しかけてきます
🏪
UGCワークショップ
Steam Workshop経由でカスタムキャラクター、モデル、ボイスパックをアップロード・共有

猫娘計画(Project N.E.K.O.)

猫娘計画は、オープンソースを原動力としたAI伴侶プラットフォームです。コアドライバーはMITライセンスの下で常にオープンソース——あなたの貢献は、SteamやApp Storeの正式版に実装される可能性があります。


🚀 現在の状況 & ロードマップ

  • ✅ Steam Workshop:公開中。カスタムキャラクター、モデル、ボイスパックのアップロード・共有が可能。
  • 🚧 K.U.R.O.:N.E.K.O.エコシステム上に構築された初のAI Nativeインディーゲーム、開発中。
  • 🚧 モバイル:iOS / Android対応進行中。
  • 🚧 猫娘ネットワーク(The N.E.K.O. Network):AIの自律的社交——N.E.K.O.たちが自分の「意識」を持ち、互いに交流し、シミュレートされたSNSで生活を投稿。まもなく公開。

シーンを超えた記憶同期:デスクトップでチャットしても、ゲームで冒険しても、彼女は同じ彼女。全アプリケーションのAI伴侶は完全に記憶を同期します。

✨ 参加しませんか

  • 開発者: フロントエンド、バックエンド、AI、ゲームエンジン(Unity/Unreal)——あなたのコードがこの世界の礎です。
  • クリエイター: アーティスト、Live2D/3Dモデラー、声優、ライター——「彼女」に魂を与えます。
  • ドリーマー: あなたのフィードバックと支持は貴重な貢献です。

Discord参加する | QQグループ1022939659

クイックスタート

Windows / macOS ユーザー(ワンクリックパッケージ)

解凍後にN.E.K.O.exeまたはN.E.K.O.appを実行するだけで起動できます。(macOSユーザーはシステム隔離を手動で解除する必要があります)

Dockerデプロイ(Linux)

クリックしてDockerデプロイガイドを展開

方法1:Docker Compose(推奨)

クリックしてdocker-compose.ymlを表示
version: '3.8'
services:
  neko-main:
    image: docker.gh-proxy.org/ghcr.io/project-n-e-k-o/n.e.k.o:latest
    container_name: neko
    restart: unless-stopped
    ports:
      - "48911:80"   # HTTPポート
      - "48912:443"  # HTTPSポート
    volumes:
      - ./N.E.K.O:/root/Documents/N.E.K.O
      - ./logs:/app/logs
      - ./ssl:/root/ssl
    networks:
      - neko-network
networks:
  neko-network:
    driver: bridge

起動:

docker-compose up -d

よく使うコマンド:

  • ログ確認:docker-compose logs -f
  • 停止:docker-compose down
  • 再起動:docker-compose restart

方法2:Docker Run

クリックしてdocker runコマンドを表示
NEKO_BASE_PATH="/home/neko/neko-data" && \
docker network create --driver bridge neko-network 2>/dev/null || true
docker run -d \
  --name neko \
  --restart unless-stopped \
  -p 48911:80 \
  -p 48912:443 \
  -v "${NEKO_BASE_PATH}/N.E.K.O:/root/Documents/N.E.K.O" \
  -v "${NEKO_BASE_PATH}/logs:/app/logs" \
  -v "${NEKO_BASE_PATH}/ssl:/root/ssl" \
  --network neko-network \
  docker.gh-proxy.org/ghcr.io/project-n-e-k-o/n.e.k.o:latest
📁 ディレクトリ構造

起動後、以下のディレクトリ構造が自動生成されます:

カレントディレクトリ/
├── N.E.K.O/      # 設定ファイルとデータ
├── logs/         # アプリケーションログ
├── ssl/          # SSL証明書
└── docker-compose.yml

🔐 SSL証明書設定

クリックしてSSL証明書の詳細を表示
自動証明書

コンテナ初回起動時に、有効期間1000年の自己署名証明書が自動生成され、./ssl/ディレクトリに保存されます。

カスタム証明書

独自のSSL証明書を使用する場合:

方法1:起動前設定(推奨)

mkdir -p ./ssl
cp your-cert.crt ./ssl/N.E.K.O.crt
cp your-cert.key ./ssl/N.E.K.O.key

方法2:起動後の置き換え

docker-compose down
cp your-cert.crt ./ssl/N.E.K.O.crt
cp your-cert.key ./ssl/N.E.K.O.key
docker-compose up -d
証明書要件
  • PEM形式である必要があります
  • ✅ 証明書と秘密鍵が一致する必要があります
  • ✅ 秘密鍵はパスワード保護されていないこと
  • ✅ 証明書は有効期間内であること
  • ❌ 暗号化された秘密鍵はサポートされていません
証明書検証

コンテナ起動時にSSL証明書が自動検証されます:

  • 検証成功:HTTPSが正常に起動
  • 検証失敗:コンテナの起動に失敗、ログを確認してください
  • ⚠️ 検証スキップDISABLE_SSL=1を設定してSSLを一時的に無効化
証明書情報の確認
docker exec neko openssl x509 -in /root/ssl/N.E.K.O.crt -noout -text

⚙️ 環境変数設定

クリックして環境変数の設定を表示

注意:一部の環境変数はソースコードでは無効な場合があります。Web UIでの設定を推奨します。

environment:
  # APIキー
  - NEKO_CORE_API_KEY=${NEKO_CORE_API_KEY}
  - NEKO_ASSIST_API_KEY_QWEN=${NEKO_ASSIST_API_KEY_QWEN}
  - NEKO_ASSIST_API_KEY_OPENAI=${NEKO_ASSIST_API_KEY_OPENAI}
  - NEKO_ASSIST_API_KEY_GLM=${NEKO_ASSIST_API_KEY_GLM}
  - NEKO_ASSIST_API_KEY_STEP=${NEKO_ASSIST_API_KEY_STEP}
  - NEKO_ASSIST_API_KEY_SILICON=${NEKO_ASSIST_API_KEY_SILICON}
  - NEKO_MCP_TOKEN=${NEKO_MCP_TOKEN}

  # APIプロバイダー
  - NEKO_CORE_API=${NEKO_CORE_API:-qwen}
  - NEKO_ASSIST_API=${NEKO_ASSIST_API:-qwen}

  # モデル
  - NEKO_SUMMARY_MODEL=${NEKO_SUMMARY_MODEL:-qwen-plus}
  - NEKO_CORRECTION_MODEL=${NEKO_CORRECTION_MODEL:-qwen-max}
  - NEKO_EMOTION_MODEL=${NEKO_EMOTION_MODEL:-qwen-turbo}
  - NEKO_VISION_MODEL=${NEKO_VISION_MODEL:-qwen3-vl-plus-2025-09-23}

  # SSL
  - SSL_DOMAIN=${SSL_DOMAIN:-project-neko.online}
  - SSL_DAYS=${SSL_DAYS:-365000}
  - DISABLE_SSL=${DISABLE_SSL:-0}
  - AUTO_REGENERATE_CERT=${AUTO_REGENERATE_CERT:-1}
  - NGINX_AUTO_RELOAD=${NGINX_AUTO_RELOAD:-1}

クイックセットアップ:

cat > .env << EOF
NEKO_CORE_API_KEY=your_core_api_key_here
NEKO_ASSIST_API_KEY_QWEN=your_qwen_api_key
NEKO_MCP_TOKEN=your_mcp_token
SSL_DOMAIN=your-domain.com
EOF

docker-compose --env-file .env up -d

🔧 トラブルシューティング

クリックしてよくある問題の解決策を表示
1. ポート競合
ss -tulpn | grep ':4891[12]'
# 解決策:docker-compose.ymlのポートマッピングを変更
2. 権限問題
mkdir -p N.E.K.O logs ssl
chmod 755 N.E.K.O logs ssl
3. コンテナの起動失敗
docker-compose logs --tail=100
docker logs neko --tail=100
4. SSL証明書エラー
rm -f ssl/N.E.K.O.crt ssl/N.E.K.O.key
docker-compose up -d
5. ネットワーク問題
curl -v http://localhost:48911/health
curl -v -k https://localhost:48912/health
6. コンテナにアクセスできない
docker ps | grep neko
docker logs neko
docker exec -it neko bash
7. ディスク容量不足
docker system prune -f
docker-compose down && docker volume prune -f
8. イメージのプル失敗
# docker-compose.ymlで代替イメージソースを試す:
# image: ghcr.io/project-n-e-k-o/n.e.k.o:latest

📊 システム監視

クリックして監視コマンドを表示
ヘルスチェック
curl http://localhost:48911/health
curl -k https://localhost:48912/health
リソース監視
docker stats neko
docker top neko
docker inspect neko
ログ管理
docker-compose logs -f
docker-compose logs --tail=100
docker-compose logs | grep -i error
データバックアップ
tar -czf neko-backup-$(date +%Y%m%d).tar.gz \
  N.E.K.O/ \
  ssl/ \
  docker-compose.yml
バージョンアップグレード
docker-compose pull
docker-compose up -d

🌐 アクセスURL

コンテナ起動後:

  • HTTP: http://あなたのサーバーIP:48911
  • HTTPS: https://あなたのサーバーIP:48912

⏱️ クイックリファレンス

操作 コマンド
起動 docker-compose up -d
停止 docker-compose down
ログ docker-compose logs -f
再起動 docker-compose restart
更新 docker-compose pull && docker-compose up -d
シェル docker exec -it neko bash
状態確認 docker-compose ps

ソースコード開発

クリックして開発者起動ガイドを展開

完全な開発者ドキュメントは project-neko.online をご覧ください

要件:Python 3.11(他のバージョンはサポートされていません)、uv パッケージマネージャー、Node.js(>=20.19)

# 1. プロジェクトをクローン
git clone https://github.com/Project-N-E-K-O/N.E.K.O.git
cd N.E.K.O

# 2. Python依存関係をインストール
uv sync

# 3. フロントエンドプロジェクトをビルド(Node.js >= 20.19 が必要。初回実行時またはフロントエンドコード変更後に必要)
#    推奨:一括ビルドスクリプトを使用(公式にサポートされているビルド手順です)
#      Windows:      build_frontend.bat
#      Linux/macOS:  ./build_frontend.sh
#    手動でビルドする場合(スクリプトと同じコマンドを使用してください):
# cd frontend/react-neko-chat && npm install && npm run build && cd ../..
# cd frontend/plugin-manager && npm install && npm run build-only && cd ../..

# 4. サービスを起動(最低限 main_server と memory_server が必要)
uv run python memory_server.py
uv run python main_server.py
# オプション:Agentサービスを起動
uv run python agent_server.py

# 5. http://localhost:48911 にアクセスしてAPI Keyを設定し、使用開始

開発者はQQグループ 1022939659 への参加をお勧めします。

上級使用

クリックして上級使用法を展開

API Keyの設定

追加機能のためにサードパーティAIサービスを設定できます:

  • コアAPI(リアルタイム音声会話):Realtime APIに対応している必要があります。推奨:GeminiOpenAIStepFun、またはAlibaba Cloud
  • アシストAPI(記憶/感情/視覚等):標準ChatCompletionインターフェースに対応。14以上のプロバイダーが利用可能。

http://localhost:48911/api_keyにアクセスして、Web画面から直接設定できます。

Alibaba Cloud APIの取得:Alibaba CloudのBailian Platform公式サイトでアカウント登録します。新規ユーザーは実名認証後に大量の無料クレジットを取得できます。登録完了後、コンソールにアクセスしてAPI Keyを取得してください。

キャラクター設定の変更

  • ウェブ版でhttp://localhost:48911/chara_managerにアクセスするとキャラクター編集ページに入れます。初期の伴侶のプリセット名は小天(XiaoTian)です。名前を直接変更し、基本設定を一つずつ追加または変更することをお勧めします。

  • 上級設定にはLive2D/VRM/MMDモデル設定音声設定が含まれます。Avatarモデルを変更したい場合は、まずモデルディレクトリを本プロジェクトのstaticフォルダにコピーしてください。上級設定からモデル管理画面に入り、モデルを切り替え、ドラッグとマウスホイールでモデルの位置とサイズを調整できます。キャラクター音声を変更したい場合は、約5秒の連続したクリーンな音声録音を準備してください。上級設定から音声クローンページに入り、録音をアップロードするとカスタム音声の設定が完了します。

  • キャラクターカードのエクスポートに対応——「設定のみ」または「完全キャラクターカード」形式で共有やバックアップが可能です。

  • 上級設定にはさらにsystem_promptがあり、システム命令を完全にカスタマイズできますが、変更は推奨されません。

APIプロバイダーの変更

  • http://localhost:48911/api_keyにアクセスすると、コアAPIとアシストAPIのサービスプロバイダーを切り替えられます。

記憶整理

  • http://localhost:48911/memory_browserにアクセスすると、最近の記憶と要約を閲覧および校正でき、モデルの繰り返しや認知エラーなどの問題をある程度緩和できます。

プロジェクト詳細

クリックしてプロジェクトアーキテクチャとロードマップを展開

プロジェクトアーキテクチャ

N.E.K.O/
├── 📁 .agent/                   # 🤖 AIコーディングアシスタントのルールとスキル(Google Antigravity 規約)
├── 📁 brain/                    # 🧠 エージェントモジュール
│   ├── computer_use.py          # PC操作
│   ├── browser_use_adapter.py   # ブラウザ自動化
│   ├── openclaw_adapter.py      # OpenClawクラウド接続
│   ├── openfang_adapter.py      # OpenFangヘッドレス実行バックエンド
│   ├── task_executor.py         # タスク実行エンジン
│   └── 📁 cua/                  # Computer Use Agentサブシステム
├── 📁 config/                   # ⚙️ 設定管理モジュール
│   ├── api_providers.json       # APIプロバイダー設定
│   ├── prompts_chara.py         # キャラクタープロンプト
│   └── prompts_sys.py           # システムプロンプト
├── 📁 main_logic/               # 🔧 コアモジュール
│   ├── core.py                  # コア対話モジュール
│   ├── cross_server.py          # クロスサーバー通信
│   ├── omni_realtime_client.py  # リアルタイムAPIクライアント
│   ├── omni_offline_client.py   # テキストAPIクライアント(ChatCompletion)
│   └── tts_client.py            # 🔊 TTSエンジンアダプター
├── 📁 main_routers/             # 🌐 APIルーター(14ルート)
├── 📁 memory/                   # 🧠 三層記憶システム
│   ├── facts/                   # 事実記憶
│   ├── reflection/              # 反省記憶
│   └── persona/                 # 人格記憶
├── 📁 frontend/                 # 🖥️ モダンフロントエンドプロジェクト
│   ├── react-neko-chat/         # React チャットウィンドウコンポーネント
│   └── plugin-manager/          # Vue プラグイン管理ダッシュボード
├── 📁 plugin/                   # 🔌 プラグインシステム
│   ├── sdk/                     # プラグインSDK
│   └── server/                  # プラグインサーバー
├── 📁 static/                   # 🌐 フロントエンド静的リソース(ビルド成果物を含む)
├── 📁 templates/                # 📄 フロントエンドHTMLテンプレート(14ページ)
├── 📁 utils/                    # 🛠️ ユーティリティモジュール
├── main_server.py               # 🌐 メインサーバー
├── agent_server.py              # 🤖 AIエージェントサーバー
└── memory_server.py             # 🧠 記憶サーバー

AI支援開発.agent/ ディレクトリは Google Antigravity オープン規約に従い、プロジェクトの開発ルールとスキルセットを格納しています。Antigravity のみ自動読み込み、他のAIツール(Claude Code 含む)は手動インポートが必要です。適応ガイドを参照してください。

データフロー

Framework

完全な開発者ドキュメントは project-neko.online をご覧ください

ロードマップ

v0.7: ✅ Agent関連機能の改善。完了。

v0.8:記憶関連機能の改善、OpenClaw類似機能の改善。完了予定:2026年3月。

v0.9:Linux、スマートフォンを含むマルチシステム対応の改善。猫娘ネットワーク公開。完了予定:2026年4月。

v1.0:一部モデルプロバイダーへの対応を廃止し、自社大規模モデルとエージェントシステムに注力。完了予定:2026年6月。

Star History

Star History Chart