Evandro Fonseca Junior 99aff0be6f feat(ui): include runtimeLastError in debug transcript
Passes the last_error.message from the runtime snapshot down through App to ChatView and into the chat debug formatter. This ensures that any specific errors that occur during local API startup, model loading, or operation are captured directly in the debug export.
2026-04-03 23:51:39 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00
2026-03-29 19:10:57 -03:00

ForgeLM

ForgeLM e um workspace Rust para inferencia local de LLMs com tres superficies principais:

  • uma API HTTP local compativel com partes da API de chat da OpenAI
  • uma CLI (localllm) para operacao, diagnostico e automacao
  • um app desktop Tauri para runtime management e chat persistente

O projeto hoje e organizado para rodar localmente, com foco em modelos .gguf, operacao local-first e uma ponte entre backend Rust, CLI e interface desktop.

O que existe hoje

  • crates/inference-server: servidor HTTP com GET /health, GET /v1/models e POST /v1/chat/completions
  • crates/localllm-cli: CLI para status, modelos, auth, config, benchmark, logs e doctor
  • tauri-app: app desktop com runtime manager, chat UI, armazenamento local e integracao com o backend
  • crates/api-contracts: contratos de request/response compartilhados
  • crates/inference-core: engine, perfis de runtime e pipeline de inferencia

Inicio rapido

1. Subir a API local

Defina pelo menos o caminho do modelo e execute o servidor:

set LOCALLLM_MODEL=D:\caminho\modelo.gguf
cargo run -p inference-server

Validacoes basicas:

curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/v1/models

2. Usar a CLI

cargo run -p localllm-cli -- status
cargo run -p localllm-cli -- models list

3. Abrir o app desktop

cd tauri-app
npm install
npm run tauri dev

No app, abra o Runtime Manager, configure modo local ou remoto e depois use o chat.

Requisitos

  • Rust toolchain atual para o workspace
  • Node.js/NPM para o app Tauri
  • um modelo .gguf local para o runtime
  • GPU NVIDIA e opcional; o projeto tambem possui perfil CPU fallback

Estrutura do repositorio

  • crates/api-contracts/ - contratos HTTP e tipos compartilhados
  • crates/inference-core/ - engine, sessoes, sampler e perfis de runtime
  • crates/inference-server/ - servidor HTTP local
  • crates/localllm-cli/ - CLI de operacao
  • crates/metrics/ - contadores e medicao de throughput
  • crates/llama-sys/ - bindings/integracao de baixo nivel
  • tauri-app/ - app desktop Tauri + frontend React
  • docs/ - documentacao detalhada

Documentacao

  • docs/README.md - indice da documentacao
  • docs/api/overview.md - visao geral do backend e da API
  • docs/api/endpoints.md - referencia HTTP
  • docs/api/configuration.md - variaveis de ambiente e configuracao do servidor
  • docs/cli/overview.md - visao geral da CLI
  • docs/cli/commands.md - referencia de comandos e exemplos
  • docs/app/overview.md - visao geral do app desktop
  • docs/app/user-guide.md - guia de uso do app
  • docs/app/backend-commands.md - comandos Tauri expostos pelo backend do app
  • docs/developer/architecture.md - arquitetura do workspace e fluxos entre modulos

Estado atual e limitacoes

  • A API atual expoe apenas tres endpoints publicos: GET /health, GET /v1/models e POST /v1/chat/completions.
  • A compatibilidade com OpenAI e parcial: o projeto foca no fluxo de chat, nao em toda a superficie da plataforma.
  • A CLI possui uma superficie ampla, mas a execucao ao vivo hoje esta mais consolidada em status, models list e bench throughput.
  • O app desktop controla o runtime local no modo local e pode consumir uma API ja existente no modo remote.
  • O armazenamento do chat no frontend usa sql.js carregado por CDN e persistencia em localStorage.

Leitura recomendada

  • Quer entender a API? Comece em docs/api/overview.md.
  • Quer operar o sistema por terminal? Va para docs/cli/overview.md.
  • Quer usar o app desktop? Leia docs/app/user-guide.md.
  • Quer contribuir no codigo? Comece em docs/developer/architecture.md.
S
Description
Infraestrutura local de inferência para LLMs em Rust, com API OpenAI-compatível
Readme
25 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 43.3%
Rust 38%
CSS 11%
HTML 5.1%
Python 2%
Other 0.6%