rekhu

Rekhu Assistant

Rekhu Assistant overview

A custom AI assistant inside the app you build, for your own customers, that answers, opens pages and does tasks as the signed-in user.

What Rekhu Assistant is

Rekhu Assistant is an AI assistant you build into your own Laravel or Node.js application, for your own customers. It answers questions from your help, sends people to the right page, and carries out tasks through the actions you allow, as the signed-in user, with your own validation and permission checks.

Your users ask in their own words: "Where is my order?", "Order my last business cards again, 1,000 this time", "Revenue per shop this month, as a chart". The assistant finds the right action, runs it for that user, and answers in their language.

Every conversation is metered per customer by Rekhu, so you can offer the assistant to your customers and bill them for it.

The parts

Part Package What it does
The server package rekhu/assistant-laravel or @rekhu/assistant-node adds the chat route to your app, holds the secret key, knows who is signed in, runs your actions as that user
The web chat the Blade tag in Laravel, or @rekhu/assistant-widget the chat on your pages, in its own shadow DOM
The mobile chat rekhu_assistant for Flutter a ready chat screen, or the chat as state for your own design

The front end only talks to your own route. It never holds a Rekhu key.

How it works

  1. The user asks. The chat sends the message to your app's chat route, with the user's own session or token.
  2. Your app decides what the user may do. The server package builds the assistant's view of your app for this user: the actions and pages they may use, and your help topics.
  3. Rekhu answers. The package calls Rekhu with your secret key. Rekhu meters the call for the user's company and forwards it to the model.
  4. Your code does the work. When the model asks for an action, the package runs it in your app, as the user, and reports the result back.
  5. The answer streams back as text, steps and cards: a page to open, an action to confirm, a result, a file to download.

Your app calls Rekhu; nothing calls into your app. It works the same on a laptop and in production.

Safe by construction

  • It acts as the user. Every action runs as the signed-in user, through your own middleware, policies and validation (Laravel) or your own permission check in run (Node.js). A user can never do more through the chat than in your app.
  • Clicks, not words. An action that changes something important waits for a click on a confirm card. The action and its exact input are kept on the server; a typed "yes", or anything the model writes, cannot run it.
  • No key in the browser. The secret key stays on your server.
  • Users by id only. Users are identified to Rekhu by their id, never by name or e-mail.

What it can do

  • Actions from your own routes or functions. See Actions and the scan.
  • Pages: a button to the right page; the assistant never navigates on its own.
  • Help: answers from your own markdown help, one topic per file. When the help does not cover a question, it says so instead of guessing.
  • Files and charts: an action can hand over an export or a PDF as a download; figures can come back as a bar, line, area, pie or donut chart.
  • Conversation history: signed-in users find their earlier conversations again. See Conversation history.
  • A public chat for visitors who are not signed in, with caps per visitor, per IP address and per day.
  • Reports: under each answer, users can report a problem; it lands on the project's Assistant tab.
  • Rekhu's knowers: with the core package installed, a user attaches a print file and Seshat checks it in the chat. See The core package.

Projects, usage and limits

Your Rekhu account keeps everything per project, one project per app. Its Connection tab holds the keys; its Assistant tab the usage, the limit, the pause and the reports. What the assistant should always know about your app and your users goes in the project's Knowledge.

  • Keys per environment. One secret key for local, staging and production; all of them count toward the project. See Sites and keys.
  • One monthly limit and a pause for the project's assistant. At the limit, or paused, the assistant answers nobody, and your users read that it is not available right now. Your other projects go on.
  • Usage per user or per tenant, as you choose when you create the project: conversations, messages and usage per month, and a CSV to bill from.

What it costs

Each answer is paid from your Rekhu credit: the model calls it took, at the prices shown in your account. A new account starts with $10 credit, without a card. When the credit is used up, the assistant cannot answer until you top up. See Credit and usage.

To charge your own customers per answer or by plan, the server package tells you what each answer used. See Laravel and Node.js.

Requirements

Laravel Node.js
Runtime PHP 8.2 or newer, Laravel 10.48 to 13 Node.js 20, 22 or 24
Frameworks Blade, Livewire, Inertia, or an API for Nuxt, Next or a mobile app Express, Next.js, Nuxt, Hono, Remix, SvelteKit, Bun, Deno
Storage your cache; a table for the conversation history in memory, or a shared store of your own

Next

  • Laravel: install the package and mark your first action.
  • Node.js: create the assistant and add the route.
  • Actions and the scan: what the assistant may do, and how to describe it well.