Nxtgauge AI Assistant
Find a file
Ashwin Kumar Sivakumar 8f20efae1f
Some checks failed
build-and-release / build (push) Failing after 1m4s
fix(ci): switch from GHCR to Forgejo registry
- Update workflow to push to ci.nxtgauge.com/ashwin/nxtgauge-ai-assistant
- Use FORGEJO_USERNAME and FORGEJO_TOKEN secrets
- Fix gitops repo cloning to use x-access-token
2026-07-06 03:52:35 +05:30
.forgejo Update workflows and source files 2026-07-02 06:51:03 +05:30
.gitea/workflows fix(ci): use runner docker host 2026-07-05 22:25:37 +05:30
.github/workflows fix(ci): switch from GHCR to Forgejo registry 2026-07-06 03:52:35 +05:30
migrations feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
prompts/v1 feat: add Ask Ash AI assistant implementation 2026-06-14 20:28:17 +02:00
seeds feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
src Route through LiteLLM's task-specific models and implement missing Ask Ash features 2026-07-02 18:48:43 +05:30
.env.example Fix panic-on-missing-env in auth middleware and ticket provider 2026-07-02 18:31:35 +05:30
.gitignore feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
Cargo.lock Fix panic on every authenticated request: jsonwebtoken missing crypto backend 2026-07-02 22:27:03 +05:30
Cargo.toml Fix panic on every authenticated request: jsonwebtoken missing crypto backend 2026-07-02 22:27:03 +05:30
Dockerfile ci: deploy ai assistant via github actions and ghcr 2026-06-14 22:52:50 +05:30
README.md ci: stop treating registry host as secret 2026-04-17 02:39:49 +02:00

nxtgauge-ai-assistant

Backend-only Rust service for Nxtgauge AI workflows.

Scope (MVP)

  • Job description generation
  • Form filling assistance
  • Help article retrieval
  • Support ticket creation via chatbot

Stack

  • Rust + Axum
  • Ollama (default local runtime)
  • Postgres scaffolding via sqlx
  • Provider abstractions for future runtime swaps

Run

cp .env.example .env
cargo run

Endpoints

  • GET /health
  • POST /api/v1/chat/message
  • POST /api/v1/jobs/generate-description
  • POST /api/v1/forms/extract
  • POST /api/v1/tickets/create
  • POST /api/v1/help/search

Environment

  • APP_HOST
  • APP_PORT
  • DATABASE_URL
  • OLLAMA_BASE_URL
  • OLLAMA_CHAT_MODEL (default smollm2:360m)
  • OLLAMA_EMBED_MODEL (default nomic-embed-text)
  • HELP_CENTER_SEED_PATH
  • TICKETS_SOURCE

Architecture

  • chat/: workflow-oriented orchestration
  • jobs/, forms/, tickets/: domain modules
  • providers/llm: AiProvider + Ollama implementation
  • providers/tickets: TicketProvider + mock adapter
  • providers/help_center: HelpCenterProvider + local seed implementation
  • retrieval/embeddings: embedding abstraction + Ollama adapter
  • db/: DB connection, entities, repository helpers
  • routes/, handlers/: API layer

Notes

  • Service starts even if Ollama model is unavailable; provider returns graceful fallback responses.
  • STT (faster-whisper) is intentionally deferred to phase 2.

CI (Woodpecker)

Required secrets:

  • REGISTRY_USERNAME
  • REGISTRY_PASSWORD