Natural-language search, ticket generation, duplicate detection, translation and an assistant that proposes rather than acts — running against Anthropic and Gemini, or against Ollama on the box next door. Governed by tiers, budgets, rate limits and a full cost ledger.
Three things worth knowing before the feature list.
Every feature routes through a logical tier. The default tier is shown; each one can be overridden per feature.
Most trackers bolted AI onto a SaaS control plane. Trakr assumed from the start that you might not be allowed to use one.
Trakr speaks to three cloud providers and to fourteen self-hosted, OpenAI-compatible endpoints, each shipped with a sensible localhost default. Point an organisation's providers at a local runtime and the prompt path is a loopback address.
This is the difference between an AI feature you can put in front of a works council and one you have to disable. There is no vendor inference layer in the middle, because Trakr itself is the thing you are hosting.
CHEAP, STD and SMART are logical names. Each organisation binds them to a concrete provider and model, and can override the mapping for any individual feature. Search on a 7B model running locally; report generation on a frontier model in the cloud; nothing about that combination is unusual.
With degrade-on-budget switched on, crossing 80% of the monthly budget drops every feature one tier automatically. CHEAP is the floor — the features keep working, they just get cheaper.
Duplicate detection returns merge groups with a survivor, the absorbed tickets, a reason and a confidence score — validated so that a ticket can appear in at most one group and never as both survivor and absorbed. It does not merge anything. A human does.
The assistant is the same: read-only intents run immediately, every mutating intent comes back as a proposal you confirm with a single-use token that expires after five minutes, and the payload stays editable right up to execution.
Organisation, user, provider, feature key, input and output tokens, model, cost, request hash, cache flag, success and error — logged on every call. A price book holds input and output cost per million tokens for each provider and model, editable by superadmins.
Local and self-hosted providers are priced at zero, so a mixed estate reports honestly. Unpriced cloud models fall back to a configurable default. Dashboards exist at organisation and platform level, date-ranged, grouped by feature, model, organisation and user, exportable as PDF, CSV, JSON, XML or XLSX.
Multiple providers per organisation, each individually named and enable/disable-able, with exactly one default. Per provider: model, API key, base URL, max tokens, temperature and an ignore-temperature switch. Sixty-second request timeout.
The part that decides whether AI survives its first month in a real organisation.
Generic AI writes generic tickets. Baseline project context is the fix, and it is merged from six independent channels into one block used by every project-scoped AI feature.
Sources can be listed, previewed as the merged block, edited, enabled or disabled, reordered and deleted, with duplicate-content detection and a live size meter.
Known-file registry, in import order: CLAUDE.md, CLAUDE.local.md, AGENTS.md, .cursorrules, .github/copilot-instructions.md, GEMINI.md, .windsurfrules, .clinerules, .aider.md, README.md, docs/ARCHITECTURE.md, CONTRIBUTING.md.
Background jobs — repository detection and import, URL detection and import, and generation — run one at a time per project and are pollable. Limits: 16,000 characters merged, 8,000 per source, 256 KB per import, 25 files.
No. Trakr supports fourteen self-hosted, OpenAI-compatible endpoints — LM Studio, Ollama, vLLM, Jan AI, GPT4All, LocalAI, llama.cpp, KoboldCpp, TGI, Tabby, LiteLLM, RealMoon, text-generation-webui and Msty — each with a default localhost base URL. Point an organisation's providers at those and no prompt leaves your infrastructure.
Cloud providers — Anthropic with claude-sonnet-4-6 as the default model, Gemini and OpenChat — are available, but they are never required, and the choice is made per organisation rather than for you.
No. Every mutating intent in the assistant chat returns a proposal that a human confirms with a single-use token valid for five minutes, and the payload stays editable at execution time.
Duplicate detection proposes merge groups — survivor, absorbed tickets, reason and confidence — and never merges anything itself. AI bulk edit shows a preview before it executes. Break-down proposes sub-tickets in an editable workspace and creates only the ones you select.
An organisation sets a budget in tokens or in USD, and a pre-flight cost check refuses any call that would breach it. With degrade-on-budget enabled, crossing 80% of the budget drops every feature one routing tier, with CHEAP as the floor.
Underneath that: 30 requests per minute and 200 per hour per user, 100 per minute and 1,000 per hour per organisation, a circuit breaker that opens after five consecutive failures and stays open for 60 seconds, and a five-minute response cache whose hits are logged separately at zero cost.
Trakr routes through three logical tiers — CHEAP, STD and SMART — that each organisation maps to a concrete provider and model, with a per-feature override available.
By default: search, content suggestions and translation run on CHEAP; generation, ticket generation, merge suggestion, template generation, the assistant, bulk edit and coding validation run on STD; project-context generation and report generation run on SMART.
Each organisation keeps a role allow-list drawn from VIEWER, CUSTOMER, CONTRIBUTOR, MEMBER, MANAGER, ADMIN and SUPERADMIN. When it is left unset the default is MEMBER and above. An explicitly empty list turns AI off for everyone in that organisation — a supported configuration, not a bug.
Whatever you give it. Baseline project context is assembled from six channels: the project's own context field, an import from the bound repository, an import from an external Git URL with an optional in-memory-only token, a Markdown or plain-text document upload, pasted text with a label, and an AI-generated baseline.
Repository imports recognise a registry of instruction files — CLAUDE.md, AGENTS.md, .cursorrules, .github/copilot-instructions.md, GEMINI.md, README.md and others — so the context an organisation already maintains for its coding tools is reused rather than rewritten.
Local models, enforced budgets, a role allow-list and a proposal step in front of every write. Self-hostable. Made in Belgium.