- Shell 57.8%
- PowerShell 42.2%
| releases | ||
| install_mac.sh | ||
| install_mempalace_rs.sh | ||
| install_release.sh | ||
| install_windows.ps1 | ||
| latest_version.txt | ||
| mcp_servers.json | ||
| models.json | ||
| README.md | ||
| user_config.json | ||
| VERSION | ||
CodePalace - Release Compilate
Agente di sviluppo software autonomo con MemPalace.
Installazione Rapida
Linux (consigliato)
Un solo comando installa tutto: CodePalace, dipendenze Python e mempalace-rs (backend veloce in Rust):
bash <(curl -sL https://git.infinitech.it/forgejo-admin/codepalace_release/raw/branch/master/install_release.sh)
Oppure clona e installa:
git clone https://git.infinitech.it/forgejo-admin/codepalace_release.git
cd codepalace_release
bash install_release.sh
macOS (Intel e Apple Silicon)
bash <(curl -sL https://git.infinitech.it/forgejo-admin/codepalace_release/raw/branch/master/install_mac.sh)
Oppure:
git clone https://git.infinitech.it/forgejo-admin/codepalace_release.git
cd codepalace_release
bash install_mac.sh # Installazione di sistema (richiede sudo)
bash install_mac.sh --user # Installazione nella home utente (no sudo)
Windows (PowerShell)
# Scarica il repository
git clone https://git.infinitech.it/forgejo-admin/codepalace_release.git
cd codepalace_release
# Installazione di sistema (richiede admin)
.\install_windows.ps1
# Installazione nella home utente (no admin)
.\install_windows.ps1 -User
Nota Windows: Può essere necessario eseguire
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedper abilitare gli script PowerShell. Windows SmartScreen potrebbe mostrare un avviso al primo avvio: clicca "More info" > "Run anyway".
Opzioni di install_release.sh (Linux)
| Opzione | Descrizione |
|---|---|
--skip-rust |
Salta installazione mempalace-rs (usa backend Python) |
--skip-deps |
Salta dipendenze di sistema |
--skip-sqlite |
Salta compilazione sqlite3 dai sorgenti |
--skip-onnx |
Salta installazione ONNX Runtime |
--include-onnx |
Include ONNX Runtime nella build PyInstaller (~100MB+) |
--include-fastembed |
Compila mempalace-rs con fastembed (ricerca semantica) |
--python-only |
Solo dipendenze Python (= --skip-rust --skip-sqlite --skip-onnx) |
--local-dir PATH |
Usa directory locale per mempalace-rs |
--force |
Forza reinstallazione |
--verbose |
Output verboso per debug |
--help |
Mostra tutte le opzioni |
Esempio per installare solo CodePalace senza mempalace-rs:
bash install_release.sh --skip-rust
Installazione Release Compilata (alternativa - Linux)
Per installare solo il binario precompilato senza mempalace-rs:
bash <(curl -sL https://git.infinitech.it/forgejo-admin/codepalace_release/raw/branch/master/install_release.sh)
Installazione Manuale
- Scarica l'archivio per la tua piattaforma dalla cartella
releases/ - Estrai l'archivio:
tar xzf codepalace_VERSIONE_piattaforma.tar.gz - Esegui lo script di installazione per la tua piattaforma:
- Linux:
cd codepalace_VERSIONE_piattaforma && bash install_release.sh --local - macOS:
cd codepalace_VERSIONE_piattaforma && bash install_mac.sh --user - Windows: Estrarre lo ZIP e lanciare
.\install_windows.ps1 -User
- Linux:
- Avvia CodePalace:
codepalace
Configurazione ONNX Runtime (ricerca semantica)
CodePalace supporta la ricerca semantica via fastembed e ONNX Runtime. Quando ONNX Runtime è installato, mempalace-rs utilizza embedding semantico (AllMiniLML6V2) per una ricerca più precisa. Senza ONNX Runtime, mempalace-rs utilizza SHA3 fallback (ricerca sintattica).
Installazione ONNX Runtime
# Metodo automatico (via install_release.sh)
bash install_release.sh # ONNX Runtime viene installato automaticamente
# Metodo manuale (Linux x64)
ONNX_VER=1.20.1
wget https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VER}/onnxruntime-linux-x64-${ONNX_VER}.tgz
tar xzf onnxruntime-linux-x64-${ONNX_VER}.tgz
sudo mkdir -p /usr/local/lib/onnxruntime
sudo cp onnxruntime-*/lib/* /usr/local/lib/onnxruntime/
sudo ldconfig
Configurazione variabili d'ambiente
mempalace-rs con ort-load-dynamic carica libonnxruntime a runtime. Deve poter trovare
la libreria tramite ORT_LIB_LOCATION o LD_LIBRARY_PATH:
# Imposta ORT_LIB_LOCATION (metodo raccomandato per mempalace-rs)
export ORT_LIB_LOCATION=/usr/local/lib/onnxruntime
# Aggiungi anche a LD_LIBRARY_PATH per il linker dinamico
export LD_LIBRARY_PATH=/usr/local/lib/onnxruntime:${LD_LIBRARY_PATH:-}
# Per persistenza, aggiungi a ~/.bashrc
echo 'export ORT_LIB_LOCATION=/usr/local/lib/onnxruntime' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/lib/onnxruntime:${LD_LIBRARY_PATH:-}' >> ~/.bashrc
Docker con ONNX Runtime
# Build con ONNX Runtime
INCLUDE_ONNX=true docker compose build
# Verifica che ONNX Runtime sia disponibile nel container
docker compose exec agent ls /usr/local/lib/onnxruntime/
Build PyInstaller con ONNX Runtime
# Build con ONNX Runtime incluso nel binario (~100MB+)
bash scripts/build.sh --include-onnx --include-fastembed
# Release con ONNX Runtime e fastembed
bash scripts/release.sh --build-rust
Esecuzione
Comandi Principali
| Comando | Descrizione |
|---|---|
codepalace |
Lancia la TUI nella directory corrente |
codepalace -p /path/to/project |
Lancia la TUI sul progetto specificato |
codepalace run -t "task" |
Esegue un singolo task |
codepalace interactive |
Modalità interattiva REPL |
codepalace serve |
Server API (porta 8080) |
codepalace webmempalace |
Web server MemPalace (Flask) |
codepalace self-update |
Verifica e installa aggiornamenti |
codepalace version |
Mostra la versione corrente |
Parametri Globali
| Parametro | Descrizione |
|---|---|
-p, --project PATH |
Directory del progetto |
--model MODELLO |
Modello LLM da usare (es. z-ai/glm-5.1) |
--classification-model MODELLO |
Modello per classificazione/analisi (più economico, default: openai/gpt-4o-mini) |
--web |
Esegui la TUI via web browser |
--host HOST |
Host per modalità web (default: 0.0.0.0) |
--port PORTA |
Porta per modalità web (default: 8000) |
Parametri run
| Parametro | Descrizione |
|---|---|
-t, --task TESTO |
Task da eseguire |
--task-file FILE |
File contenente il task |
-m, --model MODELLO |
Modello LLM |
--max-steps N |
Numero massimo di step |
--no-dedup |
Disabilita deduplicazione |
--sandbox |
Modalità sandbox |
--no-git |
Disabilita git auto-commit |
--api-key KEY |
Chiave API OpenRouter |
Parametri serve
| Parametro | Descrizione |
|---|---|
--host HOST |
Host del server (default: 0.0.0.0) |
--port PORTA |
Porta del server (default: 8080) |
--api-key KEY |
Chiave API OpenRouter |
Esempi
# Esegui un task specifico
kindle run -t "Crea una classe Calculator con add, subtract, multiply, divide"
# Usa un modello diverso
codepalace run -t "Refactor the auth module" --model z-ai/glm-5.1
# Usa un modello di classificazione personalizzato
codepalace --classification-model openai/gpt-4o-mini -p ./myproject
# Modalità interattiva
codepalace interactive -p ./myproject
# Server API su porta personalizzata
codepalace serve --port 9090 --host 127.0.0.1
# TUI via browser
codepalace --web --port 8000 -p ./myproject
File di Configurazione
CodePalace utilizza tre file JSON di configurazione nella directory ~/.codepalace/:
models.json - Configurazione Modelli AI
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
model |
string | z-ai/glm-5.1 |
Modello LLM principale |
classification_model |
string | openai/gpt-4o-mini |
Modello per classificazione/analisi (più economico) |
base_url |
string | https://openrouter.ai/api/v1 |
URL base API |
temperature |
float | 0.7 |
Temperatura di generazione |
context_max_tokens |
int | 64000 |
Token massimi di contesto |
max_tokens_default |
int/null | null |
Token massimi per risposta default |
max_tokens_write |
int/null | null |
Token massimi per write_file |
max_tokens_respond |
int/null | null |
Token massimi per respond |
max_tokens_plan |
int/null | null |
Token massimi per pianificazione |
thinking |
string | medium |
Livello di ragionamento (high/medium/normal) |
json_mode |
bool | true |
Forza response_format JSON nelle chiamate API |
mempalace_backend |
string | rust |
Backend MemPalace (rust o python) |
Esempio:
{
"model": "z-ai/glm-5.1",
"classification_model": "openai/gpt-4o-mini",
"base_url": "https://openrouter.ai/api/v1",
"temperature": 0.7,
"context_max_tokens": 64000,
"thinking": "medium",
"mempalace_backend": "rust"
}
user_config.json - Configurazione Utente
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
language |
string | en |
Lingua dell'interfaccia |
user_id |
string | "" |
Identificativo utente |
classification_model |
string | openai/gpt-4o-mini |
Override modello classificazione (vuoto = usa models.json) |
prompt_caching |
bool | true |
Abilita caching dei prompt |
cache_control_default |
string | ephemeral |
Tipo di caching predefinito |
share_conversations |
bool | false |
Condividi conversazioni per miglioramento |
license.key |
string | "" |
Chiave di licenza |
license.api_url |
string | https://www.codepalace.ai/api |
URL API per validazione licenza |
license.report_usage |
bool | true |
Abilita reporting utilizzo |
Esempio:
{
"language": "en",
"classification_model": "openai/gpt-4o-mini",
"prompt_caching": true,
"license": {
"key": "LA_TUA_CHIAVE_QUI",
"api_url": "https://www.codepalace.ai/api",
"report_usage": true
}
}
mcp_servers.json - Configurazione Server MCP
Configura i server MCP (Model Context Protocol) disponibili. I server possono essere abilitati/disabilitati con il campo enabled.
| Server | Default | Descrizione |
|---|---|---|
filesystem |
✅ | Accesso al file system |
fetch |
✅ | Fetch di risorse web |
sqlite |
✅ | Database SQLite |
code-quality |
✅ | Analisi qualità codice |
test-runner |
✅ | Esecuzione test |
git |
✅ | Operazioni Git |
memory |
✅ | Gestione memoria |
database |
✅ | Operazioni database |
documentation |
✅ | Generazione documentazione |
package |
✅ | Gestione pacchetti |
web |
✅ | Interazione web |
web-debug |
✅ | Debug e screenshot browser |
env |
✅ | Variabili d'ambiente |
testing |
✅ | Testing avanzato |
github |
❌ | API GitHub (richiede GITHUB_PERSONAL_ACCESS_TOKEN) |
brave-search |
❌ | Ricerca web (richiede BRAVE_API_KEY) |
docker |
❌ | Gestione container Docker |
Per abilitare un server disabilitato, impostare "enabled": true e configurare le variabili d'ambiente necessarie.
Disinstallazione
# Linux
bash install_release.sh --uninstall
# macOS
bash install_mac.sh --uninstall
# Windows
.\install_windows.ps1 -Uninstall
Aggiornamento
CodePalace verifica automaticamente la disponibilità di aggiornamenti all'avvio. Per aggiornare manualmente:
# Linux
bash install_release.sh # Reinstalla tutto con l'ultima versione
# oppure solo il binario:
bash install_release.sh
# macOS
bash install_mac.sh
# Windows
.\install_windows.ps1
Oppure dall'interno di CodePalace:
codepalace self-update
codepalace self-update --check-only # Solo verifica
Aggiornamento Standalone (senza licenza)
Se la licenza è scaduta e non è possibile avviare CodePalace, è possibile aggiornare usando lo script standalone:
python3.11 self_update.py --check # Verifica aggiornamenti disponibili
python3.11 self_update.py --force # Forza re-installazione dell'ultima versione
python3.11 self_update.py --version # Mostra versione corrente
I comandi self-update e version non richiedono una licenza valida.
È anche possibile usare la variabile d'ambiente CODEPALACE_SKIP_LICENSE_CHECK=1 per bypassare il controllo licenza.
Struttura del Repository
codepalace_release/
├── install_release.sh # Script installazione completa Linux (consigliato)
├── install_mac.sh # Script installazione macOS
├── install_windows.ps1 # Script installazione Windows (PowerShell)
├── models.json # Configurazione modelli AI
├── user_config.json # Template configurazione utente
├── mcp_servers.json # Configurazione server MCP
├── README.md # Questo file
├── VERSION # Versione corrente
└── releases/
└── v1.3.2/
├── codepalace_1.3.2_linux_amd64.tar.gz
└── codepalace_1.3.2_linux_amd64.tar.gz.sha256
Switch Backend MemPalace
CodePalace supporta due backend per la memoria:
| Backend | Velocità | Compatibilità | Installazione |
|---|---|---|---|
| Rust (mempalace-rs) | ⚡ Veloce | Linux, macOS | incluso in install_release.sh |
| Python (mempalace) | 🐢 Standard | Tutte le piattaforme | pip install mempalace |
Per cambiare backend:
# Via variabile d'ambiente
export MEMPALACE_BACKEND=rust # Rust (veloce)
export MEMPALACE_BACKEND=python # Python (compatibile)
# Via models.json
# {"mempalace_backend": "rust"}
Contenuto della Release
Ogni archivio contiene:
codepalace- Binario compilato standalone (non richiede Python)models.json- Configurazione dei modelli AIuser_config.json- Template configurazione utente (senza dati personali)mcp_servers.json- Configurazione server MCPinstall_release.sh- Script installazione Linuxinstall_mac.sh- Script installazione macOSinstall_windows.ps1- Script installazione Windowsinstall_release.sh- Script installazione completa LinuxRELEASE_NOTES.md- Note di versione*.sha256- Checksum di verifica integrità
Struttura delle Directory
CodePalace utilizza due directory separate nella home dell'utente:
| Directory | Contenuto | Note |
|---|---|---|
~/.codepalace/ |
Configurazione utente | user_config.json, models.json, mcp_servers.json |
~/.mempalace/ |
Dati MemPalace | Memoria dell'agente, palace, logs, conversazioni |
Requisiti di Sistema
| Piattaforma | Requisiti |
|---|---|
| Linux | x86_64/amd64 o ARM64, ~100MB spazio (200MB con mempalace-rs) |
| macOS | Intel o Apple Silicon, ~100MB spazio (200MB con mempalace-rs) |
| Windows | Windows 10+, ~100MB spazio |
Comune: Connessione internet (per aggiornamenti e API AI)
Prerequisiti per mempalace-rs (opzionale ma consigliato)
- Rust (installabile con
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) - Lo script
install_release.shrileva automaticamente se Rust è installato e offre di installarlo - Senza Rust, CodePalace funziona con il backend Python (fallback automatico)
Prerequisiti per backend Python
- Python 3.8+
- pip (gestore pacchetti Python)
- Le dipendenze vengono installate automaticamente dallo script
🔑 Gestione Licenza
CodePalace richiede una chiave di licenza valida per funzionare. Il sito web codepalace.ai gestisce registrazione, licenze e abbonamenti (è un servizio separato dall'agente).
Configurazione Licenza
-
File di configurazione: Inserisci la chiave nel file
~/.codepalace/user_config.json:{ "license": { "key": "LA_TUA_CHIAVE_QUI" } } -
Variabile d'ambiente:
export CODEPALACE_LICENSE_KEY="LA_TUA_CHIAVE_QUI" -
Parametro CLI (per comandi
run/interactive/serve):codepalace run -t "task" --api-key LA_TUA_CHIAVE_QUI
Variabili d'Ambiente Correlate
| Variabile | Default | Descrizione |
|---|---|---|
CODEPALACE_LICENSE_KEY |
— | Chiave di licenza |
CODEPALACE_API_URL |
https://www.codepalace.ai/api |
URL base per la validazione |
OPENROUTER_API_KEY |
— | Chiave API OpenRouter (per LLM) |
OPENAI_API_KEY |
— | Chiave API OpenAI (alternativa) |
GITHUB_PERSONAL_ACCESS_TOKEN |
— | Per server MCP GitHub |
BRAVE_API_KEY |
— | Per server MCP Brave Search |
Piani Disponibili
Consulta la pagina Pricing per i dettagli sui piani e i limiti associati.
📋 Changelog Recente
Per i dettagli completi su tutte le versioni, consulta il CHANGELOG.md nel repository di sviluppo.
v1.3.2
- Self-update senza licenza: i comandi
self-updateeversionnon richiedono più licenza - Script standalone
self_update.pyper aggiornamenti senza licenza - Variabile d'ambiente
CODEPALACE_SKIP_LICENSE_CHECKper bypassare il controllo licenza
Supporto
Per problemi o domande, contatta il supporto.