Files
ForgeLM/docs/app/backend-commands.md

101 lines
2.4 KiB
Markdown

# Comandos backend do app desktop
O backend Tauri exposto ao frontend vive principalmente em `tauri-app/src-tauri/src/lib.rs`.
Esta pagina documenta os comandos que o frontend usa para runtime, modelos e diagnostico.
## Runtime manager
### `bootstrap_runtime_command`
Carrega a configuracao persistida, reconstrui o snapshot do runtime e pode iniciar o runtime local automaticamente quando a politica e `on_app_launch` e o modo e `local`.
### `get_runtime_snapshot_command`
Retorna o `RuntimeSnapshot` atual com:
- `status`
- `ready`
- `process_running`
- `resolved_url`
- `binary_path`
- `last_error`
- `config`
### `save_runtime_config_command_handler`
Persiste `RuntimeConfig` e atualiza o estado backend usado pelo runtime manager.
Importante:
- se o processo local estiver rodando e a mudanca exigir restart, o backend pode recusar a alteracao com erro `restart_required`
### `start_runtime_command`
Inicia o runtime local usando a configuracao atualmente salva no backend Tauri.
### `stop_runtime_command`
Para o runtime local e atualiza o snapshot.
## GPU e modelos
### `query_gpu`
Usa `nvidia-smi` para detectar GPU NVIDIA e sugerir `recommended_layers`.
### `scan_models(dir)`
Escaneia um diretorio em busca de arquivos `.gguf`.
### `pick_models_dir`
Abre seletor nativo de pasta e devolve o diretorio escolhido junto com os modelos encontrados.
### `pick_model_files`
Abre seletor nativo de arquivos para escolher um ou mais `.gguf`.
### `import_model(src_path, dest_dir)`
Copia um arquivo `.gguf` para um diretorio de modelos.
## Configuracao e paths
### `find_server_binary`
Resolve o caminho do binario `localllm` para diagnostico e start local.
### `get_app_data_dir`
Retorna o diretorio de dados do app.
O backend desktop agora expoe apenas a superficie unificada do runtime manager para configuracao e ciclo de vida.
## Tipos principais
### `RuntimeConfig`
Campos relevantes:
- `connection_mode`
- `start_policy`
- `server_url`
- `api_key`
- `model_path`
- `models_dir`
- `addr`
- `gpu_layers`
- `ctx_size`
- `extra_model_paths`
### `RuntimeSnapshot`
Representa o estado serializado usado pelo frontend para desenhar o runtime card, drawer e logica de start/stop.
## Observacoes importantes
- o backend Tauri e a source of truth da configuracao persistida do runtime do app
- o frontend usa `useRuntimeManager()` para consumir essa superficie de comandos
- readiness do runtime local depende de `GET /health`, nao apenas de socket aberto