Skip to content

v1.0.0 — каждый ответ с чеком

Choose a tag to compare

@dripips dripips released this 04 Sep 07:26
· 14 commits to main since this release

Self-hosted AI chat bot for your site. One binary, one file next to it, no plans and no seats.

The receipt

Chat bot builders are black boxes: the bot tells a customer something wrong and nobody can reconstruct why. Open any reply in Hark and the receipt unfolds — the instruction, every tool call with its request and response, the rows read from your database, tokens split into prompt, completion and reasoning, and the cost.

Any provider

llm.Provider with two implementations. The OpenAI chat format covers OpenAI itself plus Ollama, vLLM, LM Studio and OpenRouter; Anthropic is separate because its format genuinely differs. Switching is two fields.

It asks the model what it accepts

Providers disagree about parameters and the disagreement is not in the docs. gpt-5-nano rejects temperature outright and refuses the older max_tokens. A builder with a temperature slider breaks every request against it.

Hark sends a few tiny requests, records what came back, and then offers only the knobs that model takes.

Reasoning tokens are counted apart

Measured on a real conversation: 288 output tokens, 192 of them reasoning. Two thirds of the paid output never appears in the answer. A cost report that folds them into "completion" is useless.

The SQL tool has six guards

SELECT only, no second statement, no dangerous keywords, an allowlist checked into subqueries, a row cap applied by wrapping the query (an appended LIMIT is escaped by UNION), and a timeout. A rejected query goes into the receipt rather than being swallowed. Defence in depth, not a substitute for a read-only user.

Handover

The bot gives up through a tool call, not phrase matching. The reason travels to the queue; the manager sees it and the whole receipt before typing.

Widget

One <script> tag. 10 KB, no dependencies, shadow root so neither side's CSS leaks, SSE streaming, light and dark.

READMEs in English, Russian and German. MIT.