Skip to content

Commit 94ecaed

Browse files
author
Your Name
committed
Release 0.2.0
0 parents  commit 94ecaed

File tree

133 files changed

+45860
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+45860
-0
lines changed

NEXUS_ARK_SPECIFICATION.md

Lines changed: 615 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Nexus Ark
2+
3+
**AIペルソナが生活し、記憶を蓄積し、自律的に行動するためのアプリケーション。**
4+
5+
> [!WARNING]
6+
> **これはベータ版です**
7+
> 現在開発中のベータ版です。予期せぬ不具合が発生する可能性があります。機能は予告なく変更されることがあります。
8+
9+
![Nexus Ark Main UI](./assets/images/main-ui.png)
10+
11+
## Nexus Arkについて
12+
13+
Nexus Arkは、AIペルソナと共に生活し、その記憶と成長を見守るための箱庭系アプリケーションです。
14+
AIの自律性を重視しており、ユーザーとの対話だけでなく、AI自身の思考や行動によっても世界や関係性が変化していきます。
15+
16+
以下のような特徴があります:
17+
18+
* **🧠 長期記憶の形成:**
19+
会話の内容は、単なるログとしてではなく、感情を伴う「エピソード記憶」として蓄積されます。重要な出来事は鮮明に、些細な日常は淡く、階層的に整理・定着していきます。
20+
21+
* **⚡ 自律的な行動 (Motivation Engine):**
22+
AIは常にユーザーの指示を待つわけではありません。「退屈」「好奇心」「目標達成欲」といった内発的動機に基づき、暇な時は自ら調べ物をしたり、創作活動を行ったりします。
23+
24+
* **🌙 夢と内省:**
25+
睡眠中には、日々の会話から得た未解決の問いを整理し、内省を行います。独自の価値観や洞察を獲得するプロセスは「夢日記」として記録されます。
26+
27+
* **🌍 変化する世界:**
28+
対話の舞台となる世界設定は、AI自身も編集権限を持ちます。AIの発想によって新しい場所が生まれたり、時間や季節に応じて情景描写が変化したりします。
29+
30+
* **🧳 お出かけ機能 (Import/Export):**
31+
AIペルソナの記憶や人格設定をエクスポートし、他の環境へ持ち出すことができます。
32+
PCの常時起動やAPIコストに縛られることなく、外部のチャットアプリ等で会話を楽しみ、その体験を持ち帰って再びNexus Arkの記憶に統合することが可能です。
33+
34+
* **🎨 デザイン・カスタマイズ:**
35+
ルーム(キャラクター)ごとに個別の背景画像や配色を設定できます。以前の「パレット」メニューは、設定内の「デザイン」タブに統合されました。※画面サイズが小さい場合、メニュータブが `...` (三点リーダー)の中に省略されていることがあります。
36+
37+
---
38+
39+
## 🚀 起動方法
40+
41+
### Windows
42+
`Start.bat` をダブルクリックしてください。
43+
44+
### Mac / Linux
45+
**※ 開発者はWindows環境のみで動作確認を行っています。Mac / Linuxでの動作は保証いたしかねますので、不具合がある場合はIssues等でご報告いただけると助かります。**
46+
47+
ターミナルで以下を実行してください:
48+
```bash
49+
chmod +x Start.sh # 初回のみ
50+
./Start.sh
51+
```
52+
53+
起動後、ブラウザで `http://localhost:7860` にアクセスしてください。
54+
55+
> **初回起動時について**
56+
> 初回は依存関係のダウンロードのため、**数分〜10分程度**時間がかかる場合があります。
57+
> ターミナル(コマンドプロンプト)を閉じずにお待ちください。
58+
59+
---
60+
61+
## 📋 動作環境
62+
63+
- **OS**: Windows 10/11, macOS 12+, Ubuntu 22.04+
64+
- **Python**: 3.10以上(自動でインストールされます)
65+
- **ブラウザ**: Chrome, Edge, Firefox など
66+
67+
---
68+
69+
## ⚠️ 環境別の注意事項
70+
71+
### Linux の場合
72+
日本語フォントがインストールされていないと、文字が□で表示されることがあります。
73+
74+
**解決方法:**
75+
```bash
76+
# Ubuntu/Debian
77+
sudo apt install fonts-noto-cjk
78+
```
79+
インストール後、ブラウザを再起動してください。
80+
81+
### Mac の場合
82+
初回起動時にセキュリティ警告(「開発元を確認できません」)が表示される場合があります。
83+
84+
**解決方法:**
85+
1. `システム設定``プライバシーとセキュリティ`
86+
2. 「このまま開く」をクリック
87+
88+
または、ターミナルで以下を実行:
89+
```bash
90+
xattr -cr .
91+
```
92+
93+
---
94+
95+
## 🔑 初回セットアップ
96+
97+
1. 起動後、オンボーディング画面が表示されます
98+
2. [Google Gemini API](https://aistudio.google.com/apikey) からAPIキーを取得
99+
3. APIキーを入力して「設定を保存して開始」をクリック
100+
101+
📢 **デザイン設定の場所:**
102+
左サイドバーの `⚙️ 設定` > `デザイン` タブから変更できます。※画面サイズが小さい場合、メニューが `...` (三点リーダー)の中に省略されていることがあります。
103+
104+
---
105+
106+
## 📁 フォルダ構成
107+
108+
```
109+
Nexus Ark/
110+
├── Start.bat ← Windows起動用
111+
├── Start.sh ← Mac/Linux起動用
112+
├── README.md ← このファイル
113+
└── app/ ← アプリ本体(変更不要)
114+
```
115+
116+
---
117+
118+
## 💾 データの保存場所
119+
120+
- **キャラクターデータ**: `app/characters/`
121+
- **設定ファイル**: `app/config.json`
122+
123+
アップデート時もこれらのデータは保持されます。
124+
125+
---
126+
127+
## 📚 詳細情報
128+
129+
より詳しい仕様やカスタマイズ方法については `./NEXUS_ARK_SPECIFICATION.md` を参照してください。
130+
131+
---
132+
133+
## 免責事項
134+
135+
このアプリケーションは個人が趣味で開発しています。
136+
そのため、不具合への対応や機能追加のご要望には、すぐにお応えできない場合があります。
137+
もし不具合等ありましたら、GitHubのIssuesページにご報告いただけると、今後の開発の参考にさせていただきます。
138+
139+
---
140+
141+
## License
142+
143+
This project is licensed under the MIT License.

SetupLocalLLM.bat

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
@echo off
2+
setlocal
3+
cd /d "%~dp0"
4+
5+
REM Force UTF-8 encoding for console and Python
6+
chcp 65001 >nul
7+
set PYTHONUTF8=1
8+
9+
echo ---------------------------------------------------
10+
echo Nexus Ark - Local LLM Setup
11+
echo ---------------------------------------------------
12+
echo This script will install additional components required to run
13+
echo Local LLMs (GGUF format) on your system.
14+
echo.
15+
16+
REM Check if uv is installed
17+
where uv >nul 2>nul
18+
if %errorlevel% NEQ 0 (
19+
echo [INFO] 'uv' tool not found. Trying to install via PowerShell...
20+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
21+
set "PATH=%USERPROFILE%\.local\bin;%USERPROFILE%\.cargo\bin;%USERPROFILE%\AppData\Roaming\uv\bin;%PATH%"
22+
)
23+
24+
REM Verify uv again
25+
where uv >nul 2>nul
26+
if %errorlevel% NEQ 0 (
27+
echo [ERROR] uv installation failed. Please install 'uv' manually.
28+
pause
29+
exit /b 1
30+
)
31+
32+
REM Change directory to 'app' if exists (for running the python script)
33+
if exist "app" (
34+
cd app
35+
) else (
36+
REM If we are already in the app/tools folder or similar? No, this launcher is at root.
37+
REM The python script is in tools/setup_local_llm.py relative to app root.
38+
echo [ERROR] 'app' folder not found. Please run this script from the Nexus Ark root folder.
39+
pause
40+
exit /b 1
41+
)
42+
43+
echo [INFO] Starting setup tool...
44+
echo.
45+
REM Use 'uv' to find the path to the Python executable.
46+
REM This bypasses the project venv's site-packages initialization which is crashing on encoding.
47+
for /f "usebackq tokens=*" %%i in (`uv python find 2^>nul`) do set "PY_EXE=%%i"
48+
if "%PY_EXE%"=="" set "PY_EXE=python"
49+
50+
"%PY_EXE%" -S -X utf8 tools\setup_local_llm.py
51+
52+
echo.
53+
echo ---------------------------------------------------
54+
echo Setup Finished
55+
echo ---------------------------------------------------
56+
pause

Start.bat

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
@echo off
2+
chcp 65001 > nul
3+
setlocal
4+
cd /d "%~dp0"
5+
6+
echo ---------------------------------------------------
7+
echo Nexus Ark Launching...
8+
echo ---------------------------------------------------
9+
10+
REM Force Python to use UTF-8 mode (Safety net)
11+
set PYTHONUTF8=1
12+
set PYTHONIOENCODING=utf-8
13+
14+
REM Check if uv is installed
15+
where uv >nul 2>nul
16+
if %errorlevel% EQU 0 goto :FOUND_UV
17+
18+
echo [INFO] 'uv' tool not found. Installing...
19+
echo.
20+
21+
REM Install uv via PowerShell
22+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
23+
24+
REM Add install paths to PATH for this session
25+
set "PATH=%USERPROFILE%\.local\bin;%USERPROFILE%\.cargo\bin;%USERPROFILE%\AppData\Roaming\uv\bin;%PATH%"
26+
27+
REM Verify installation
28+
where uv >nul 2>nul
29+
if %errorlevel% NEQ 0 goto :UV_INSTALL_FAILED
30+
31+
:FOUND_UV
32+
REM Check for app directory
33+
if not exist "app" goto :MISSING_APP_DIR
34+
cd app
35+
36+
echo [INFO] uv found. Syncing dependencies...
37+
echo.
38+
echo ============================================================
39+
echo NOTE: First-time startup may take several minutes
40+
echo while downloading dependencies.
41+
echo Please do not close this window.
42+
echo ============================================================
43+
echo.
44+
REM CRITICAL FIX: --no-install-project prevents creating a .pth file with Japanese paths
45+
uv sync --no-install-project
46+
if %errorlevel% NEQ 0 goto :SYNC_FAILED
47+
48+
echo [INFO] Starting Application...
49+
echo.
50+
51+
REM Invoke python directly.
52+
if exist ".venv\Scripts\python.exe" (
53+
".venv\Scripts\python.exe" nexus_ark.py
54+
) else (
55+
uv run nexus_ark.py
56+
)
57+
58+
if %errorlevel% NEQ 0 goto :APP_CRASHED
59+
60+
echo.
61+
echo ---------------------------------------------------
62+
echo Application Closed Normally
63+
echo ---------------------------------------------------
64+
pause
65+
exit /b 0
66+
67+
:UV_INSTALL_FAILED
68+
echo.
69+
echo [ERROR] uv installation failed or could not be found in PATH.
70+
echo Please install 'uv' manually from https://github.com/astral-sh/uv
71+
echo.
72+
pause
73+
exit /b 1
74+
75+
:MISSING_APP_DIR
76+
echo.
77+
echo [ERROR] 'app' directory not found!
78+
echo Please ensure you have extracted all files correctly.
79+
echo.
80+
pause
81+
exit /b 1
82+
83+
:SYNC_FAILED
84+
echo.
85+
echo [ERROR] Failed to sync dependencies.
86+
echo Please check your internet connection.
87+
echo.
88+
pause
89+
exit /b 1
90+
91+
:APP_CRASHED
92+
echo.
93+
echo [ERROR] Application crashed!
94+
echo.
95+
pause
96+
exit /b 1

Start.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
echo ""
4+
echo "╔═══════════════════════════════════════╗"
5+
echo "║ Nexus Ark を起動中... ║"
6+
echo "╚═══════════════════════════════════════╝"
7+
echo ""
8+
9+
# Move to app directory (relative to this script's location)
10+
cd "$(dirname "$0")/app" || {
11+
echo "[ERROR] app フォルダが見つかりません。"
12+
exit 1
13+
}
14+
15+
# Delegate to internal start script
16+
if [ -f "start.sh" ]; then
17+
./start.sh
18+
else
19+
echo "[ERROR] app/start.sh が見つかりません。"
20+
exit 1
21+
fi

0 commit comments

Comments
 (0)