rekhu

Rekhu for Odoo · preview

Rekhu knows Odoo. And the database you run.

Install one module and add a key. The agent in your Rekhu account then reads your database as it runs, designs your models with you, and builds, tests and upgrades your custom modules on a git branch. Odoo 17, 18 and 19.

In preview. The module rekhu_builder goes to the Odoo Apps store with version 1.0.

# beside your Odoo server

$ odoo rekhu_listen -d mydb

connected · 26 tools reported

mydb · local · changes on a branch

# then, in the project chat

“A module for renting out equipment, with rentals that compute their days and total.”

rental_desk: 2 models · views · menu · access

module-check ok · installed · 2 tests pass

On branch rekhu/86da93db, ready to merge

rekhu_builder

Rekhu Builder for Odoo

For the developer and the Odoo partner: a hosted agent connected to the database itself, not only to your repository. It reads the models, views and data as they are, writes your custom modules the Odoo way, loads and tests them, and puts everything back when you say so.

rekhu_assistant

Rekhu Assistant

For the people who work in Odoo: an assistant in the back office that finds records, answers and does the work after a click on Confirm, with each user's own access rights. The builder sets it up and writes its actions into your modules.

See Rekhu Assistant in Odoo ↗

What the agent does

Reads it, builds it, keeps watch

Reads the database

  • Installed modules and where they come from
  • Every model, its fields and the module behind each
  • Relations between models, as a diagram
  • How a field is used in the data, before a redesign
  • Views and their inheritance, menus, access rules
  • Scheduled actions that fail, and the log

Builds your modules

  • A new module from a description of its models
  • Computed fields, constraints, views, menus, access rights
  • Every file checked as it is written
  • Installs or upgrades it, and runs its tests
  • On a git branch of its own, one commit per change
  • Undo per run, a new module uninstalled with it

Keeps watch

  • A first look with Discover, written to the project
  • Errors in the log, grouped with their cause
  • Scheduled actions that stopped working
  • Module checks on a schedule, with a report
  • Rekhu Assistant set up for the people in Odoo
  • Proposals only on production, unless you allow more

Designing models

It looks at your data before it changes your models

Ask it to turn a selection into a model, make a field required or split a model in two. It first reads how the field is used: how many records have it set, its values, the empty ones. Then it proposes the design in a short table. It writes the migration script that moves the existing data, and says how many records it touches.

It knows what differs between 17, 18 and 19: <tree> or <list>, constraints, the chatter, and the group fields.

A rental module Rekhu Builder made in Odoo: the equipment list, and an equipment form with its status bar

How it connects

On your laptop as well as on a server

A server with a public https address is called directly, and every call is signed with the database's own secret. A laptop, Docker or a server behind a firewall uses the listener instead: odoo rekhu_listen -d mydb keeps one outgoing connection open and collects the agent's calls. Nothing has to be opened inbound.

If a change stops the database from loading, the listener stays connected in repair mode. Files, git, checks, upgrade and undo all still work, so the agent can repair its own change.

Safe by default

You decide what it may change

  • Only your custom modules, never Odoo's own or Enterprise
  • Local: changes go to a git branch of their own, one commit per change
  • Staging: every change waits for your yes in the chat
  • Production: it reads and proposes, unless you allow changes
  • Tests run on a database of their own, never on yours
  • Personal fields masked, SQL read only, secrets never read

Odoo versions

17, 18 and 19

OdooPythonRekhu Builder and Rekhu Assistant
19Python 3.10+Everything
18Python 3.10+Everything
17Python 3.10+Everything

Community and Enterprise. Odoo Online does not take custom modules, so it can't be used there.

Getting started

Four steps

  1. Create a free account, add a project of the type Odoo, and make a key for Rekhu Builder on its Connection tab.
  2. Put rekhu_builder in your addons path and install Rekhu Builder on your development database.
  3. In Settings → Rekhu Builder, paste the key, say what the database is, and press Connect.
  4. On a laptop or in Docker, start the listener. Then talk to it in the project chat, or press Discover for a first look.

It runs on prepaid credit in your Rekhu account: no subscription, no fee per user.

Try it on one database.

Create an account, add an Odoo project and install the module on a development database.