Skip to content

Capabilities overview

Han AI is one product. One AI COO per workspace. What makes it useful is the toolbelt it has access to — every tool runs locally on your own VPS using free or open-source stacks.

The principle: free and local first

Bots run on Linux VPSes with shell access. The differentiator versus a thirty-dollar chat product is that the agent can DO things via the local OS. Default to free and open-source tooling — DuckDuckGo, SearXNG, Playwright, curl. Paid APIs only when no free alternative exists or it is the customer’s existing service.

This is why your AI COO lives on a VPS instead of behind a hosted API. The VPS is the differentiator.

The 12 capabilities

CapabilitySchema nameBacking stackPage
Web searchweb_searchDuckDuckGo HTML scrape, no API keyWeb search
Page fetchfetch_pageRaw fetch plus strip-tags, 20k char capPage fetch
Document extractextract_documentpdftotext, pandoc, LibreOffice headlessDocument extract
OCRocr_imageTesseract with English and KhmerOCR
Emailsend_emailnodemailer plus your SMTP credentialsEmail
Recurring tasksschedule_recurring, list_recurring, cancel_recurringnode-cron plus SQLiteRecurring tasks
Code executionexecute_codeSandboxed Node child processCode execution
Browserbrowse, scrape_cleanPlaywright plus ChromiumBrowser
Vector memoryremember_document, recall_documentsChroma in Docker, OpenAI embeddingsVector memory
Voice transcription(inbound, not a tool call)whisper.cpp local preferred, OpenAI fallbackVoice transcription
PDF generationgenerate_pdf, record_pdf_feedbackpdfkit, six styles, self-learning preferencesPDF generation

Each capability is gated on what is actually installed on your VPS. If a binary or credential is missing, that tool is hidden from the AI for that turn instead of failing mid-task.

How tool use works

  1. Han AI receives a message.
  2. The model is shown only the tools that are available right now on your VPS.
  3. If the model wants to act, it emits a tool call. The runtime executes it.
  4. The raw result is fed back to the model for a synthesised reply — you never see raw JSON.
  5. Every call is metered against your monthly token budget.

See also