An experimental Rust application for answering Ubuntu Desktop questions with a local documentation context.
The current prototype is a CLI chat interface. It can talk to either:
- a local model served through Ollama
- a remote model via GitHub Copilot and the GitHub Models API
Hardware: At least 2 GB of RAM and ~2 GB of disk space (for deepseek-r1:1.5b).
Rust and Cargo
sudo snap install rustup --classic
rustup toolchain install stableThe app talks to a local model through Ollama. Install it first:
sudo snap install ollamaPull a model, for example:
ollama pull deepseek-r1:1.5b
ollama pull tinyllamaStart the app, passing the model name you pulled:
cargo run chat --model tinyllamaIf --model is not specified, the app defaults to deepseek-r1:1.5b.
You can also set the model and server URL via environment variables:
OLLAMA_MODEL=deepseek-r1:1.5b OLLAMA_URL=http://localhost:11434 cargo run chatFor a release build, add --release:
cargo run --release chat --model tinyllamaUse this mode to switch from a local Ollama-served model to a remote model via the GitHub Models API.
This can feel faster than running a local model because the inference work does not happen on your machine, though the result still depends on network latency.
First, authenticate with GitHub Copilot. The simplest way is via the GitHub CLI:
sudo apt install gh
gh auth login
gh auth token # verify it worksAlternatively, set COPILOT_TOKEN directly — this takes precedence over the GitHub CLI. Generate a token at github.com/settings/tokens with the models:read scope, or use a token from an existing GitHub Copilot subscription.
In Bash:
export COPILOT_TOKEN=your_token_hereIn Fish:
set -x COPILOT_TOKEN your_token_hereThen start the app with the --copilot flag:
cargo run --copilot chatFor a release build, add --release:
cargo run --release --copilot chatThe app uses gpt-4o-mini via the GitHub Models API.
