AI assistant
Briefings and drafts from the data you can see. It never sends, approves or submits.
The assistant lives at /app/assistant. It answers a short list of questions about your fleet:
- What should we fix first this week?
- Explain the highest-risk vessel.
- Which vessels will miss their CII target?
- Summarise our position for the insurer.
In the demo, and when there is no key
Live answers run only when ANTHROPIC_API_KEY is set, and in the demo only when PRUVA_AI_LIVE=true as well. The demo makes no outside call by default. With no key, or with the demo left on its default, answers come from templates filled with the numbers you can see. Each template answer is marked as one. A question that matches nothing lists the topics the assistant can answer, and that costs no credits.
Metering still runs. A template is charged the credits of the step's default model, so the pool and the hourly limits behave as they would with a model call. A live call is charged from the tokens the model actually used.
Tool use
When the key is on, the question goes to Claude with the tools this person may use. The model may call a tool, read the JSON, and call another, up to a fixed number of rounds. Each tool reads through the same repository the pages use. It returns ids, names and a path under /app. No tool writes.
Tools are registered per module. The ones in this build cover the fleet map, predictive maintenance, noon reports, port calls, shipment files, containers, planned maintenance, certificates, crew, emissions, dashboards, insurance, port disbursements, dry dock, HSEQ, vetting and finance invoices and budget variance. Cameras, procurement, inventory, voyage and chartering have no read tool yet. A tool is hidden when you do not have view on its module, so the model is never offered it.
It only uses what you can see
An answer draws only on modules where you have at least view. The repository already returns no rows for a module at none, and toolsFor drops that module's tools as well. If a template question needs a module you cannot see, the assistant says so and stops. The underwriter asking for this week's priorities is told that the question needs predictive maintenance.
Proposals a person approves
The only way the assistant suggests a change is the propose_action tool. The model sends a full action, a short label and a reason. Nothing is stored and nothing is applied. The page shows a card. Approve runs that action as the person who clicked, through the same access check as the button. If they lack the level, the card says so and the button stays disabled.
Not every action can be proposed. Anything marked noAgent (publish, approve, sign, submit) is refused. Anything marked outbound is refused. An action with no description card is refused, so a new module's actions stay out until they have one. In this build the card can describe acknowledging or resolving an alert, creating or updating a work order, drafting a report, creating a claim, completing a job, setting running hours, closing a defect, holding a container, flagging a reefer, and the port and dry-dock actions that stay inside the app. HSEQ, vetting, finance, procurement and cameras are not proposable yet.
The assistant therefore does not:
- notify a crew,
- accept or decline a premium adjustment,
- submit a report,
- share a vessel,
- fund a disbursement account,
- award a yard or a quote.
Those remain buttons for a person with publish. Agents such as Watchkeeper are capped below publish by the database.
Model text is shown as plain text, never as HTML.
Models: one catalog, picked by kind
The assistant does not hard-code a model. Each AI step (a fleet briefing, explaining an alert, a report narrative, transcribing a crew voice note, reading an alert aloud) names a kind of model (text, voice, transcription…) and uses the default model of that kind from MODEL_CATALOG in @pruva/pricing. Another model of the same kind can replace it; a model of the wrong kind is refused.
Model prices are estimates, not verified
The unit costs in the catalog have not been checked against the providers' live price lists. Each entry links its source and is marked verified: false.
| Model | Provider | Kind | Unit cost | Status | Used by default in |
|---|---|---|---|---|---|
Claude Haiku 5.5claude-haiku-5-5 | Anthropic | text | $0.1 in / $0.5 out per 1M tokens | checked 2026-10-20source | Explain an alert |
Claude Sonnet 5.5claude-sonnet-5-5 | Anthropic | text | $2 in / $10 out per 1M tokens | checked 2026-10-20source | Fleet briefing |
Claude Opus 5.5claude-opus-5-5 | Anthropic | text | $4 in / $20 out per 1M tokens | checked 2026-10-20source | Report narrative |
GPT-5.1gpt-5.1 | OpenAI | text | $1.25 in / $10 out per 1M tokens | estimate, not verifiedsource | — |
GPT-5 minigpt-5-mini | OpenAI | text | $0.25 in / $2 out per 1M tokens | estimate, not verifiedsource | — |
GPT-5 nanogpt-5-nano | OpenAI | text | $0.05 in / $0.4 out per 1M tokens | estimate, not verifiedsource | — |
Grok 4.7grok-4.7 | xAI | text | $2 in / $6 out per 1M tokens | estimate, not verifiedsource | — |
Grok 4.3grok-4.3 | xAI | text | $1.25 in / $2.5 out per 1M tokens | estimate, not verifiedsource | — |
GLM 5.2 (open weights)glm-5.2 | Z.ai | text | $1.4 in / $4.4 out per 1M tokens | estimate, not verifiedsource | — |
Nemotron 3 Ultra (open weights)nemotron-3-ultra | NVIDIA | text | $0.6 in / $2.4 out per 1M tokens | estimate, not verifiedsource | — |
Nemotron 3 Nano (open weights)nemotron-3-nano | NVIDIA | text | $0.06 in / $0.24 out per 1M tokens | estimate, not verifiedsource | — |
Nemotron 3.5 Super VL (open weights)nemotron-3.5-super-vl | NVIDIA | text | $0.15 in / $0.5 out per 1M tokens | estimate, not verifiedsource | — |
Imagen 4imagen-4 | image | $0.04 per image | estimate, not verifiedsource | — | |
Grok Imaginegrok-imagine-image | xAI | image | $0.02 per image | estimate, not verifiedsource | — |
Veo 3 Fastveo-3-fast | video | $0.4 per second of video | estimate, not verifiedsource | — | |
Grok Imagine Videogrok-imagine-video | xAI | video | $0.05 per second of video | estimate, not verifiedsource | — |
Flash v2.5 (text to speech)eleven-flash-v2-5 | ElevenLabs | voice | $0.05 per 1,000 characters | estimate, not verifiedsource | Read an alert aloud to the bridge |
Nova-3 (speech to text)deepgram-nova-3 | Deepgram | transcription | $0.0059 per minute of audio | estimate, not verifiedsource | Transcribe a crew voice note |
Whisperwhisper-1 | OpenAI | transcription | $0.006 per minute of audio | estimate, not verifiedsource | — |
| Step | Kind | Default model | Credits per typical run |
|---|---|---|---|
| Fleet briefing | text | Claude Sonnet 5.5 | 2 |
| Explain an alert | text | Claude Haiku 5.5 | 1 |
| Report narrative | text | Claude Opus 5.5 | 7 |
| Transcribe a crew voice note | transcription | Nova-3 (speech to text) | 2 |
| Read an alert aloud to the bridge | voice | Flash v2.5 (text to speech) | 3 |
Allowance: AI credits
Each workspace has one pool of AI credits per month, shared by everyone in the workspace: the package's or pack's credits per vessel × the number of vessels, plus Safety Vision's credits when it is bought. 1 credit = $0.01 of model cost. Metering charges each run the credits its model costs (rounded up, at least 1), and records the step and the model. Before a run, the assistant checks the credits left and the hourly limits per person and per workspace (see Pricing). At a limit it stops until the window or the month resets. Extra credits are not sold in this build.
| Plan | Credits a month | What they buy (≈, each kind alone) |
|---|---|---|
| Essentials package, per vessel | 300 | 150 fleet briefings, or 300 alert explanations, or 42 report narratives, or 150 crew voice notes (2 min each), or 100 voice read-outs |
| Operations package, per vessel | 800 | 400 fleet briefings, or 800 alert explanations, or 114 report narratives, or 400 crew voice notes (2 min each), or 266 voice read-outs |
| Professional package, per vessel | 1,400 | 700 fleet briefings, or 1,400 alert explanations, or 200 report narratives, or 700 crew voice notes (2 min each), or 466 voice read-outs |
| Complete package, per vessel | 2,000 | 1,000 fleet briefings, or 2,000 alert explanations, or 285 report narratives, or 1,000 crew voice notes (2 min each), or 666 voice read-outs |
| Safety Vision, per vessel | 300 | 150 fleet briefings, or 300 alert explanations, or 42 report narratives, or 150 crew voice notes (2 min each), or 100 voice read-outs |
| Tanker compliance pack, per vessel | 1,000 | 500 fleet briefings, or 1,000 alert explanations, or 142 report narratives, or 500 crew voice notes (2 min each), or 333 voice read-outs |
| Bulk & container operations pack, per vessel | 1,000 | 500 fleet briefings, or 1,000 alert explanations, or 142 report narratives, or 500 crew voice notes (2 min each), or 333 voice read-outs |
| Marine insurers & P&I pack, per vessel | 1,000 | 500 fleet briefings, or 1,000 alert explanations, or 142 report narratives, or 500 crew voice notes (2 min each), or 333 voice read-outs |
| Offshore & gas carriers pack, per vessel | 1,100 | 550 fleet briefings, or 1,100 alert explanations, or 157 report narratives, or 550 crew voice notes (2 min each), or 366 voice read-outs |
| Ship manager's office pack, per vessel | 1,200 | 600 fleet briefings, or 1,200 alert explanations, or 171 report narratives, or 600 crew voice notes (2 min each), or 400 voice read-outs |
| Commercial desk pack, per vessel | 1,100 | 550 fleet briefings, or 1,100 alert explanations, or 157 report narratives, or 550 crew voice notes (2 min each), or 366 voice read-outs |
Real model calls
The client speaks the Anthropic API, including tool use. It runs when the key is set and the demo gate above is open. Camera stills are a separate call, on the cameras analyse route, and only when that key is set. Without it, the still analysis is simulated. Neither path has been checked against a live key in this build. Conversations are kept in the browser, not in the database.
Connections
The outside systems each module reads from, how to connect them, and what each status means. All mocked in this build.
Pricing
Open core plus paid modules. The package ladder from free self-hosted Community to Complete, industry packs, Safety Vision cameras, support plans, the self-hosted licence and services. Every number on this page is read from @pruva/pricing.