AIHook Desktop user guide

A complete guide to using the app - from installation through chat and the Code tab to agents and settings.

Download the app
Current version: 0.1.6

1. What is AIHook Desktop

AIHook Desktop is a Windows application that brings together in one place:

  • Chat with AI models - hundreds of models from various providers (Anthropic, OpenAI, Google, Mistral, Meta and more) through a single account and a single credit balance.
  • Code tab - a local coding agent that reads, edits and builds code directly in your project on disk.
  • Agents - ready-made workflows (e.g. processing scanned documents, OCR, export to Word or XML).
  • Memory (RAG) - the model remembers your documents and earlier conversations.

What is important to know:

  • One credit, all models. You pay only for usage according to the model's price list (in euros). No subscription.
  • Your data stays with you. Conversations, projects and memory are stored locally in a database next to the application. Only requests to the AI model are sent to the server.
  • Portable. You can keep the application and its data on a USB drive and run it on another computer.
  • A single production address. The installed application communicates exclusively with the server https://app.aihook.dev.

2. Installation and first launch

2.1 Two distribution forms

FormFileUse
InstallerAIHook-Setup-x.y.z.exeStandard installation for the current user (no administrator rights), optional folder
Portable versionAIHook-x.y.z-win-x64.zipUnzip anywhere (even to USB) and run AIHook.exe

2.2 Where the data is

The data is always next to the program:

<application folder>\
  AIHook.exe
  data\        <- conversation database, memory (RAG), settings
  projects\    <- project working folders (if the app creates them)

Consequences:

  • You make a backup by copying the whole folder.
  • When moving to another drive/PC, stored paths are recalculated automatically (working folders under the application folder are stored relatively).
  • Updating to a new version: install the new version over the existing one or unzip the zip into the same folder - the data in data\ stays.
  • When uninstalling, the data is kept by default.

2.3 First launch

  1. A welcome window with sign-in appears (e-mail + password of your AIHook account).
  2. Language: on the very first launch the app uses your operating system language (Slovak, Czech, German, English), otherwise English. You can switch it with the buttons in the welcome window or later in Settings; your choice is never changed afterwards.
  3. After signing in, the app downloads the list of models and agents.
  4. If you do not have a desktop shortcut yet, the app offers to create one (it never overwrites an existing one).
  5. Top up your credit (Settings → Account → Top up credit) and you can start writing.
The account and credit are managed on the website app.aihook.dev (registration, invoices, teams). The application is used for working with AI.

3. Window layout

┌────────────────────────────────────────────────────────────┐
│ ● AIHook          conversation title    (€ 12.34) 🌙 ⚙ – ▢ ✕│  title bar
├───────────────┬────────────────────────────────────────────┤
│ ⌂ Chat │ </> Code │ ⚡ Agent │                                │
│ + New conversation │       chat / agent area                │
│ 🔍 Search…    │                                            │
│ PROJECTS      │                                            │
│ TODAY         │  ───────────────────────────────────────── │
│  conversations│  [input line + toolbar]                     │
│ My account ⚙ │                                            │
└───────────────┴────────────────────────────────────────────┘

Title bar

  • Credit balance (green dot + amount in €); click to open settings/account.
  • Theme switch (dark/light), settings (cogwheel).
  • Minimize / maximize / close. Closing (✕) hides the application to the system tray - it keeps running. To quit completely: right-click the tray icon → Quit.

Left panel (sidebar)

  • Three tabs: Chat, Code, Agent.
  • New conversation button, search in conversations.
  • Projects (expandable), below them conversations grouped by day.
  • At the bottom: signed-in user, balance and cogwheel.

4. Chat (⌂ Chat tab)

A regular conversation with an AI model.

4.1 Sending a message

  • Enter sends, Shift+Enter inserts a new line.
  • The answer is displayed gradually (streaming). You can stop it with the stop button.
  • Below the last answer there is Regenerate - it generates the answer again.
  • Each answer has a Copy button. Answers containing JSON can be exported to Word (DOC) and DASTA XML (for healthcare agents).
  • ```svg blocks are rendered as an image with SVG / PNG / JPG download buttons.

4.2 Model selection

Clicking the model name above the input field opens the model picker:

  • Auto - automatic selection based on context.
  • Search by name.
  • Filters: All, ★ Favorites, EU/GDPR, Code, Reasoning, Tools.
  • Model badges: EU (European provider), Code, Reason, Vision (sees images), OCR, Tools (supports tools/files).
  • The star ★ adds a model to favorites.
  • Sorting by price.
  • The model price is always the selling price in €:
  • IN = price for input (what you send), OUT = price for output (the answer),
  • models billed per page (OCR) show €x.xxxx/page,
  • "—" = price not available, "free" = free model.
  • The selection is saved separately for each conversation.

You can switch the price unit in Settings (1K = per 1,000 tokens, default, or 1M = per million tokens).

4.3 Context indicator

Next to the model there is a value Xk / Yk (Z %) - how much of the model's context window is used. Color: grey → orange (from 50 %) → red (from 80 %).

When it fills up, the app automatically compresses the old history (a summary by a cheap model, the latest messages are kept) - see Settings → Compression.

4.4 Input toolbar

IconFunction
⚡Prompt library - ready-made templates (categories, search, your own edits)
✏️Conversation prompt - special instructions for this conversation only
🗄Memory (RAG) - turn search in your own documents on/off
≈Brief answer - the model answers concisely
📎Attach file (also by pasting from the clipboard)
📂Working folder (for working with files)
🔭/scannerDocument scanning via NAPS2
🎤Voice input (button only for now, the feature is planned)

4.5 Mentions @

Type @ in the field and choose:

  • @file - inserts the content of a file from the working folder,
  • @folder - inserts the folder tree,
  • @url - inserts the content of a web page.

4.6 Drafts and unfinished texts

Unfinished text is saved as a draft for each conversation - it is not lost when you switch to another conversation and back, and it is deleted after sending.

5. Conversations and projects

Conversations

  • The title is created automatically from the first message (first 60 characters); you can rename it by double-clicking.
  • Older content is loaded gradually (50 messages at a time) when you scroll up.
  • Deleting requires confirmation in the application window.
  • You can drag a conversation with the mouse into a project (or back into the day section).

Projects

A project groups conversations and gives them shared settings:

  • Project system prompt - applies to all chats in the project.
  • Project working folder - Code/agent in the project works in this folder (a conversation can override it with its own).
  • Project RAG sources - shared memory for all conversations of the project.
  • Context menu (⋯): Rename / System prompt / RAG / Delete.
  • + next to a project creates a new chat directly in it.

6. Memory (RAG)

RAG allows the model to answer based on your files and past conversations, not only its own knowledge.

How it works

  1. You choose a source (a folder with files) and the app indexes it - splits it into chunks and creates embeddings (numeric fingerprints of meaning) via the server.
  2. With each message, the app finds the most similar chunks (similarity at least 0.25) and adds them to the model as context.
  3. After each answer, the question+answer pair is automatically saved to the chat memory.

Memory source

  • 💬 Chat - the current conversation only.
  • 🗂 Project - all conversations and files of the project (shown when the conversation is in a project).

Memory panel (right-click the 🗄 icon or "RAG" in the project menu)

  • list of sources and files, filter, search in content, removing files,
  • orphaned files - files that were indexed but are no longer on disk (Remove / Keep / Close),
  • indexing progress, clearing memory.

Changing the embedding model You can change the embedding model in Settings. The change rebuilds all embeddings - a progress window appears that cannot be closed, the application cannot be quit, and after a restart it continues where it stopped. In Settings → RAG the model is chosen from the list returned by the server (name and price in the selected 1K/1M unit, without showing the origin). This lets you switch to another provider if one goes down. If the selected model is no longer offered, it is marked "unavailable" and you need to pick another one.

Charges: embeddings are billed from your credit like other calls.

7. Code tab (</> Code) - local coding agent

The Code tab is an AI assistant that works directly with your project on disk: it reads files, searches them, edits them, runs commands and compiles.

7.1 Getting started

  1. New session.
  2. Choose a working folder (📁 button). The agent never leaves the allowed folders without your consent.
  3. Enter a task and press Enter.

7.2 Three models: Scout, Coder, Chat

In the Code tab you set up to three independent models, each can be different:

RoleTaskWhen it is used
CoderProposes and writes changes, runs commandsMain agent. A more expensive, more capable model.
ScoutOnly reads and searches the project, prepares materialOnly in Dual mode. A cheap, fast model.
ChatQuick question without an agentCtrl+Enter - a regular answer without tools

Each selection is a small dropdown with a price, just like in Chat.

7.3 Two working modes

Dual (Scout → Coder)

  1. The Scout (cheap model) reads the project, finds the relevant places and prepares a summary and excerpts from large files for the Coder.
  2. The Coder (more expensive model) receives clean context and makes the changes.
  3. If it is only a question or an explanation, the Scout answers on its own and does not call the Coder - you save money.

Advantage: the expensive model does not burn tokens on searching the project.

Plan/Act (single model)

  1. Plan - the model explores the project and proposes a procedure (it does not write).
  2. Act - the same model carries out the plan with all tools.

Advantage: simpler, one model, full context.

While running you see a phase label: 🔭 Scout analyzing → 📋 Planning → ⚡ Coding / Executing, and an Iteration X/30 counter (the agent has a cap of 30 steps). You can interrupt it at any time with the stop button.

7.4 Thinking

For models with extended reasoning you set the level: Off, Low, Medium, High, Max (a budget of approximately 1,024 / 8,192 / 32,768 / 65,536 reasoning tokens). A higher level = higher quality, but a slower and more expensive answer. The setting is saved. There is also an output token limit (Max tok.).

7.5 Agent tools

ToolWho has itWhat it does
read_fileScout, CoderReads a file
list_filesScout, CoderLists files in a folder
search_filesScout, CoderSearches for text/regular expression in files
list_code_definition_namesScout, CoderLists classes/functions/procedures without reading the whole file (saves tokens); supports TS/JS, PHP, Python, Pascal/Delphi
fetch_web_contentScout, PlanLoads the content of a web page
handoff_to_coderScoutHands the task over to the Coder with excerpts
write_fileCoder, ActCreates/overwrites a file
replace_in_fileCoder, ActPrecisely replaces a part of a file
delete_fileCoder, ActDeletes a file
run_commandCoder, ActRuns a command in the terminal
browser_actionActControls a browser (navigate, screenshot, click, type, scrape…)
delphi_compile, delphi_runCoder, ActCompiles/runs a Delphi project
attempt_completionCoder, ActFinishes the task and returns the result

You see every tool call in an expandable "bubble" with arguments and result.

7.6 Permissions and security

For writes and commands a permission dialog appears:

  • Allow once - only this operation,
  • Always for folder - for the rest of the session for that folder,
  • Auto (working folder) - the agent may write in the whole working folder without asking (green 🔓 Auto badge; click it to turn it off),
  • Deny. With no answer within 5 minutes the operation is denied.

7.7 File backups (Checkpoints / Undo)

  • Before every file change the agent automatically saves a backup to .aihook\checkpoints\ in the project (one backup per file per session, max 30).
  • The 🕐 button in the folder bar shows the backups and ↩ Restore returns the previous state.
  • It can be turned off in Settings (on by default).

7.8 File preview and editor

The right panel shows files the agent created or changed, and you can open your own too:

  • Editor with syntax highlighting (including Pascal/Delphi) and saving,
  • HTML preview, DOCX, XLSX/CSV, images,
  • multiple tabs at once, project tree (🗂), "Open file from disk".

7.9 Build

There is a build button in the folder bar. It recognizes the project language from the files and offers a command which you can edit:

Delphi/Pascal, C#, Rust, Go, Java (Maven/Gradle), C/C++ (CMake/Make), Elixir, Zig, Haskell, JS/TS (npm/yarn/pnpm), TypeScript, Python (syntax check), Arduino/ESP32 (arduino-cli / PlatformIO).

  • Output is displayed continuously, errors and warnings are highlighted in color.
  • 🤖 Fix errors sends the errors to the agent automatically.
  • Command edits are saved in .aihook\build.json in the project.
  • Delphi has native integration: compiler version selection, Win32/Win64, Debug/Release, error count.

7.10 Chat vs. agent - when to use what

I want to…Use
A quick question about code, without touching filesCtrl+Enter (Chat)
Find out how something works in the projectDual (the Scout answers)
Change/write codeDual or Plan/Act
A large unfamiliar project, save costsDual with a cheap Scout
A precisely controlled procedurePlan/Act

8. Agent tab (⚡ Agent)

Agents are ready-made workflows set up by an administrator on the server (model, prompt, tools). You just choose an agent and enter the input.

8.1 Usage

  1. Click the agent picker and choose one (search by name).
  2. Write a message or attach a file/scan (PDF, images).
  3. The agent processes the input and returns the result.

Conversations in the side panel are filtered by the selected agent.

8.2 What agents can do

  • Scanned PDFs are split into pages and processed one by one (progress "Converting pages x/y").
  • OCR with two-phase processing: the extracted text is shown immediately first, then the model structures it (e.g. into JSON).
  • Export of results: Word (DOC) and DASTA XML (windows-1250, structured file name; with several documents they are saved to the chosen folder).
  • Working folder and tools (the agent can read/write files with permission).

8.3 Watchdog (folder watching)

An agent can watch a folder (👁): when a new file appears there, it processes it automatically and saves the result to the output folder. A green indicator shows that watching is running. At startup, files already in the folder are processed too.

8.4 Scanner

The scan button calls NAPS2 with your profile (Settings → General → Scanner). The scanned document is attached to the message.

8.5 Agent visibility

Settings → Agents: use the switches to choose which agents you want to see in the list. The number of agents and access to them is determined by the account administrator (global / selected / private).

9. Settings (⚙)

TabContent
AccountSign in/out, balance, Refresh balance, Top up credit (opens the payment window), API key (read-only)
GeneralLanguage (SK/CS/EN/DE), NAPS2 scanner, file backups (checkpoints), price display 1K/1M, history compression, embedding model, Model sync, Clear model cache
AppearanceTheme (dark/light/system), chat width (narrow 680 / medium 960 / wide 1200 px), font size 11-20 px
System promptsGlobal prompt for Chat, Code and a prefix for the Agent
AgentsWhich agents are shown
PaymentInformation about top-ups and usage

History compression

  • Compression model - a cheap model for summarizing (empty = the active one is used).
  • Threshold (%) - at what context fill level the history is compressed (default 80 %).
  • The latest messages keep their original wording.

Model synchronization

  • The model list is refreshed at startup, after sign-in and every hour.
  • Below the buttons you see the time of the last synchronization, or an error and a retry button.
  • Models that the server no longer returns are removed from the list.
  • Clear model cache deletes the local list and downloads it again.

10. Credit and prices

  • The credit is deducted after every call according to token usage (or pages for OCR).
  • The balance is always in the title bar; it is updated after each answer.
  • With a zero balance the models do not work until you top up.
  • The displayed prices are selling prices in euros.
  • Top-up: Settings → Account → Top up credit (payment gateway in a separate window); after closing it the balance refreshes by itself.

11. Privacy and security

  • Conversations, projects and memory are local on your disk.
  • Only what is needed to answer is sent to the server: messages, selected file excerpts and the RAG content that is added as context.
  • Agent writes and commands require your permission (see 7.6).
  • The API key is stored locally; in Settings it is read-only.
  • Models marked EU/GDPR process data with European providers.
  • Do not enter sensitive documents into models you do not trust; always check the model label.

12. Keyboard shortcuts

ShortcutAction
EnterSend
Shift+EnterNew line
Ctrl+Enter (Code)Quick chat without an agent
EscCloses the dialog
Enter / Esc in confirmationConfirm / cancel
@Mention a file / folder / URL

13. Troubleshooting

ProblemSolution
I see no models / empty listCheck your sign-in and connection, then Settings → General → Model sync. On error the reason is shown and you can try again.
Model price is "—"The model has no selling price set. Try Model sync.
The answer does not start / credit errorCheck your balance.
The agent keeps asking for permissionUse "Always for folder" or "Auto (working folder)".
The agent made an unwanted changeThe 🕐 button → Restore the specific file.
The scanner does not respondInstall NAPS2 and enter the exact profile name in Settings; an empty field = manual mode.
The app "disappeared" after closingIt is in the system tray (✕ only hides it).
Moving to another computerCopy the whole application folder; paths are recalculated at startup.
The app works for a long time after changing the embedding modelEmbeddings are being rebuilt; let it finish, after a restart it continues.
Database error at startupClose the application, copy the data\ folder as a backup and contact support.

14. Frequently asked questions

Do I need my own API keys for OpenAI/Anthropic? No. All models are available through your AIHook account and a single credit.

Can I use the app offline? Viewing conversations yes, AI answers require a connection.

Can I have the Scout and Coder from different providers? Yes, each role has its own model selection.

How much does one answer cost? You can find an estimate in the model picker (IN/OUT per 1K or 1M tokens). The actual usage is deducted from your credit after the answer.

Can it be backed up? By copying the data\ folder (the app must be closed).

Is the application available for macOS/Linux? Currently Windows only.

15. Planned features

  • Automatic update and notification about a new version.
  • Voice input.
  • Showing differences (diff) before applying agent changes, with confirmation.
  • Support for MCP servers and hooks.
  • Git integration, sub-agents, scheduled agent runs.
  • Grouping conversations by date in the side panel.
↑ Back to top