# ๐Ÿš€ Moltbot GitHub ้ƒจ็ฝฒๆŒ‡ๅ— > **ๅœจ GitHub Codespaces ไธŠ่ฟ่กŒไฝ ็š„็งไบบ AI Assistant๏ผŒ้šๆ—ถ้šๅœฐ่ฎฟ้—ฎ๏ผ** ## ๐Ÿ“‹ ็›ฎๅฝ• - [ไธบไป€ไนˆ้€‰ๆ‹ฉ GitHub ้ƒจ็ฝฒ๏ผŸ](#ไธบไป€ไนˆ้€‰ๆ‹ฉ-github-้ƒจ็ฝฒ) - [ๆžถๆž„ๆฆ‚่ฟฐ](#ๆžถๆž„ๆฆ‚่ฟฐ) - [ๅฟซ้€Ÿๅผ€ๅง‹](#ๅฟซ้€Ÿๅผ€ๅง‹) - [่ฏฆ็ป†้…็ฝฎ](#่ฏฆ็ป†้…็ฝฎ) - [่ฎฟ้—ฎๆ–นๅผ](#่ฎฟ้—ฎๆ–นๅผ) - [่‡ชๅŠจๅŒ–็ปดๆŠค](#่‡ชๅŠจๅŒ–็ปดๆŠค) - [ๆ•…้šœๆŽ’้™ค](#ๆ•…้šœๆŽ’้™ค) - [ๆœ€ไฝณๅฎž่ทต](#ๆœ€ไฝณๅฎž่ทต) --- ## ไธบไป€ไนˆ้€‰ๆ‹ฉ GitHub ้ƒจ็ฝฒ๏ผŸ ### โœ… ไผ˜ๅŠฟ | ็‰นๆ€ง | GitHub Codespaces | ่‡ชๅปบๆœๅŠกๅ™จ | |------|------------------|-----------| | **ๆˆๆœฌ** | ๆฏๆœˆๅ…่ดน้ขๅบฆ๏ผˆ60ๅฐๆ—ถ๏ผ‰ | ้œ€่ฆ่ดญไนฐๆœๅŠกๅ™จ | | **็ปดๆŠค** | ้›ถ็ปดๆŠค | ้œ€่ฆ่ฟ็ปด | | **ๅฏ่ฎฟ้—ฎๆ€ง** | ไปปไฝ•ๆœ‰ๆต่งˆๅ™จ็š„ๅœฐๆ–น | ้œ€่ฆ VPN/ๅ…ฌ็ฝ‘ IP | | **ๅผ€ๅ‘็Žฏๅขƒ** | ๅฎŒๆ•ด VS Code | ้œ€่ฆๆœฌๅœฐ้…็ฝฎ | | **ๅไฝœ** | ๅณๆ—ถๅˆ†ไบซ | ้œ€่ฆ้…็ฝฎ | | **ๅค‡ไปฝ** | ่‡ชๅŠจ้›†ๆˆ Git | ้œ€่ฆๆ‰‹ๅŠจๅค‡ไปฝ | ### ๐Ÿ’ฐ ๆˆๆœฌ - **ๅ…่ดน้ขๅบฆ**: 60 ๅฐๆ—ถ/ๆœˆ - **่ถ…ๆ—ถๅŽ**: $0.18/ๅฐๆ—ถ - **ๆŽจ่**: ๆ—ฅๅธธๅผ€ๅ‘ๅฎŒๅ…จๅคŸ็”จ --- ## ๆžถๆž„ๆฆ‚่ฟฐ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ GitHub ้ƒจ็ฝฒๆžถๆž„ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ GitHub Codespaces (ไบ‘็ซฏ็Žฏๅขƒ) โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Moltbot Gateway (ๆŒ็ปญ่ฟ่กŒ) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Node.js v22 + pnpm โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Ollama (ๆœฌๅœฐ LLM) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ - llama3.3 (ไธปๆจกๅž‹) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ - deepseek-coder (ไปฃ็ ๅŠฉๆ‰‹) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ - nomic-embed-text (embeddings) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Memory Plugin (LanceDB) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข WebSocket Server (18789) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ๆ‰€ๆœ‰ๅผ€ๅ‘ๆ’ไปถ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ็กฌไปถ้…็ฝฎ: โ”‚ โ”‚ โ”‚ โ”‚ โ€ข 4 ๆ ธ CPU โ”‚ โ”‚ โ”‚ โ”‚ โ€ข 8 GB RAM โ”‚ โ”‚ โ”‚ โ”‚ โ€ข 32 GB ๅญ˜ๅ‚จ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ–ฒ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ GitHub Port Forwarding โ”‚ โ”‚ โ”‚ โ”‚ (Codespaces โ†’ Internet) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ–ผ โ–ผ โ–ผ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ VS Code โ”‚ โ”‚ ๆต่งˆๅ™จ โ”‚ โ”‚ GitHub CLI โ”‚ โ”‚ โ”‚ โ”‚ (ๆœฌๅœฐ่ฟžๆŽฅ) โ”‚ โ”‚ WebChat โ”‚ โ”‚ (ๅ‘ฝไปค่กŒ) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ็ผ–่พ‘ไปฃ็  โ”‚ โ”‚ โ€ข ๅฏน่ฏ โ”‚ โ”‚ โ€ข gh ci run โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ่ฐƒ่ฏ• โ”‚ โ”‚ โ€ข ๆต‹่ฏ• โ”‚ โ”‚ โ€ข ็ฎก็†ไปปๅŠก โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ็ปˆ็ซฏ โ”‚ โ”‚ โ€ข ็›‘ๆŽง โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ GitHub Actions (่‡ชๅŠจๅŒ–) โ”‚ โ”‚ โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ่‡ชๅŠจ้ƒจ็ฝฒ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ๆฏๆ—ฅๅฅๅบทๆฃ€ๆŸฅ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Memory ่‡ชๅŠจๅค‡ไปฝ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ๅฎšๆ—ถ้‡ๅฏ โ”‚ โ”‚ โ”‚ โ”‚ โ€ข ็›‘ๆŽงๆŠฅๅ‘Š โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ๅฟซ้€Ÿๅผ€ๅง‹ ### ๆ–นๅผ 1๏ผš้€š่ฟ‡ GitHub ็ฝ‘้กตๅˆ›ๅปบ๏ผˆๆŽจ่๏ผ‰ #### ๆญฅ้ชค 1๏ผšๅˆ›ๅปบ Codespace 1. ่ฎฟ้—ฎไฝ ็š„ไป“ๅบ“๏ผš`https://github.com/ไฝ ็š„็”จๆˆทๅ/moltbot` 2. ็‚นๅ‡ป็ปฟ่‰ฒ็š„ **"Code"** ๆŒ‰้’ฎ 3. ้€‰ๆ‹ฉ **"Codespaces"** ๆ ‡็ญพ 4. ็‚นๅ‡ป **"Create codespace on main"** 5. ็ญ‰ๅพ…็Žฏๅขƒๅˆ›ๅปบ๏ผˆ็บฆ 2-3 ๅˆ†้’Ÿ๏ผ‰ #### ๆญฅ้ชค 2๏ผš่‡ชๅŠจๅˆๅง‹ๅŒ– Codespace ๅˆ›ๅปบๅŽไผš่‡ชๅŠจ่ฟ่กŒ๏ผš - โœ… ๅฎ‰่ฃ… Node.js ๅ’Œ pnpm - โœ… ๅฎ‰่ฃ… Ollama - โœ… ๆ‹‰ๅ– LLM ๆจกๅž‹๏ผˆllama3.3, deepseek-coder, nomic-embed-text๏ผ‰ - โœ… ้…็ฝฎ Moltbot - โœ… ๆž„ๅปบ้กน็›ฎ - โœ… ๅฏๅŠจ Gateway #### ๆญฅ้ชค 3๏ผš่ฎฟ้—ฎ Gateway ๅˆ›ๅปบๅฎŒๆˆๅŽ๏ผš 1. **ๆŸฅ็œ‹ๆ—ฅๅฟ—**๏ผš - ๅœจ Codespace ็ปˆ็ซฏ่ฟ่กŒ๏ผš`tail -f /tmp/moltbot.log` 2. **้…็ฝฎ็ซฏๅฃ่ฝฌๅ‘**๏ผš - ็‚นๅ‡ป Codespace ็•Œ้ข็š„ **"Ports"** ๆ ‡็ญพ - ๆทปๅŠ ็ซฏๅฃ๏ผš`18789` - ็‚นๅ‡ป่ฝฌๅ‘ๅœฐๅ€่ฎฟ้—ฎ WebChat 3. **ๆต‹่ฏ•่ฟžๆŽฅ**๏ผš ```bash ./moltbot.mjs status ./moltbot.mjs agent "ไฝ ๅฅฝ๏ผŒ่ฏทไป‹็ปไธ€ไธ‹ไฝ ่‡ชๅทฑ" ``` --- ### ๆ–นๅผ 2๏ผš้€š่ฟ‡ GitHub CLI ๅˆ›ๅปบ #### ๆญฅ้ชค 1๏ผšๅฎ‰่ฃ… GitHub CLI ```bash # macOS brew install gh # Linux sudo apt install gh # ๆˆ–ไธ‹่ฝฝ: https://github.com/cli/cli/releases # Windows winget install GitHub.cli ``` #### ๆญฅ้ชค 2๏ผš่ฎค่ฏ ```bash gh auth login ``` #### ๆญฅ้ชค 3๏ผšๅˆ›ๅปบ Codespace ```bash gh codespace create \ --repo ไฝ ็š„็”จๆˆทๅ/moltbot \ --branch main \ --machine standard-4cores-linux-x64 \ --display-name "Moltbot Gateway" ``` #### ๆญฅ้ชค 4๏ผš็ญ‰ๅพ…ๅˆๅง‹ๅŒ–ๅฎŒๆˆ ```bash # ๆŸฅ็œ‹ Codespace ็Šถๆ€ gh codespace list # ๆŸฅ็œ‹ Codespace ๆ—ฅๅฟ— gh codespace logs ``` --- ## ่ฏฆ็ป†้…็ฝฎ ### Codespaces ้…็ฝฎๆ–‡ไปถ #### 1. `.devcontainer/devcontainer.json` ๅฎšไน‰ๅผ€ๅ‘็Žฏๅขƒ้…็ฝฎ๏ผš ```json { "name": "Moltbot Gateway", "dockerComposeFile": "docker-compose.yml", "service": "moltbot", // ่ต„ๆบ่ฆๆฑ‚ "hostRequirements": { "cpus": 4, // 4 ๆ ธ CPU "memory": "8gb", // 8 GB RAM "storage": "32gb" // 32 GB ๅญ˜ๅ‚จ }, // ็ซฏๅฃ่ฝฌๅ‘ "forwardPorts": [18789, 18791, 11434], // ็ซฏๅฃๅฑžๆ€ง "portsAttributes": { "18789": { "label": "Gateway WebSocket", "onAutoForward": "openBrowser" // ่‡ชๅŠจๆ‰“ๅผ€ๆต่งˆๅ™จ } }, // ่‡ชๅŠจ่ฟ่กŒ่„šๆœฌ "postCreateCommand": "bash .devcontainer/post-create.sh" } ``` #### 2. `.devcontainer/post-create.sh` ๅˆๅง‹ๅŒ–่„šๆœฌไผš่‡ชๅŠจๆ‰ง่กŒ๏ผš 1. ๅฎ‰่ฃ… Ollama 2. ๆ‹‰ๅ– LLM ๆจกๅž‹ 3. ้…็ฝฎ Moltbot 4. ๆž„ๅปบ้กน็›ฎ 5. ๅฏๅŠจ Gateway #### 3. `.devcontainer/docker-compose.yml` Docker ๆœๅŠกๅฎšไน‰๏ผš ```yaml services: moltbot: volumes: # ๆŒไน…ๅŒ–ๆ•ฐๆฎ - moltbot-data:/root/.clawdbot - moltbot-memory:/root/.clawdbot/memory ``` ### ้…็ฝฎ Gateway ๅœจ Codespace ไธญ็š„้…็ฝฎๆ–‡ไปถไฝ็ฝฎ๏ผš ```bash /root/.moltbot/moltbot.json ``` ้ป˜่ฎค้…็ฝฎ๏ผš ```json { "gateway": { "mode": "local", "bind": "0.0.0.0", // ็ป‘ๅฎšๆ‰€ๆœ‰ๆŽฅๅฃ๏ผˆๅฏๅค–้ƒจ่ฎฟ้—ฎ๏ผ‰ "auth": { "token": "github-codespaces-token" } }, "models": { "providers": { "ollama": { "baseUrl": "http://127.0.0.1:11434" } } }, "plugins": { "entries": { "memory-lancedb": { "enabled": true, "config": { "embedding": { "provider": "ollama", "model": "nomic-embed-text" } } } } } } ``` --- ## ่ฎฟ้—ฎๆ–นๅผ ### ๆ–นๅผ 1๏ผšๆต่งˆๅ™จ WebChat๏ผˆๆŽจ่๏ผ‰ ``` 1. ๆ‰“ๅผ€ไฝ ็š„ Codespace 2. ็‚นๅ‡ป "Ports" ๆ ‡็ญพ 3. ๆ‰พๅˆฐ 18789 ็ซฏๅฃ 4. ็‚นๅ‡ป่ฝฌๅ‘ๅœฐๅ€๏ผˆ้€šๅธธๆ˜ฏไธ€ไธช github.dev URL๏ผ‰ 5. ๅผ€ๅง‹ๅฏน่ฏ๏ผ ``` ### ๆ–นๅผ 2๏ผšVS Code ่ฟžๆŽฅ ``` 1. ๅœจ VS Code ไธญๅฎ‰่ฃ… "Remote - SSH" ๆ‰ฉๅฑ• 2. ่ฟžๆŽฅๅˆฐ Codespace 3. ๆ‰“ๅผ€้›†ๆˆ็ปˆ็ซฏ 4. ่ฟ่กŒๅ‘ฝไปค๏ผš ./moltbot.mjs agent "ๆถˆๆฏ" ``` ### ๆ–นๅผ 3๏ผšๆœฌๅœฐ CLI ๅฎขๆˆท็ซฏ ๅœจไฝ ็š„ๆœฌๅœฐๆœบๅ™จไธŠ้…็ฝฎ๏ผš ```json // ~/.clawdbot/moltbot.json { "gateway": { "mode": "remote", "remote": { "url": "wss://-18789.github.dev", "token": "github-codespaces-token" } } } ``` ### ๆ–นๅผ 4๏ผšGitHub Actions CLI ```bash # ่งฆๅ‘ๅฅๅบทๆฃ€ๆŸฅ gh workflow run github-deploy.yml -f health-check # ๆŸฅ็œ‹็Šถๆ€ gh run list # ๆŸฅ็œ‹ๆ—ฅๅฟ— gh run view ``` --- ## ่‡ชๅŠจๅŒ–็ปดๆŠค ### GitHub Actions ๅทฅไฝœๆต #### 1. ่‡ชๅŠจๅฅๅบทๆฃ€ๆŸฅ๏ผˆๆฏๅคฉ UTC 2:00๏ผ‰ ```yaml on: schedule: - cron: '0 2 * * *' # ๆฏๅคฉๆ‰ง่กŒ ``` **ๅŠŸ่ƒฝ๏ผš** - โœ… ๆฃ€ๆŸฅ Gateway ้…็ฝฎ - โœ… ้ชŒ่ฏๆœๅŠก็Šถๆ€ - โœ… ็”Ÿๆˆ็Šถๆ€ๆŠฅๅ‘Š #### 2. ่‡ชๅŠจๅค‡ไปฝ Memory **ๅŠŸ่ƒฝ๏ผš** - โœ… ๅฏผๅ‡บ LanceDB ๆ•ฐๆฎๅบ“ - โœ… ไธŠไผ ๅˆฐ GitHub Artifacts - โœ… ไฟ็•™ 30 ๅคฉ #### 3. ่‡ชๅŠจ้‡ๅฏ๏ผˆๅฏ้€‰๏ผ‰ ```bash # ๆ‰‹ๅŠจ่งฆๅ‘ gh workflow run github-deploy.yml -f restart-gateway ``` ### ็›‘ๆŽงๅ’Œๆ—ฅๅฟ— #### ๆŸฅ็œ‹ Gateway ๆ—ฅๅฟ— ```bash # ๅœจ Codespace ็ปˆ็ซฏ tail -f /tmp/moltbot.log # ๆŸฅ็œ‹ๆœ€่ฟ‘ 100 ่กŒ tail -n 100 /tmp/moltbot.log ``` #### ๆŸฅ็œ‹ Ollama ๆ—ฅๅฟ— ```bash tail -f /tmp/ollama.log ``` #### ๆฃ€ๆŸฅๆœๅŠก็Šถๆ€ ```bash # Gateway ็Šถๆ€ ./moltbot.mjs status # ไผš่ฏๅˆ—่กจ ./moltbot.mjs sessions # Memory ็ปŸ่ฎก ./moltbot.mjs ltm stats ``` --- ## ๆ•…้šœๆŽ’้™ค ### ้—ฎ้ข˜ 1๏ผšCodespace ๅˆ›ๅปบๅคฑ่ดฅ **็—‡็Šถ๏ผš** ``` Error: Failed to create codespace ``` **่งฃๅ†ณๆ–นๆกˆ๏ผš** 1. ๆฃ€ๆŸฅ GitHub ่ดฆๅทๆƒ้™ 2. ็กฎ่ฎคๆฒกๆœ‰่ถ…่ฟ‡ Codespace ้™ๅˆถ 3. ๅฐ่ฏ•ๅˆ ้™คๆ—ง็š„ Codespace๏ผš ```bash gh codespace list gh codespace delete ``` ### ้—ฎ้ข˜ 2๏ผšOllama ๆจกๅž‹ไธ‹่ฝฝๅคฑ่ดฅ **็—‡็Šถ๏ผš** ``` Error: Failed to pull ollama model ``` **่งฃๅ†ณๆ–นๆกˆ๏ผš** ```bash # ๆ‰‹ๅŠจไธ‹่ฝฝๆจกๅž‹ ollama pull llama3.3 # ๆˆ–ไฝฟ็”จๅฐๆจกๅž‹ ollama pull phi3 ``` ### ้—ฎ้ข˜ 3๏ผšGateway ๆ— ๆณ•ๅฏๅŠจ **็—‡็Šถ๏ผš** ``` Error: Gateway failed to start ``` **่งฃๅ†ณๆ–นๆกˆ๏ผš** ```bash # ๆฃ€ๆŸฅ็ซฏๅฃๅ ็”จ netstat -tlnp | grep 18789 # ๆ€ๆญปๅ ็”จ่ฟ›็จ‹ pkill -f moltbot.mjs # ้‡ๆ–ฐๅฏๅŠจ /root/start-gateway.sh ``` ### ้—ฎ้ข˜ 4๏ผšๅ†…ๅญ˜ไธ่ถณ **็—‡็Šถ๏ผš** ``` Error: Cannot allocate memory ``` **่งฃๅ†ณๆ–นๆกˆ๏ผš** 1. **ไฝฟ็”จ่พƒๅฐ็š„ๆจกๅž‹**๏ผš ```bash ollama pull phi3 # 4GB ollama pull gemma2:2b # 2GB ``` 2. **ๅขžๅŠ  Codespace ้…้ข**๏ผš - GitHub ่ฎพ็ฝฎ โ†’ Billing - ๅขžๅŠ  Codespace ้…้ข 3. **ไผ˜ๅŒ–้…็ฝฎ**๏ผš ```json { "agents": { "defaults": { "maxConcurrent": 2 // ๅ‡ๅฐ‘ๅนถๅ‘ๆ•ฐ } } } ``` ### ้—ฎ้ข˜ 5๏ผš็ซฏๅฃ่ฝฌๅ‘ไธๅทฅไฝœ **็—‡็Šถ๏ผš** ``` Cannot access forwarded port ``` **่งฃๅ†ณๆ–นๆกˆ๏ผš** 1. ๆฃ€ๆŸฅ Codespace ๆ˜ฏๅฆๆญฃๅœจ่ฟ่กŒ 2. ้‡ๆ–ฐ้…็ฝฎ็ซฏๅฃ่ฝฌๅ‘ 3. ไฝฟ็”จ GitHub CLI ่ฟžๆŽฅ๏ผš ```bash gh codespace view --web ``` --- ## ๆœ€ไฝณๅฎž่ทต ### 1. ๆˆๆœฌไผ˜ๅŒ– **ๅ‡ๅฐ‘ Codespace ไฝฟ็”จๆ—ถ้—ด๏ผš** ```bash # ไธไฝฟ็”จๆ—ถๅœๆญข Codespace gh codespace stop # ้œ€่ฆๆ—ถๅ†ๅฏๅŠจ gh codespace start ``` ### 2. ๆ•ฐๆฎๆŒไน…ๅŒ– **้‡่ฆๆ•ฐๆฎๅค‡ไปฝ๏ผš** ```bash # ๅค‡ไปฝ้…็ฝฎ cp /root/.moltbot/moltbot.json ~/backup/ # ๅค‡ไปฝ Memory tar -czf ~/backup/memory-$(date +%Y%m%d).tar.gz ~/.clawdbot/memory/ # ไธ‹่ฝฝๅค‡ไปฝๅˆฐๆœฌๅœฐ gh codespace download backup.tar.gz ``` ### 3. ๅฎ‰ๅ…จ้…็ฝฎ **ไฟๆŠคไฝ ็š„ Gateway๏ผš** ```json { "gateway": { "auth": { "token": "็”Ÿๆˆไธ€ไธชๅผบๅฏ†็ ", "allowTailscale": false // ไป… GitHub ็™ปๅฝ• } } } ``` ### 4. ็›‘ๆŽงๅ’Œๅ‘Š่ญฆ **่ฎพ็ฝฎ GitHub Actions ้€š็Ÿฅ๏ผš** ```yaml # .github/workflows/notifications.yml name: Notifications on: workflow_run: workflows: ["github-deploy.yml"] types: [completed] jobs: notify: runs-on: ubuntu-latest steps: - name: Send notification run: | echo "Gateway health check completed" ``` ### 5. ๅผ€ๅ‘ๅทฅไฝœๆต **ๆŽจ่็š„ๅทฅไฝœๆต๏ผš** ```bash # 1. ๆœฌๅœฐๅผ€ๅ‘ git clone cd moltbot # 2. ๆไบคๆ›ดๆ”น git add . git commit -m "feat: new feature" git push # 3. ่‡ชๅŠจ้ƒจ็ฝฒๅˆฐ Codespace # GitHub Actions ่‡ชๅŠจ่งฆๅ‘ # 4. ๅœจ Codespace ไธญๆต‹่ฏ• gh codespace view --web # 5. ้ชŒ่ฏๅŽๅˆๅนถๅˆฐ main git checkout main git merge feature-branch git push ``` --- ## ้ซ˜็บง้…็ฝฎ ### ่‡ชๅฎšไน‰ๅŸŸๅ ไฝ ๅฏไปฅไฝฟ็”จ่‡ชๅทฑ็š„ๅŸŸๅ่ฎฟ้—ฎ Gateway๏ผš 1. **่ฎพ็ฝฎ CNAME**๏ผš ``` moltbot.yourdomain.com CNAME .github.dev ``` 2. **ๆ›ดๆ–ฐ้…็ฝฎ**๏ผš ```json { "gateway": { "bind": "moltbot.yourdomain.com" } } ``` ### ้›†ๆˆๅ…ถไป–ๆœๅŠก #### 1. Telegram Bot ```bash # ๅœจ Codespace ไธญ้…็ฝฎ Telegram Bot Token # ็ผ–่พ‘ ~/.moltbot/moltbot.json # ้‡ๅฏ Gateway /root/start-gateway.sh ``` #### 2. GitHub ้›†ๆˆ ```bash # ไฝฟ็”จ GitHub ไฝœไธบ Memory ๅญ˜ๅ‚จ # ้…็ฝฎ GitHub Actions ่‡ชๅŠจๅค‡ไปฝ ``` #### 3. Slack ้›†ๆˆ ```bash # ้…็ฝฎ Slack Webhook # ๆŽฅๆ”ถ Gateway ้€š็Ÿฅ ``` ### ๆ€ง่ƒฝไผ˜ๅŒ– #### 1. ๆจกๅž‹้‡ๅŒ– ```bash # ไฝฟ็”จ้‡ๅŒ–็‰ˆๆœฌ ollama pull llama3.3:q4_0 ``` #### 2. ๆ‰นๅค„็† ```bash # ๆ‰น้‡ๅค„็†่ฏทๆฑ‚ ./moltbot.mjs agent --batch < # ไธ‹่ฝฝๆ—ฅๅฟ— gh run download ``` ### Codespace ็›‘ๆŽง ```bash # ๆŸฅ็œ‹ Codespace ็Šถๆ€ gh codespace view # ๆŸฅ็œ‹่ต„ๆบไฝฟ็”จ gh codespace view --json | jq '.resource' # ๅœๆญข Codespace gh codespace stop # ๅˆ ้™ค Codespace gh codespace delete ``` ### ๆ—ฅๅฟ—็ฎก็† ```bash # ๆ—ฅๅฟ—ไฝ็ฝฎ /tmp/moltbot.log # Gateway ๆ—ฅๅฟ— /tmp/ollama.log # Ollama ๆ—ฅๅฟ— ~/.pm2/logs/ # PM2 ๆ—ฅๅฟ—๏ผˆๅฆ‚ๆžœไฝฟ็”จ๏ผ‰ # ๆŸฅ็œ‹ๅฎžๆ—ถๆ—ฅๅฟ— tail -f /tmp/moltbot.log # ๆœ็ดข้”™่ฏฏ grep -i error /tmp/moltbot.log ``` --- ## ๆˆๆœฌๅ’Œ้™ๅˆถ ### ๅ…่ดน้ขๅบฆ | ่ต„ๆบ | ๅ…่ดน้ขๅบฆ | ่ถ…ๅ‡บๅŽ่ดน็”จ | |------|---------|-----------| | **ๅญ˜ๅ‚จ** | 32 GB | $0.08/GB/ๆœˆ | | **่ฎก็ฎ—** | 60 ๅฐๆ—ถ/ๆœˆ | $0.18/ๅฐๆ—ถ | | **ๅธฆๅฎฝ** | ๅŒ…ๅซๅœจๅ†… | ๆ— ้ขๅค–่ดน็”จ | ### ไฝฟ็”จไผฐ็ฎ— **ๆ—ฅๅธธๅผ€ๅ‘ไฝฟ็”จ๏ผš** - ๆฏๅคฉ 8 ๅฐๆ—ถ ร— 22 ๅคฉ = 176 ๅฐๆ—ถ - ่ถ…ๅ‡บๅ…่ดน้ขๅบฆ๏ผš116 ๅฐๆ—ถ - ้ขๅค–ๆˆๆœฌ๏ผš116 ร— $0.18 = $20.88/ๆœˆ **ๆˆๆœฌไผ˜ๅŒ–ๆŠ€ๅทง๏ผš** 1. ไธไฝฟ็”จๆ—ถๅœๆญข Codespace 2. ไฝฟ็”จ smaller ๆœบๅž‹๏ผˆ2 ๆ ธ๏ผ‰ 3. ้ฟๅ…็ฉบ้—ฒ่ฟ่กŒ --- ## ๆ€ป็ป“ ### GitHub Codespaces ้ƒจ็ฝฒ็š„ไผ˜ๅŠฟ | ็‰นๆ€ง | ่ฏดๆ˜Ž | |------|------| | โœ… **้›ถ้…็ฝฎ** | ๅˆ›ๅปบๅณ็”จ๏ผŒๆ— ้œ€ๆ‰‹ๅŠจ้…็ฝฎ็Žฏๅขƒ | | โœ… **้šๆ—ถ้šๅœฐ** | ไปปไฝ•ๆœ‰ๆต่งˆๅ™จ็š„ๅœฐๆ–น้ƒฝ่ƒฝ่ฎฟ้—ฎ | | โœ… **่‡ชๅŠจๅค‡ไปฝ** | ้›†ๆˆ Git๏ผŒ่‡ชๅŠจ็‰ˆๆœฌๆŽงๅˆถ | | โœ… **ๅ›ข้˜Ÿๅไฝœ** | ๅณๆ—ถๅˆ†ไบซๅ’Œๅไฝœ | | โœ… **ๅ…่ดน้ขๅบฆ** | ๆฏๆœˆ 60 ๅฐๆ—ถๅ…่ดน | | โœ… **่‡ชๅŠจๅŒ–** | GitHub Actions ่‡ชๅŠจ็ปดๆŠค | ### ้€‚็”จๅœบๆ™ฏ - โœ… **ไธชไบบๅผ€ๅ‘่€…** - ๆ— ๆœๅŠกๅ™จ๏ผŒๅฟซ้€Ÿ้ƒจ็ฝฒ - โœ… **ๅ›ข้˜Ÿๅไฝœ** - ๅ…ฑไบซๅผ€ๅ‘็Žฏๅขƒ - โœ… **ๆผ”็คบๅฑ•็คบ** - ๅ‘ๅฎขๆˆทๅฑ•็คบๅŠŸ่ƒฝ - โœ… **ไธดๆ—ถ้กน็›ฎ** - ็ŸญๆœŸๆต‹่ฏ•ๅ’Œ้ชŒ่ฏ - โœ… **ๅญฆไน ็ ”็ฉถ** - ๅญฆไน  AI ๅ’Œ LLM ้›†ๆˆ ### ไธ้€‚็”จๅœบๆ™ฏ - โŒ **ๅคง่ง„ๆจก็”Ÿไบง** - ้œ€่ฆๆ›ด้ซ˜ๆ€ง่ƒฝ - โŒ **24/7 ่ฟ่กŒ** - ๆˆๆœฌ่พƒ้ซ˜ - โŒ **ๆ•ฐๆฎๆ•ๆ„Ÿ** - ้œ€่ฆๆœฌๅœฐๅญ˜ๅ‚จ --- ## ็›ธๅ…ณๆ–‡ๆกฃ - **QUICKSTART.md** - ๅฟซ้€ŸไธŠๆ‰‹ๆŒ‡ๅ— - **DEVELOPMENT-SETUP.md** - ๅฎŒๆ•ดๆžถๆž„ๆŒ‡ๅ— - **TEAM.md** - ๅ›ข้˜Ÿๆˆๅ‘˜ๅ‚่€ƒ --- **ๆ–‡ๆกฃ็‰ˆๆœฌ**: 1.0 **ๆœ€ๅŽๆ›ดๆ–ฐ**: 2025-01-30 **็ปดๆŠค่€…**: ๅผ€ๅ‘ๅ›ข้˜Ÿ