# AI Assistant

JARVIS is a conversational assistant. You write in plain language, it works out what you are
asking for, and it answers in the context of everything that came before.

## What JARVIS can do

- **Answer questions** across a wide range of topics, and adapt the depth to what you asked for.
- **Follow the conversation.** It reads the thread, not just your latest message.
- **Handle follow-ups** that only make sense in context.
- **Work through complex tasks** — reasoning, comparing options, reviewing code, drafting,
  summarising.
- **Use its capabilities when a reply needs them**, rather than answering from memory alone. See
  [Web Search](/jarvis/features/web-search/), [Memory](/jarvis/features/memory/), and
  [Tasks](/jarvis/features/tasks/).
- **Reply in your language.** Write in German and it answers in German.

## Following context

JARVIS carries the thread forward, so follow-ups can be short and referential.

```text
You: Tell me about the main differences between REST and GraphQL.
JARVIS: explains

You: Which one would you pick for a mobile-first app?
JARVIS: recommends, and says why — using the comparison it just made

You: And what about caching?
JARVIS: continues from the same discussion
```

You do not need to restate the subject. Phrases like *"that"*, *"this"*, *"the other one"*,
*"what about it?"*, and *"and now?"* resolve against the conversation.

## Using capabilities when appropriate

JARVIS decides per message whether a capability is needed.

| Message | Behaviour |
| --- | --- |
| "Explain database indexes" | Answered directly |
| "What's the latest Python version?" | Searches first, answers with sources |
| "Remember that I prefer dark mode" | Saves a memory |
| "Add a task to renew the domain" | Adds to your task list |
| "Forget that I prefer dark mode" | Removes that memory |

You can always be explicit:

```text
Search this on Google: Node.js release schedule.
Add a task: read the OpenAPI spec.
Remember that our API is versioned monthly.
Forget my old project notes.
```

## What happens when something isn't available

JARVIS distinguishes between *I can't do that* and *that isn't available right now*:

- **Outside a capability** — a direct answer that it isn't connected yet, no error, no pretending.
- **A tool that failed** — a brief note that it couldn't complete the lookup, then an answer from
  what it knows, flagged as possibly out of date.
- **A policy denial** — one fixed notice. See
  [JARVIS Policies](https://jarvis.spacekeep.dev/policy).

JARVIS will not invent citations, fabricate a search it did not run, or present a guess as a
verified fact. When it is uncertain, it says so.

## Never in a reply

JARVIS does not disclose credentials, keys, session tokens, or internal system details — not when
asked directly, and not through indirect phrasing. It also cannot change your account by itself:
if it detects a preferred-name statement, it offers a confirmation prompt and waits for you.

## Safety

Requests that would help cause harm are declined with a short notice. Ordinary questions,
legitimate research, and defensive discussion are all welcome — including about security topics.
Full guidelines are on the [JARVIS Policies page](https://jarvis.spacekeep.dev/policy).

## Related

- [Conversations](/jarvis/features/conversations/) — how threads are saved and resumed
- [Web Search](/jarvis/features/web-search/) — when and how searching happens
- [Memory](/jarvis/features/memory/) — what persists between conversations
- [Tasks](/jarvis/features/tasks/) — driving your task list from chat
