ไฝ ็่ถ ็บงAI็งไนฆ
ๆตๅผๅทฅๅ ท่ฐ็จ ยท ็ฅ่ฏๅพ่ฐฑ่ฎฐๅฟ ยท Live2D ่ๆๅฝข่ฑก ยท ่ฏญ้ณไบคไบ ยท ๅจ่ฟฆ็ฝ็ป็คพๅบ
ๅ่ฎธๅฏ่ฏ ยท ๅผๆบ้็จ AGPL-3.0๏ผ้ญๆบ้็จ ไธๅฑ่ฎธๅฏ๏ผ้ไนฆ้ขๆๆ๏ผใ ๅไธๅไฝ๏ผcontact@nagaagent.com / bilibiliใๆๆฏ้่ฝใ
| ๆฅๆ | ็ๆฌ | ๅ ๅฎน |
|---|---|---|
| ๐ 2026-02-26 | 5.1.0 | ๅจ่ฟฆ็ฝ็ป็คพๅบ่ฎบๅไธ็บฟ๏ผ่ฎพ็ฝฎไธๅไธ้ๆ๏ผๆ ่กๆจกๅผ๏ผ็งฏๅ้ ้ข้กต๏ผๆขๆบ้ๅธไธไธป้ขๆฟๆดๆฐ |
| โก 2026-02-25 | 5.1.0 | TTS ๅ จ้พ่ทฏไฟฎๅค๏ผCORS / asyncio๏ผ๏ผbuild.py ่ทจๅนณๅฐๆๅปบ๏ผไธไธๆๅ็ผฉๆไน ๅ๏ผ่ง่ฒ็ณป็ปๆดๆฐ๏ผๆ็คบ่ฏๆณจๅ ฅๆถๆ้ๆ |
| ๐ต 2026-02-24 | โ | Neo4j ่ฟๆฅ่ถ ๆถไฟฎๅค๏ผ็ปไธ BGM ๆญๆพๅจ๏ผ้ณๅพๅๆญๅ็ผ่พ๏ผMCP ็ฎก็ UI๏ผๆฌๆตฎ็้ๆ็ชๅฃ + ๆฌๅไบฎๅบฆ |
| ๐๏ธ 2026-02-23 | โ | ่ทจๅนณๅฐๆๅปบๅฎๅ๏ผ็ๆฌๅท็ปไธ pyproject.toml ็ฎก็๏ผๆ็คบ่ฏ/ๆชๅพ/่ง่งไผๅ๏ผ่ง่ฒๆไปถๆๅ ่ฟ็งป |
| ๐ 2026-02-22 | โ | ็งฏๅๅฅฝๆๅบฆ็ณป็ป๏ผ็ญพๅฐ / ๅฅฝๆๅบฆ / ็งฏๅ๏ผ๏ผๆฌๆตฎ็้ดๅฝฑไธๆๆฝไฟฎๅค๏ผ็ปๅฝ่ชๅจๆขๅค๏ผOpenClaw hooks ไฟฎๅค |
| ๐ถ 2026-02-21 | โ | ้ณๅพๅๅพๆ ๆดๆฐ๏ผMCP Agents ๆดๆฐ๏ผๆฌๆตฎ็ๅฐๆ้ฎ |
| ๐๏ธ 2026-02-20 | โ | ไธไธๆๅ็ผฉไธ็บง้ๆ๏ผ<compress> ๆ ็ญพ / ่ทจไผ่ฏ็ปงๆฟ๏ผ๏ผMCP ็ฎก็ UI๏ผๆฌๆตฎ็้ๆ็ชๅฃ๏ผ้ณๅพๅๅ่ฝไฟฎๆญฃ |
| ๐ 2026-02-19 | โ | SSE ๅป้ค base64 ็ดๆฅ JSON ไผ ่พ๏ผ็งป้คๅไฝๅๅฐๆๅพๅๆๅจ๏ผconfig_manager ่ชๅจๆฃๆต็ผ็ |
| ๐ง 2026-02-17 | โ | ๆฌๆตฎ็ๅบๅๅธง่ทฏๅพๆนไธบ็ธๅฏน่ทฏๅพ๏ผไฟฎๅคๆๅ ๅๅคดๅไธๆพ็คบ |
| ๐ 2026-02-16 | 5.0.0 | NagaModel ็ฝๅ ณ็ปไธๆฅๅ ฅ๏ผDeepSeek ๆจ็้พๅฎๆถๅฑ็คบ๏ผ่ฎฐๅฟไบๆตท UI ่ช้ๅบไฟฎๅค |
| ๐ง 2026-02-15 | โ | ็ปไธ้ๅ ็ฅ่ฏๅ + ๆถ้คๅๅฒๆฑกๆ๏ผLLM ๆตๅผ้่ฏ๏ผไธๅคฉ่ชๅจ็ปๅฝ๏ผๅผๆบ่ชๅฏๅจ |
| ๐ 2026-02-14 | โ | NagaMemory ไบ็ซฏ่ฟ็จ่ฎฐๅฟ๏ผๆ่ฏๆตท 3D ้ๅ๏ผๅฏๅจ็ฒๅญๅจ็ป๏ผ็ๆฌๆดๆฐๆฃๆฅๅผน็ช๏ผ็จๆทไฝฟ็จๅ่ฎฎ |
| โจ 2026-02-13 | โ | ๆฌๆตฎ็ 4 ็ถๆๆจกๅผ๏ผๆชๅฑๅคๆจกๆ่ง่งๅๆข๏ผๆ่ฝๅทฅๅ้ๆ๏ผLive2D ่กจๆ ้้็ฌ็ซ |
| ๐จ 2026-02-12 | โ | NagaCAS ่ฎค่ฏ๏ผLive2D 4 ้้ๆญฃไบคๅจ็ปๆถๆ๏ผAgentic Tool Loop๏ผๆๆฅๆน่้ฃๆ ผๅฏๅจ็้ข |
| ๐ฆ 2026-02-11 | โ | ๅตๅ ฅๅผ OpenClaw ๆๅ ๏ผๅฏๅจ่ชๅจไปๆจกๆฟ็ๆ้ ็ฝฎๆไปถ |
| ๐ ๏ธ 2026-02-10 | โ | ๅ็ซฏๆๅ ไผๅ๏ผๆ่ฝๅทฅๅ MCP ็ถๆไฟฎๅค๏ผๅป้คๅไฝ Agent/MCP ไป ไฟ็ OpenClaw |
| ๐ฑ 2026-02-09 | โ | ๅ็ซฏ้ๆ๏ผLive2D ็ฆ็จ็ผ็่ฟฝ่ธช๏ผOpenClaw ๆดๅไธบ AgentServer |
- ๅฟซ้ๅผๅง
- ๅ่ฝๅฏผ่ง๏ผไธป้ขๆฟ๏ผ
- ๅฏน่ฏ
- ่ฎฐๅฟไบๆตท
- ๆ่ฝๅทฅๅ
- ๅจ่ฟฆ็ฝ็ป
- ๆขๆบ้ๅธ
- ็ป็ซฏ่ฎพ็ฝฎ
- ้ณๅพๅ
- ๆฌๆตฎ็
- ๅ จๅฑๅ่ฝ
- ๅ็ซฏๆถๆ
- ๅฏ้้ ็ฝฎ
- ็ซฏๅฃไธ่ง
- ๆ ้ๆ้ค
- Python 3.11๏ผ
>=3.11, <3.12๏ผ - ๅฏ้๏ผuv โ ๅ ้ไพ่ตๅฎ่ฃ
- ๅฏ้๏ผNeo4j โ ๆฌๅฐ็ฅ่ฏๅพ่ฐฑ่ฎฐๅฟ
git clone https://github.com/Xxiii8322766509/NagaAgent.git
cd NagaAgent
#ๅ็ซฏๅฎ่ฃ
cd frontend
npm install
cd..
#ๅ็ซฏๅฎ่ฃ
# ๆนๅผไธ๏ผsetup ่ๆฌ๏ผ่ชๅจๆฃๆต็ฏๅขใๅๅปบ่ๆ็ฏๅขใๅฎ่ฃ
ไพ่ต๏ผ
python setup.py
# ๆนๅผไบ๏ผuv
uv sync
# ๆนๅผไธ๏ผๆๅจ
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -r requirements.txtๅคๅถ config.json.example ไธบ config.json๏ผๅกซๅ
ฅ LLM API ไฟกๆฏ๏ผ
{
"api": {
"api_key": "your-api-key",
"base_url": "https://api.deepseek.com",
"model": "deepseek-v3.2"
}
}ๆฏๆๆๆ OpenAI ๅ ผๅฎน API๏ผDeepSeekใ้ไนๅ้ฎใOpenAIใOllama ็ญ๏ผใ
cd frontend && npm run dev ๏ผ้
็ฝฎไบไธ้ฎๅฏๅจ๏ผๅฏๅจๅ่ฟๅ ฅไธป้ขๆฟ๏ผPanelView๏ผ๏ผ้็จ 3D ่งๅทฎๆๆ๏ผ้ผ ๆ ็งปๅจ่งฆๅ้่งๆ่ฝฌ๏ผใ ๆๆๅ่ฝไปไธป้ขๆฟ็ๅ ซไธชๅ ฅๅฃๆ้ฎๅฑๅผ๏ผ
| # | ๅ ฅๅฃ | ่ทฏ็ฑ | ๅ่ฝๆฆ่ฆ |
|---|---|---|---|
| 1 | ๅฏน่ฏ | /chat |
AI ๅฏน่ฏใๆตๅผๅทฅๅ ท่ฐ็จใไธไธๆๅ็ผฉ |
| 2 | ่ฎฐๅฟไบๆตท | /mind |
็ฅ่ฏๅพ่ฐฑ 3D ๅฏ่งๅไธ GRAG ่ฎฐๅฟ็ฎก็ |
| 3 | ๆ่ฝๅทฅๅ | /skill |
MCP ๅทฅๅ ท็ฎก็ไธ็คพๅบ Skill ๅฎ่ฃ |
| 4 | ๅจ่ฟฆ็ฝ็ป | /forum / /forum/quota |
็คพๅบ่ฎบๅใ็งฏๅๅฅฝๆๅบฆ |
| 5 | ๆขๆบ้ๅธ | /market |
่ๆฏใ้ณไนใ่ง่ฒใ่ฎฐๅฟ่ฟ็งปใๅ ๅผ |
| 6 | ็ป็ซฏ่ฎพ็ฝฎ | /config |
ๆจกๅ่ฟๆฅใ่ฎฐๅฟ่ฟๆฅใ้ณ็ป้ ็ฝฎ๏ผไธๅไธ๏ผ |
| 7 | ้ณๅพๅ | /music |
BGM ๆญๆพๅจไธๆญๅ็ฎก็ |
| 8 | ๆฌๆตฎ็ | โ | ่ฟๅ ฅ่ฝป้ๆฌๆตฎ็็ชๅฃๆจกๅผ |
ๅฏน่ฏๅผๆ้่ฟ SSE ๆตๅผ่พๅบ๏ผๅๆถๅฎๆถ้่พพๅ็ซฏๆพ็คบไธ TTS ๅๅฅๆญๆพใ
ๅทฅๅ
ท่ฐ็จไธไพ่ต OpenAI Function Calling API๏ผLLM ๅจๆๆฌไธญไปฅ ```tool``` ไปฃ็ ๅๅตๅ
ฅ JSON๏ผไปปไฝ OpenAI ๅ
ผๅฎนๆไพๅๅๅฏไฝฟ็จใ
ๅ่ฝฎๅทฅๅ ท่ฐ็จๆต็จ๏ผ
LLM ๆตๅผ่พๅบ โโSSEโโโถ ๅ็ซฏๅฎๆถๆพ็คบ
โ
โผ
parse_tool_calls_from_text()
โโ Phase 1: ๆๅ ```tool``` ไปฃ็ ๅ
โโ Phase 2: ๅ
ๅบๆๅ่ฃธ JSON
โ
โผ
ๆ agentType ่ทฏ็ฑ
โโ "mcp" โ MCPManager.unified_call()
โโ "openclaw" โ Agent Server /openclaw/send
โโ "live2d" โ UI ๅจ็ป้็ฅ
โ
โผ
asyncio.gather() ๅนถ่กๆง่กๆๆๅทฅๅ
ท
โ
โผ
็ปๆๆณจๅ
ฅ messages๏ผ่ฟๅ
ฅไธไธ่ฝฎ LLM ่ฐ็จ๏ผๆๅค 5 ่ฝฎ๏ผ
- ๆๆฌ่งฃๆ๏ผ
json5ๅฎน้่งฃๆ๏ผๅ จ่งๅญ็ฌฆ่ชๅจๆ ๅๅ - SSE ๆ ผๅผ๏ผ
data: {"type":"content"|"reasoning","text":"..."}\n\n๏ผ็ดๆฅ JSON๏ผไธๅซ base64๏ผ - ๅพช็ฏไธ้๏ผ
max_loop_stream = 5๏ผๅฏ้ ็ฝฎ๏ผ
ๆบ็ ๏ผapiserver/agentic_tool_loop.py
ไผ่ฏ token ่ถ ่ฟ 100k ๆถ่ชๅจ่งฆๅๅ็ผฉ๏ผ้ฟๅ ไธไธๆๆบขๅบ๏ผ
| ้ถๆฎต | ่งฆๅๆถๆบ | ่กไธบ |
|---|---|---|
| ๅฏๅจๅ็ผฉ | ไผ่ฏๅ ่ฝฝๆถ | ๅๅฒ่ถ ้ๅผๅ็ซๅณๅ็ผฉๅๆฎตๆถๆฏ |
| ่ฟ่กๆถๅ็ผฉ | ๆฏ่ฝฎๅฏน่ฏๅ | ่ถ
้ๅๅ็ผฉๅนถๆณจๅ
ฅ <compress> ๆ ็ญพ |
| ่ทจไผ่ฏ็ปงๆฟ | ๆฐไผ่ฏๅฏๅจ | ่ฏปๅไธๆฌกๆ่ฆ๏ผๆปๅจ็ดฏ็งฏไธไธๆ |
ๆ่ฆ็ปๆ๏ผ6 ๅๅบ๏ผ๏ผๅ
ณ้ฎไบๅฎ / ็จๆทๅๅฅฝ / ้่ฆๅณๅฎ / ๅพ
ๅไบ้กน / ่ๆฏไฟกๆฏ / ๆ่ฟ็ถๆใ
<compress> ๆ ็ญพๆไน
ๅๅฐไผ่ฏๆไปถ๏ผไธ่ฎกๅ
ฅ LLM token ็ป่ฎกใ
ไฝฟ็จ DeepSeek ๆถ๏ผreasoning ๅญๆฎต้่ฟ SSE ๅฎๆถๆจ้๏ผๅ็ซฏไปฅ็ฌ็ซๆ ทๅผๅฑ็คบๆ่่ฟ็จใ
GRAG๏ผGraph-RAG๏ผไปๅฏน่ฏไธญ่ชๅจๆๅไบๅ ็ปๅนถๅญๅ ฅ Neo4j๏ผๅฏน่ฏๆถ่ชๅจๆฃ็ดขไฝไธบ LLM ไธไธๆใ
ไบๅ
็ป็ปๆ๏ผ(ไธปไฝ, ไธปไฝ็ฑปๅ, ่ฐ่ฏ, ๅฎขไฝ, ๅฎขไฝ็ฑปๅ)
ๆๅๆต็จ๏ผ
- ็ปๆๅๆๅ๏ผไผๅ
๏ผ๏ผ
beta.chat.completions.parse()+ PydanticQuintupleResponse๏ผtemperature=0.3๏ผ้่ฏ 3 ๆฌก - JSON ๅ
ๅบ๏ผ่งฃๆๅคฑ่ดฅๆถๆๅ้ฆไธช
[ๅฐๆซๅฐพ]็ๅ ๅฎน - ่ฟๆปค่งๅ๏ผๅชไฟ็ไบๅฎ๏ผ่กไธบใๅ ณ็ณปใ็ถๆใๅๅฅฝ๏ผ๏ผ่ฟๆปค้ๅปใๅ่ฎพใ็บฏๆ ๆ
ๅฎไฝ็ฑปๅ๏ผ person / location / organization / item / concept / time / event / activity
ไปปๅก็ฎก็ๅจ๏ผ
- 3 ไธช asyncio worker ๆถ่ดน
asyncio.Queue(maxsize=100) - SHA-256 ๅป้๏ผ็ธๅๆๆฌ็้ๅคไปปๅก่ชๅจ่ทณ่ฟ
- ๆฏๅฐๆถๆธ ็่ถ ่ฟ 24h ็ๅทฒๅฎๆไปปๅก
ๅ้ๅญๅจ๏ผ
- ๆฌๅฐ๏ผ
logs/knowledge_graph/quintuples.json - ไบ็ซฏ๏ผNeo4j ๅพๆฐๆฎๅบ๏ผ
graph.merge()upsert
RAG ๆฃ็ดข๏ผ ๅ
ณ้ฎ่ฏๆๅ โ Cypher ๆฅ่ฏข โ ๆ ผๅผๅไธบ ไธปไฝ(็ฑปๅ) โ[่ฐ่ฏ]โ ๅฎขไฝ(็ฑปๅ) ๆณจๅ
ฅไธไธๆ
่ฟ็จ่ฎฐๅฟ๏ผ ็ปๅฝ็จๆท่ชๅจไฝฟ็จ NagaMemory ไบ็ซฏ๏ผ้ๅบๆ็ฆป็บฟๆถๅ้ๆฌๅฐ GRAGใ
ๆบ็ ๏ผsummer_memory/
Canvas 2D + ๆๅ 3D ๆๅฝฑ๏ผ้ WebGL๏ผ๏ผ็้ขๅๆ ็ธๆบ๏ผ้่ง้คๆณ 700 / depthใ
7 ๅฑๆธฒๆ้กบๅบ๏ผ ่ๆฏๆธๅ โ ๅฐ้ข็ฝๆ ผ โ ๆฐด้ขๅนณ้ข โ ไฝ็งฏๅ ๏ผ3 ๆๅ ๆฑ๏ผโ ็ฒๅญ็ณป็ป๏ผ3 ๅฑ 125 ้ข๏ผโ ็็ฉ่งๅ ๆตฎๆธธ็็ฉ๏ผ10 ไธชๅธฆๆๅฐพ๏ผโ ็ฅ่ฏๅพ่ฐฑ่็นไธ่พน๏ผๆทฑๅบฆๆๅบ๏ผ
ๅพ่ฐฑๆ ๅฐ๏ผ subject/object โ ่็น๏ผpredicate โ ๆๅ่พน๏ผๅบฆไธญๅฟๆง โ ่็น้ซๅบฆๆ้๏ผไธ้ 100 ่็น
ไบคไบ๏ผ ๆๆฝๆ่ฝฌใไธญ้ฎๅนณ็งปใๆป่ฝฎ็ผฉๆพใ่็น็น้/ๆๆฝใๅ ณ้ฎ่ฏๆ็ดข่ฟๆปค
ๅบไบ Model Context Protocol ็ๅฏๆๆๅทฅๅ ทๆถๆ๏ผๆฏไธชๅทฅๅ ทไปฅ็ฌ็ซ Agent ่ฟ่ก๏ผ
| Agent | ๅ่ฝ |
|---|---|
weather_time |
ๅคฉๆฐๆฅ่ฏข / ้ขๆฅใ็ณป็ปๆถ้ดใ่ชๅจๅๅธ / IP ๆฃๆต |
open_launcher |
ๆซๆ็ณป็ปๅทฒๅฎ่ฃ ๅบ็จ๏ผ่ช็ถ่ฏญ่จๅฏๅจ็จๅบ |
game_guide |
ๆธธๆ็ญ็ฅ้ฎ็ญใไผคๅฎณ่ฎก็ฎใ้ ้ๆจ่ใ่ชๅจๆชๅพๆณจๅ ฅ |
online_search |
ๅบไบ SearXNG ็็ฝ็ปๆ็ดข |
crawl4ai |
ๅบไบ Crawl4AI ็็ฝ้กตๅ ๅฎนๆๅ |
playwright_master |
ๅบไบ Playwright ็ๆต่งๅจ่ชๅจๅ |
vision |
ๆชๅพๅๆไธ่ง่ง้ฎ็ญ |
mqtt_tool |
MQTT ๅ่ฎฎ IoT ่ฎพๅคๆงๅถ |
office_doc |
docx / xlsx ๅ ๅฎนๆๅ |
ๆณจๅไธๅ็ฐ๏ผ mcp_registry.py glob ๆซๆ **/agent-manifest.json๏ผimportlib.import_module ๅจๆๅฎไพๅใ
ๅ็ซฏ McpAddDialog.vue ๆไพๅพๅฝขๅ MCP ๅทฅๅ
ท็ฎก็็้ข๏ผๆฏๆๅจ็บฟๆทปๅ / ๅ ้คๅทฅๅ
ท๏ผๆ ้้ๅฏ๏ผใ
ๆ่ฝๅทฅๅๆฏๆไธ้ฎๅฎ่ฃ
็คพๅบๅๅธ็ Skill๏ผAgent BrowserใBrainstormingใContext7ใFirecrawl Search ็ญ๏ผใ
ๅ็ซฏๆฅๅฃ๏ผGET /openclaw/market/itemsใPOST /openclaw/market/items/{id}/install
ๆบ็ ๏ผmcpserver/
ไปไธป้ขๆฟ"ๅจ่ฟฆ็ฝ็ป"ๅบๅ่ฟๅ ฅ๏ผๅ ๅตๅฎๆด็คพๅบๅ่ฝ๏ผ
| ่งๅพ | ่ทฏ็ฑ | ๅ่ฝ |
|---|---|---|
ForumListView |
/forum |
ๅธๅญๅ่กจใๅ็ฑป็ญ้ |
ForumPostView |
/forum/post/:id |
ๅธๅญ่ฏฆๆ ไธๅๅค |
ForumMessagesView |
/forum/messages |
็งไฟกๆถๆฏ |
ForumMyPostsView |
/forum/my-posts |
ๆ็ๅๅธ |
ForumMyRepliesView |
/forum/my-replies |
ๆ็ๅๅค |
ForumQuotaView |
/forum/quota |
็งฏๅ้ ้ขไธๆข็ดขๅ ฅๅฃ |
ๆบ็ ๏ผfrontend/src/forum/
็ปๅฝ็จๆทไธๅฑ็ๆธธๆๅไบๅจไฝ็ณป๏ผ
| ็ปดๅบฆ | ่ฏดๆ |
|---|---|
| ็งฏๅ (Credits) | ็ญพๅฐ / ่ฟ็ญพๅฅๅฑ็งฏ็ดฏ๏ผ็จไบๅ ๆขๆจกๅ้ขๅบฆ |
| ๅฅฝๆๅบฆ (Affinity) | ๆฏๆฌก็ญพๅฐๅข้ฟ๏ผๅๆ ไธๅจ่ฟฆ็ๅ ณ็ณปๆทฑๅบฆ |
| ๆฏๆฅ็ญพๅฐ | ็จๆท่ๅไธ้ฎ็ญพๅฐ๏ผ่ฟ็ปญ็ญพๅฐ่งฆๅ้ขๅคๅฅๅฑ |
็ธๅ
ณ API๏ผ้่ฟ API Server ไปฃ็่ณ Naga ้จๆท๏ผ๏ผ/api/checkinใ/api/affinityใ/api/credits
ๆขๆบ้ๅธๆดๅไบๆๆ่ตๆบ่ทๅไธ็ฎก็ๅ ฅๅฃ๏ผๅไธบไธไธช Tab๏ผ
| Tab | ่ฏดๆ |
|---|---|
| ็้ข่ๆฏ | ๅๆขๅบ็จไธป้ข่ๆฏ |
| ้ณไนๅทท | ่ดญไนฐ / ่งฃ้้ณไนไธ่พ๏ผๅฝๅ๏ผๆฒไนไนฆ๏ผ |
| ่ง่ฒๆณจๅ | ็ปๅฎ / ๅๆข AI ่ง่ฒ๏ผ้็ปๅฝ๏ผ |
| ่ฎฐๅฟไบ่ฟ | ไบ็ซฏ่ฎฐๅฟๆฐๆฎ่ฟ็งปไธ็ฎก็ |
| MCP ๅทฅๅ ท | MCP ๅทฅๅ ทๅพๅฝขๅ็ฎก็ |
| ๆบ่ฝไฝๆ่ฝ | ็คพๅบ Skill ไธ้ฎๅฎ่ฃ |
| ๆจกๅๅ ๅผ | Naga ้จๆท็งฏๅๅ ๅผ |
่ฎพ็ฝฎ้กตไธๅไธ้ๆ๏ผๅๅๆฃ้ ็ฝฎ้ไธญๅจๅไธ้กต้ข็ไธไธช Tab๏ผ
| Tab | ๅ ๅฎน |
|---|---|
| ๆจกๅ่ฟๆฅ | LLM API KeyใBase URLใๆจกๅ้ๆฉ |
| ่ฎฐๅฟ่ฟๆฅ | Neo4j ่ฟๆฅๅๆฐใNagaMemory ไบ็ซฏ้ ็ฝฎ |
| ้ณ็ป้ ็ฝฎ | ่ง่ฒๆกฃๆกใLive2D ๆจกๅไธ SSAAใTTS ๅฃฐ้ณใ่ๅคฉๅญๅท |
characters/ ็ฎๅฝ็ฎก็ๅฏๅๆข็ AI ่ง่ฒ๏ผๆฏไธช่ง่ฒไปฅ JSON ้
็ฝฎๆไปถๆ่ฟฐ๏ผ
{
"ai_name": "ๅจๆฐๆฅ่พพ",
"user_name": "็จๆท",
"live2d_model": "NagaTest2/NagaTest2.model3.json",
"prompt_file": "conversation_style_prompt.txt",
"portrait": "Naga.png",
"bio": "็ฑๅผๅ่
ๆๆฏ้่ฝไบฒๆๅ้ ็AIๅฉๆ๏ผ็ฎ็งฐๅจ่ฟฆใ"
}- ๆฏไธช่ง่ฒ็ฎๅฝๅ ๅซ็ฌ็ซ็ๅฏน่ฏ้ฃๆ ผๆ็คบ่ฏใLive2D ๆจกๅ่ตๆบใ็ซ็ปๅพๅ
- ๆฟๆดป่ง่ฒๅ๏ผAI ๅ็งฐไธ Live2D ๆจกๅ็ฑ่ง่ฒ JSON ็ปไธ็ฎก็๏ผไธๅฏๅจ็้ขๆๅจ่ฆ็
- ้ป่ฎค่ง่ฒ๏ผๅจๆฐๆฅ่พพ
ๆบ็ ๏ผcharacters/
็ฌ็ซ้ณไนๆญๆพๅจ๏ผไธไธป็้ข BGM ๅ ฑไบซๅไธๆญๆพๅฎไพ๏ผ็ปไธ BGM ๆถๆ๏ผ๏ผ
- ๆญๅ็ผ่พ๏ผ
MusicEditView๏ผ๏ผ็ฎก็ๆฒ็ฎๅ่กจ๏ผไฟๅญๅๅฎๆถๅๆญฅ่ณๅ จๅฑๆญๆพๅจ - ๆญๆพ็ถๆๅๆญฅ๏ผๆญๆพ / ๆๅๅพๆ ไธ้ณ้ขไบไปถๅฎๆถ่ๅจ
- ๅ่กจๅพช็ฏ๏ผๅฝๅๆฒ็ฎ็ปๆๅ่ชๅจๆญๆพไธไธ้ฆ
- Live2D ๅฃๅๅๆญฅ๏ผTTS ๆญๆพๆ้ด๏ผ
AdvancedLipSyncEngineV2ไปฅ 60FPS ้ฉฑๅจ Live2D ๅดๅฝข
็นๅปไธป้ขๆฟ"ๆฌๆตฎ"ๆ้ฎ่ฟๅ ฅ่ฝป้ๆฌๆตฎ็็ชๅฃๆจกๅผ๏ผๅ็ง็ถๆๅพช็ฏๅๆข๏ผ
ball๏ผ100ร100 ๅ็๏ผโ compact๏ผ420ร100 ๆๅ ๆก๏ผโ full๏ผ420รN ๅฑๅผ๏ผโ classic๏ผๆญฃๅธธ็ชๅฃ๏ผ
ๅค่งไธๅจๆ๏ผ
- ๅบๅๅธง็จ็ผๅจ็ป๏ผ5 ๅธง๏ผ็็ผ โ ๅ้ญ โ ้ญ็ผ โ ๅ้ญ โ ็็ผ๏ผ๏ผ70ms / ๅธง๏ผ้ๆบ้ด้่งฆๅ
- ็ๆๅๅคๆถ๏ผ็ไฝๅ ๆ่ๅฒ็นๆ
- ๆฌๅๆถ๏ผไบฎๅบฆๆๅๆๆ
- ้ๆๆ ่พนๆก็ชๅฃ๏ผๆฏๆ่ช็ฑๆๆฝๅฎไฝ
ๅ่ฝ๏ผ
- ๆฌๆตฎ็ถๆไธๅฏ็ดๆฅ่พๅ ฅๅฏน่ฏ๏ผๅๅฒๆถๆฏๅจ compact / full ็ถๆไธๅฏๅๆบฏ
- ๆชๅพๆ่ท้ขๆฟ๏ผ้ๅๅฑๅน็ชๅฃไฝไธบๅพๅ้ไปถ
- ๆไปถไธไผ ๆฏๆ
- ๅณ้ฎ่ๅ้่ฟ Electron ๅ็่ๅๅฎ็ฐ๏ผ้ฟๅ ๅฐ็ชๅฃ่ฃๅช๏ผ
TTS๏ผ่ฏญ้ณๅๆ๏ผ
- ๅผๆ๏ผEdge-TTS๏ผOpenAI ๅ
ผๅฎนๆฅๅฃ
/v1/audio/speech - ๆถๆ๏ผ3 ็บฟ็จๆตๆฐด็บฟ โ ๅๅฅ้ๅ โ TTS ่ฐ็จ๏ผSemaphore(2) ๅนถๅ๏ผโ pygame ๆญๆพ
- Live2D ๅฃๅๅๆญฅ๏ผ60FPS ๆๅ 5 ๅๆฐ๏ผmouth_open / mouth_form / mouth_smile / eye_brow_up / eye_wide๏ผ
- ็ซฏๅฃๆธ ็๏ผๅฏๅจๆถ่ชๅจๆฃๆตๅนถ้ๆพๅ ็จ็ซฏๅฃ
ASR๏ผ่ฏญ้ณ่ฏๅซ๏ผ
- ๆฌๅฐๅผๆ๏ผFunASR๏ผๆฏๆ VAD ็ซฏ็นๆฃๆตไธ WebSocket ๅฎๆถๆต
- ไธๆจกๅผ่ชๅจๅๆข๏ผ
LOCAL๏ผFunASR๏ผโEND_TO_END๏ผQwen Omni๏ผโHYBRID
ๅฎๆถ่ฏญ้ณๅฏน่ฏ๏ผ้ DashScope API Key๏ผ
- ๅบไบ Qwen Omni ็ๅ จๅๅทฅ WebSocket ่ฏญ้ณไบคไบ
- ๅๅฃฐๆๅถใVAD ๆฃๆตใ้ณ้ขๅๅ๏ผ200ms๏ผใไผ่ฏๅทๅดๆงๅถ
{
"voice_realtime": {
"enabled": true,
"provider": "qwen",
"api_key": "your-dashscope-key",
"model": "qwen3-omni-flash-realtime"
}
}ๆบ็ ๏ผvoice/
ไฝฟ็จ pixi-live2d-display + PixiJS WebGL ๆธฒๆ Cubism Live2D ๆจกๅใ
SSAA ่ถ
้ๆ ทๆ้ฏ้ฝฟ๏ผCanvas ๆ width ร ssaa ๆธฒๆ๏ผCSS transform: scale(1/ssaa) ็ผฉๆพใ
4 ้้ๆญฃไบคๅจ็ป็ณป็ป๏ผlive2dController.ts๏ผ๏ผ
| ้้ | ๆงๅถๅ ๅฎน | ็นๆง |
|---|---|---|
| ไฝๆ (State) | idle / thinking / talking ๅพช็ฏ | hermite ๅนณๆปๆๅผ๏ผไป naga-actions.json ๅ ่ฝฝ |
| ๅจไฝ (Action) | ็นๅคด / ๆๅคด็ญๅคด้จๅจไฝ | FIFO ้ๅ๏ผๅไธๆง่ก |
| ่กจๆ (Emotion) | .exp3.json ่กจๆ
ๆไปถ |
Add / Multiply / Overwrite ไธ็งๆททๅๆจกๅผ๏ผๆๆฐ่กฐๅ่ฟๆธก |
| ่ฟฝ่ธช (Tracking) | ้ผ ๆ ่ง็บฟ่ท้ | ๅฏ้
ๅปถ่ฟๅฏๅจ๏ผtracking_hold_delay_ms |
ๅๅนถ้กบๅบ๏ผไฝๆ โ ๅดๅฝข โ ๅจไฝ โ ๆๅจ่ฆ็ โ ่กจๆ ๆททๅ โ ่ฟฝ่ธชๆททๅ
ๅฏนๆฅ OpenClaw Gateway๏ผ็ซฏๅฃ 18789๏ผ๏ผ้่ฟ่ช็ถ่ฏญ่จ่ฐๅบฆ AI ็ผ็จๅฉๆๆง่กๆฌๅฐไปปๅกใ
- ไธ็บงๅ้ๅฏๅจ๏ผ ๆๅ
ๅ
ๅต โ ๅ
จๅฑ
openclawๅฝไปค โ ่ชๅจnpm install -g openclaw - ๆฏๆ sessionKey hooks๏ผ2026.2.17+๏ผ๏ผๅฏ้ ็ฝฎ่ชๅฎไน hooks ่ทฏๅพ
POST /openclaw/sendๅ้ๆไปค๏ผๆ้ฟ็ญๅพ 120 ็ง
ไปปๅก่ฐๅบฆๅจ๏ผTaskScheduler๏ผ๏ผ
- ไปปๅกๆญฅ้ชค่ฎฐๅฝ๏ผ็ฎ็ / ๅ ๅฎน / ่พๅบ / ๅๆ / ๆๅไธๅฆ๏ผ
- ่ชๅจๆๅ"ๅ ณ้ฎๅ็ฐ"ๆ ่ฎฐ
- ๅ
ๅญๅ็ผฉ๏ผๆญฅ้ชคๆฐ่ถ
้ๅผๆถ่ฐ็จ LLM ็ๆ
CompressedMemory๏ผkey_findings / failed_attempts / current_status / next_steps๏ผ schedule_parallel_execution()้่ฟasyncio.gather()ๅนถ่กๆง่กไปปๅกๅ่กจ
ๆบ็ ๏ผagentserver/
| ้ถๆฎต | ๅ ๅฎน |
|---|---|
| ๆ ้ข้ถๆฎต | ้ป่ฒ้ฎ็ฝฉ + 40 ้ข้่ฒไธๅ็ฒๅญ + ๆ ้ขๅพ็ 2.4s CSS keyframe๏ผๆ ้ขๅบ็ฐๆถ่ชๅจๆญๆพๅค้่ฏญ้ณ |
| ่ฟๅบฆ้ถๆฎต | Neural Network ็ฒๅญ่ๆฏ + Live2D ้ๅบๆก + ้่ฒ่ฟๅบฆๆก๏ผrequestAnimationFrame ๆๅผ๏ผๆไฝ้ๅบฆ 0.5 ๅ
ๅบ๏ผ |
| ๅๆปๆฃๆต | 3 ็งๆ ่ฟๅบฆๅๅๆพ็คบ้ๅฏๆ็คบ๏ผ่ฟๅบฆ 25% ๅๆฏ็ง่ฝฎ่ฏขๅ็ซฏ /health |
| ๅค้ | ่ฟๅบฆ 100% ๅๆพ็คบ"็นๅปๅค้"่ๅฒๆ็คบ |
NagaAgent ็ฑๅไธช็ฌ็ซๅพฎๆๅก็ปๆ๏ผmain.py ็ปไธ็ผๆๅฏๅจ๏ผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Electron / PyQt5 ๅ็ซฏ โ
โ Vue 3 + Vite + UnoCSS + PrimeVue + pixi-live2d-display โ
โ โ
โ PanelView ยท MessageView ยท MindView ยท SkillView โ
โ MarketView ยท ConfigView ยท MusicView ยท FloatingView โ
โ ForumListView ยท ForumPostView ยท ForumQuotaView โฆ โ
โโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโผโโโโโโโ โโโโโโผโโโโโ โโโโโโโผโโโโโโโ
โ API Server โ โ Agent โ โ Voice โ
โ :8000 โ โ Server โ โ Service โ
โ โ โ :8001 โ โ :5048 โ
โ ๅฏน่ฏ / SSE โ โ โ โ โ
โ ๅทฅๅ
ท่ฐ็จ โ โ ไปปๅก่ฐๅบฆโ โ TTS / ASR โ
โ ไธไธๆๅ็ผฉ โ โ OpenClawโ โ ๅฎๆถ่ฏญ้ณ โ
โ ๆๆกฃไธไผ โ โ โ โ โ
โ ่ฎค่ฏไปฃ็ โ โโโโโโฌโโโโโ โโโโโโโโโโโโโโ
โ ่ฎฐๅฟ API โ โ
โ Skill ๅธๅบ โ โโโโโผโโโโโโโโโโโ
โ ้
็ฝฎ็ฎก็ โ โ OpenClaw โ
โโโโโโโโฌโโโโโโโโ โ Gateway โ
โ โ :18789 โ
โโโโโโโโผโโโโโโโ โโโโโโโโโโโโโโโ
โ MCP Server โ
โ :8003 โ
โ ๅทฅๅ
ทๆณจๅ โ
โ Agent ๅ็ฐ โ
โ ๅนถ่ก่ฐๅบฆ โ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Agents๏ผๅฏๆๆ๏ผ โ
โ ๅคฉๆฐ | ๆ็ดข | ๆๅ | ่ง่ง โ
โ ๅฏๅจๅจ | ๆป็ฅ | ๆๆกฃ | MQTT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโผโโโโโโโ
โ Neo4j โ
โ :7687 โ
โ ็ฅ่ฏๅพ่ฐฑ โ
โโโโโโโโโโโโโโโ
NagaAgent/
โโโ main.py # ็ปไธๅ
ฅๅฃ๏ผ็ผๆๆๆๆๅก
โโโ build.py # ่ทจๅนณๅฐๆๅปบ่ๆฌ
โโโ config.json # ่ฟ่กๆถ้
็ฝฎ๏ผไป config.json.example ๅคๅถ๏ผ
โโโ pyproject.toml # ็ๆฌ 5.1.0๏ผ้กน็ฎๅ
ๆฐๆฎไธไพ่ต
โ
โโโ apiserver/ # API Server๏ผ:8000๏ผ
โ โโโ api_server.py # FastAPI ไธปๅบ็จ
โ โโโ agentic_tool_loop.py # ๅค่ฝฎๅทฅๅ
ท่ฐ็จๅพช็ฏ
โ โโโ llm_service.py # LiteLLM ็ปไธ LLM ่ฐ็จ
โ โโโ streaming_tool_extractor.py # ๆตๅผๅๅฅ + TTS ๅๅ
โ
โโโ agentserver/ # Agent Server๏ผ:8001๏ผ
โ โโโ agent_server.py
โ โโโ task_scheduler.py # ไปปๅก็ผๆ + ๅ็ผฉ่ฎฐๅฟ
โ
โโโ mcpserver/ # MCP Server๏ผ:8003๏ผ
โ โโโ mcp_server.py
โ โโโ mcp_registry.py # manifest ๆซๆ + ๅจๆๆณจๅ
โ โโโ mcp_manager.py # unified_call() ่ทฏ็ฑ
โ โโโ agent_weather_time/
โ โโโ agent_open_launcher/
โ โโโ agent_game_guide/
โ โโโ agent_online_search/
โ โโโ agent_crawl4ai/
โ โโโ agent_playwright_master/
โ โโโ agent_vision/
โ โโโ agent_mqtt_tool/
โ โโโ agent_office_doc/
โ
โโโ summer_memory/ # GRAG ็ฅ่ฏๅพ่ฐฑ่ฎฐๅฟ
โ โโโ quintuple_extractor.py
โ โโโ quintuple_graph.py
โ โโโ quintuple_rag_query.py
โ โโโ task_manager.py
โ โโโ memory_manager.py
โ โโโ memory_client.py # NagaMemory ่ฟ็จๅฎขๆท็ซฏ
โ
โโโ voice/ # ่ฏญ้ณๆๅก๏ผ:5048๏ผ
โ โโโ output/ # TTS + ๅฃๅๅๆญฅ
โ โโโ input/ # ASR + ๅฎๆถ่ฏญ้ณ
โ
โโโ characters/ # ่ง่ฒ้
็ฝฎ็ฎๅฝ
โ โโโ ๅจๆฐๆฅ่พพ/ # prompt / Live2D ๆจกๅ / ็ซ็ป
โ
โโโ frontend/ # Electron + Vue 3 ๅ็ซฏ
โ โโโ electron/ # ไธป่ฟ็จ
โ โ โโโ modules/ # backend / hotkeys / menu / tray / updater / window
โ โโโ src/
โ โโโ views/ # ๆๆ้กต้ข่งๅพ
โ โโโ forum/ # ่ฎบๅๆจกๅ
โ โโโ components/ # ้็จ็ปไปถ
โ โโโ composables/ # useAuth / useBackground / useAudio โฆ
โ โโโ utils/ # live2dController / session / config
โ
โโโ system/ # ้
็ฝฎๅ ่ฝฝใ็ฏๅขๆฃๆตใ็ณป็ปๆ็คบ่ฏ
โโโ guide_engine/ # ๆธธๆๆป็ฅๅผๆ
โโโ logs/ # ่ฟ่กๆฅๅฟใ็ฅ่ฏๅพ่ฐฑๆไปถ
็ฅ่ฏๅพ่ฐฑ่ฎฐๅฟ๏ผNeo4j๏ผ
ๅฎ่ฃ
Neo4j๏ผDocker ๆ Neo4j Desktop๏ผ๏ผ้
็ฝฎ config.json๏ผ
{
"grag": {
"enabled": true,
"neo4j_uri": "neo4j://127.0.0.1:7687",
"neo4j_user": "neo4j",
"neo4j_password": "your-password"
}
}ไธ้ ็ฝฎ Neo4j ๆถ๏ผGRAG ไป ไฝฟ็จๆฌๅฐ JSON ๆไปถๅญๅจ๏ผๅ่ฝไธๅๅฝฑๅใ
่ฏญ้ณไบคไบ๏ผTTS / ASR๏ผ
{
"system": { "voice_enabled": true },
"tts": {
"port": 5048,
"default_voice": "zh-CN-XiaoxiaoNeural"
}
}ๅฎๆถๅ จๅๅทฅ่ฏญ้ณๅฏน่ฏ๏ผ้้ไนๅ้ฎ DashScope API Key๏ผ๏ผ
{
"voice_realtime": {
"enabled": true,
"provider": "qwen",
"api_key": "your-dashscope-key",
"model": "qwen3-omni-flash-realtime"
}
}Live2D ่ๆๅฝข่ฑก๏ผ่ชๅฎไนๆจกๅ๏ผ
{
"web_live2d": {
"ssaa": 2,
"model": {
"source": "./models/your-model/model.model3.json",
"x": 0.5,
"y": 1.3,
"size": 6800
},
"face_y_ratio": 0.13,
"tracking_hold_delay_ms": 100
}
}ๅฏ็จ่ง่ฒๅกๅ๏ผai_name ไธ model.source ็ฑ่ง่ฒ JSON ่ชๅจ่ฆ็๏ผๆ ้ๆๅจไฟฎๆนใ
MQTT ็ฉ่็ฝๆงๅถ
{
"mqtt": {
"enabled": true,
"broker": "mqtt-broker-address",
"port": 1883,
"topic": "naga/agent/topic",
"client_id": "naga-agent-client"
}
}| ๆๅก | ็ซฏๅฃ | ่ฏดๆ |
|---|---|---|
| API Server | 8000 | ไธปๆฅๅฃ๏ผๅฏน่ฏใ้ ็ฝฎใ่ฎค่ฏใSkill ๅธๅบ |
| Agent Server | 8001 | ไปปๅก่ฐๅบฆใOpenClaw |
| MCP Server | 8003 | MCP ๅทฅๅ ทๆณจๅไธ่ฐๅบฆ |
| Voice Service | 5048 | TTS / ASR |
| Neo4j | 7687 | ็ฅ่ฏๅพ่ฐฑ๏ผๅฏ้๏ผ |
| OpenClaw Gateway | 18789 | AI ็ต่ๆงๅถ๏ผๅฏ้๏ผ |
| ้ฎ้ข | ่งฃๅณๆนๆก |
|---|---|
| Python ็ๆฌๆฅ้ | ๅฟ ้กปไฝฟ็จ Python 3.11๏ผๆจ่็จ uv ่ชๅจ็ฎก็็ๆฌ |
| ็ซฏๅฃ่ขซๅ ็จ | ๆฃๆฅ 8000ใ8001ใ8003ใ5048 ๆฏๅฆๅฏ็จ |
| Neo4j ่ฟๆฅ่ถ ๆถ / ๆ่ตท | ๅทฒๅจ 2.24 ไฟฎๅค๏ผ็กฎ่ฎค Neo4j ๆๅกๅทฒๅฏๅจ |
| TTS ๆ ๅฃฐ้ณ / CORS ๆฅ้ | ๅทฒๅจ 2.25 ไฟฎๅค๏ผ็กฎ่ฎค voice_enabled: true |
| ๅฏๅจๅกๅจ่ฟๅบฆๆก | ๆฃๆฅ API Key ๆฏๅฆๆญฃ็กฎ๏ผ็ญๅพ 3 ็งๅๅบ็ฐ้ๅฏๆ็คบ |
| ๆฌๆตฎ็ๅคดๅไธๆพ็คบ | ๅทฒๅจ 2.17 ไฟฎๅคๅบๅๅธง่ทฏๅพ๏ผ็กฎ่ฎคไฝฟ็จๆๆฐๆๅ ็ๆฌ |
| config.json ไนฑ็ | ๅทฒๅจ 2.19 ไฟฎๅค๏ผconfig_manager ่ชๅจๆฃๆตๆไปถ็ผ็ |
| OpenClaw ๅฏๅจๅคฑ่ดฅ | ๅทฒๅจ 2.24 ไฟฎๅคๅ จๅฑๆจกๅผ็ผบๅฐ้ ็ฝฎๆไปถ็้ฎ้ข |
python main.py --check-env --force-check # ๅฎๆด็ฏๅข่ฏๆญ
python main.py --quick-check # ๅฟซ้ๆฃๆฅ
python update.py # ่ชๅจ git pull + ไพ่ตๅๆญฅๆฌข่ฟๆไบค Issue ๅ Pull Requestใๅฆๆ้ฎ้ข๏ผๅฏๅ ๅ ฅ QQ ้ข้ nagaagent1ใ