ๅบไบๅคงๆจกๅๅฎ็ฐ็ๅฏน่ฏๆบ่ฝ็ผ็จๅฉๆ๏ผๆฏๆๅค็งๅคงๆจกๅ่ฐ็จใๅทฅๅ ท้ๆๅๆบ่ฝไธไธๆ็ฎก็ใ
- ่ช็ถ่ฏญ้ณๅฏน่ฏ: ๆฏๆ่ช็ถ่ฏญ้ณๅฏน่ฏ็ผ็จ
- ๆ็คบ่ฏ่ชๅฎไน: ๆฏๆ่ชๅฎไนๆ็คบ่ฏ๏ผไฟฎๆนpromptsๅฏนๅบ็ๆไปถๅณๅฏ
- ็ปไธๅคงๆจกๅๆฅๅฃ: ๆฏๆ OpenAIใDeepSeekใClaudeใOllama
- ไธฐๅฏๅทฅๅ ท็ๆ: ๆไปถๆไฝใๆ็ดขๅ็ฐใไปปๅก็ฎก็ใ็ณป็ปๆง่ก็ญ
- ๆบ่ฝไธไธๆ็ฎก็: ่ชๅจๅ็ผฉใๆไน ๅๅญๅจ
- ็ตๆดปๆ็คบ่ฏ็ฎก็: ๆไปถๅๅญๅจ๏ผๆฏๆ็ญๆดๆฐ
- ๆตๅผๅๅบ: ๆฏๆๅฎๆถๆตๅผๅฏน่ฏ
- MCPๅ่ฎฎๆฏๆ: ๅฏๆฉๅฑๅทฅๅ ท้ๆ
nala-coder/
โโโ cmd/ # ๅฝไปค่กๅ
ฅๅฃ
โโโ internal/ # ๅ
้จๅ
โ โโโ agent/ # Agentๆ ธๅฟ่ฐๅบฆๅฑ
โ โโโ llm/ # ๅคงๆจกๅ่ฐ็จๅฐ่ฃ
โ โโโ tools/ # ๅทฅๅ
ทๅผๆ
โ โโโ context/ # ไธไธๆ็ฎก็
โ โโโ interfaces/ # ็จๆทไบคไบๆฅๅฃ
โโโ pkg/ # ๅ
ฌๅ
ฑๅ
โ โโโ types/ # ็ฑปๅๅฎไน
โ โโโ utils/ # ๅทฅๅ
ทๅฝๆฐ
โโโ prompts/ # ๆ็คบ่ฏๆไปถ
โโโ configs/ # ้
็ฝฎๆไปถ
โโโ web/ # Web็้ข
โโโ storage/ # ๅญๅจ็ฎๅฝ
- Go 1.24.5+
- ๅคงๆจกๅAPIๅฏ้ฅ๏ผOpenAIใDeepSeekใClaudeๆๆฌๅฐOllama๏ผ
- ๅ ้้กน็ฎ
git clone github.com/zboya/nala-coder
cd nala-coder
- ๅฎ่ฃ ไฝฟ็จ
make install
- ้ ็ฝฎAPIๅฏ้ฅ
# ็ผ่พ้
็ฝฎๆไปถ๏ผ่ฎพ็ฝฎไฝ ็APIๅฏ้ฅ
vi ~/.nala-coder/config.yaml
- ่ฟ่กๆๅก
cd ไฝ ้่ฆ็ผ่พไปฃ็ ็็ฎๅฝ
nala-coder
ๅฏๅจๅไผ่ชๅจๆๅผ็้กต้ข๏ผๅ ่ฎธ็ฝ้กตไฝฟ็จ้บฆๅ ้ฃ๏ผๅค้ๅฐๅจๅๅฐฑๅฏไปฅๅฏน่ฏ็ผ็จไบใ
NaLa Coder ๅฐๆๆ้
็ฝฎๅๆฐๆฎๆไปถ็ปไธๅญๆพๅจ ~/.nala-coder
็ฎๅฝไธ๏ผ
~/.nala-coder/
โโโ config.yaml # ไธป้
็ฝฎๆไปถ
โโโ storage/ # ๆฐๆฎๅญๅจ็ฎๅฝ
โ โโโ sessions.db # ไผ่ฏๆฐๆฎๅบ๏ผSQLite๏ผ
โ โโโ CODE_AGENT.md # ๆไน
ๅไธไธๆๆไปถ
โโโ logs/ # ๆฅๅฟๆไปถ็ฎๅฝ
โ โโโ nala-coder.log # ๅบ็จๆฅๅฟ
โโโ prompts/ # ๆ็คบ่ฏๆไปถ็ฎๅฝ
โโโ en/ # ่ฑๆๆ็คบ่ฏ
โ โโโ system.md # ็ณป็ปๆ็คบ่ฏ
โ โโโ compression.md # ๅ็ผฉๆ็คบ่ฏ
โ โโโ user_info.md # ็จๆทไฟกๆฏๆ็คบ่ฏ
โโโ ch/ # ไธญๆๆ็คบ่ฏ
โโโ system.md
โโโ compression.md
โโโ user_info.md
ๆฏๆๅค็งๅคงๆจกๅๆไพๅ๏ผๅฏไปฅๅๆถ้ ็ฝฎๅคไธช๏ผ
llm:
default_provider: "deepseek" # ้ป่ฎคไฝฟ็จ็ๆไพๅ
openai:
api_key: "sk-xxx"
base_url: "https://api.openai.com/v1"
model: "gpt-4"
max_tokens: 4096
temperature: 0.3
deepseek:
api_key: "sk-xxx"
base_url: "https://api.deepseek.com"
model: "deepseek-chat"
# ๆดๅค้
็ฝฎ...
ๅฏไปฅๅฏ็จ/็ฆ็จ็นๅฎๅทฅๅ ท๏ผ
tools:
enabled_tools:
- "read" # ๆไปถ่ฏปๅ
- "write" # ๆไปถๅๅ
ฅ
- "edit" # ๆไปถ็ผ่พ
- "bash" # ๅฝไปคๆง่ก
# ๆดๅคๅทฅๅ
ท...
timeouts:
bash: 120000 # 2ๅ้่ถ
ๆถ
web_fetch: 30000 # 30็ง่ถ
ๆถ
ๅฏไปฅ้่ฟ็ฏๅขๅ้่ฆ็้ ็ฝฎ๏ผ
export OPENAI_API_KEY="your-key"
export LLM_DEFAULT_PROVIDER="openai"
export SERVER_PORT="8888"
- read: ่ฏปๅๆไปถๅ ๅฎน๏ผๆฏๆๅ้กต
- write: ๅๅ ฅๆไปถๅ ๅฎน
- edit: ็ฒพ็กฎ็ผ่พๆไปถ็นๅฎ้จๅ
- multi_edit: ๅฏนๅไธๆไปถ่ฟ่กๅคๅค็ผ่พ
- glob: ไฝฟ็จๆจกๅผๅน้ ๆฅๆพๆไปถ
- grep: ๅจๆไปถๅ ๅฎนไธญๆ็ดขๆๆฌๆจกๅผ
- ls: ๅๅบ็ฎๅฝๅ ๅฎน
- bash: ๆง่ก็ณป็ปๅฝไปค๏ผๆฏๆ่ถ ๆถๆงๅถ
- web_search: ็ฝ็ปๆ็ดข๏ผ้่ฆAPIๆฏๆ๏ผ
- web_fetch: ่ทๅ็ฝ้กตๅ ๅฎน
# ๆๅปบไบ่ฟๅถๆไปถ
make build
- ๅจ
internal/tools/
ไธๅๅปบๆฐ็ๅทฅๅ ทๆไปถ - ๅฎ็ฐ
ToolExecutor
ๆฅๅฃ - ๅจ
engine.go
ไธญๆณจๅๅทฅๅ ท - ๆดๆฐ้
็ฝฎๆไปถไธญ็
enabled_tools
- ๅจ
prompts/
็ฎๅฝไธๅๅปบ.md
ๆไปถ - ไฝฟ็จGoๆจกๆฟ่ฏญๆณๆฏๆๅจๆๅ ๅฎน
- ๆฏๆ็ญ้่ฝฝ๏ผไฟฎๆนๅ็ซๅณ็ๆ
NaLa Coder ็ณป็ปๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็จๆทไบคไบๅฑ โ
โ โโโโโโโโโโโโโโโ โ
โ โ CLI/HTTP โ โ
โ โ Interface โ โ
โ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โ Agentๆ ธๅฟ่ฐๅบฆๅฑ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ไธปๅพช็ฏๅผๆ โโโโโโโโโโโค ๆถๆฏ้ๅ โ โ
โ โ (AgentLoop) โ โ (AsyncQueue) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅทฅๅ
ทๆง่กไธ็ฎก็ๅฑ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ โ ๅทฅๅ
ทๅผๆ โ โ ๅนถๅๆงๅถ โ โ LLM่ฐ็จ โ โ ไธไธๆ็ฎก็ โโ
โ โ(ToolEngine)โ โ(Scheduler) โ โ (LLMClient)โ โ(ContextManager) โโ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅญๅจไธๆไน
ๅๅฑ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ็ญๆ่ฎฐๅฟๅญๅจ โ โ ไธญๆๅ็ผฉๅๅฒ โ โ ้ฟๆๆไน
ๅญๅจ โ โ็ถๆ็ผๅญ็ณป็ป โ โ
โ โ(Messages) โ โ(Compressed) โ โ(Persistence)โ โ(StateCache) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Fork ้กน็ฎ
- ๅๅปบ็นๆงๅๆฏ (
git checkout -b feature/amazing-feature
) - ๆไบคๆดๆน (
git commit -m 'Add amazing feature'
) - ๆจ้ๅฐๅๆฏ (
git push origin feature/amazing-feature
) - ๆๅผ Pull Request
ๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏ - ๆฅ็ LICENSE ๆไปถไบ่งฃ่ฏฆๆ ใ
- ๆฅ็ Issues ่ทๅๅธฎๅฉ