KAMI Agent
The DeepSeek-powered AI agent that lives inside Odoo - reads, creates, updates,
and audits records through policy-controlled tools, human approval, undo, and
smart model escalation from deepseek-v4-flash to
deepseek-v4-pro when deeper reasoning is needed.
Watch KAMI Agent triage tasks, create work, and pause for approval in under a minute.
Your team is drowning in clicks. Your data is one bad prompt from a mess.
Every Odoo user knows the drill: open a project, filter tasks, update five records, chase overdue items, build the weekly report. It's not hard - it's just relentless. You bring in an AI to help, and the first question from your security lead is: "What exactly is this thing allowed to touch?"
Most AI tools dodge the question. KAMI Agent answers it with a layered security model, a per-model policy editor, and an audit ledger that records every call, success or failure, with before-and-after state and one-click undo.
Why teams choose KAMI Agent
Speed without chaos
Batch-create a sprint's worth of tasks, bulk-prioritize bugs, generate a standup summary - all from one chat message. The agent reasons over your data and acts, so a 20-minute chore becomes a 20-second prompt.
Safe by design
Tools run under the requesting user's own Odoo rights: ir.model.access
and ir.rule are enforced on every call. A hardline floor blocks the
most sensitive operations outright. sudo() only through an explicit,
approval-gated policy flag.
Total transparency
An immutable audit ledger records every tool call with before/after state. Reversible changes undo in one click, under your own rights. The reversal itself is logged; nothing ever disappears without a trace.
You set the fences
Per-model policies let you allowlist operations, fields, and callable methods, or force approval on a specific model. Choose Assist, Copilot, or Autopilot per agent. The control is always yours.
How it works
- You chat. A streaming client action, right in the Odoo backend. Ask in plain language, in any language.
- The agent plans. It inspects your data with read-only tools, each shown as an inline trace chip with its risk level.
- It asks before it acts. Mutating and destructive calls run a dry-run, show a readable diff, and pause for your approval.
- Everything is recorded. A right-hand activity panel shows the transparent ledger, with undo where reversible.
Human-in-the-loop, not human-out-of-the-loop
When the agent wants to create, update, or delete, it doesn't just do it. It:
- Runs a dry-run and captures the exact before-state of every changed field.
- Builds a human-readable diff so you see precisely what will change.
- Pauses until a human clicks Approve or Reject.
Need to grant a whole category of action? Approve it with session scope. Every matching call for the rest of the conversation runs without re-prompting. You decide how much autonomy to delegate, and you can dial it back at any time.
Security model: layered and fail-closed
| Layer | What it guarantees |
|---|---|
Odoo ACLsir.model.access + ir.rule | Always enforced because handlers run as the requesting user. The agent inherits the user's rights; it can never widen them. |
| AI Policy | A per-model allowlist that can only narrow what the user could do: turn off operations, fence fields/records, restrict callable methods, force approval. |
| Autonomy tier | Decides which risk tiers (read / safe / mutating / destructive) run directly vs. pause for a human. |
| Hardline floor | A few operations are blocked outright regardless of rights or policy, for example deleting users/companies or editing security rules. |
| Audit ledger | Immutable record of every call, with undo for reversible operations. |
Per-model policy editor
Fence exactly what the agent may touch, on a per-model basis. Allow read but forbid delete. Restrict writes to a field allowlist. Whitelist which action methods it may call. Force approval on a sensitive model. Default-open models simply inherit the signed-in user's own rights.
Per-model policy: operations, field/method allowlists, forced approval, and sudo gating.
DeepSeek model configuration
KAMI Agent is built for DeepSeek. Configure your DeepSeek API key, base URL, and the two model tiers used by the router:
deepseek-v4-flash- fast tier for short, simple, high-throughput Odoo turns.deepseek-v4-pro- reasoning tier for complex multi-step work, ambiguity, or longer tool loops.- Smart escalation - a turn starts on Flash, then sticks to Pro after the model calls
escalateor after the iteration fallback trips.
The API key is stored as an Odoo system parameter; never on the agent record, never in code. There is no keyword routing: the model can request deeper reasoning itself, and the runtime also escalates if the fast tier spends too many iterations without finishing the turn.
Privacy & data processing
Where does the data go?
To answer a chat turn, KAMI Agent sends the conversation messages and the configured system
prompt to the DeepSeek endpoint configured on the agent record (base_url).
The API key is read from a system parameter and sent only to that endpoint as a
Bearer token.
DeepSeek is the supported LLM provider. The module itself stores all conversations, tool calls, and the audit ledger in your own Odoo database.
Tool results are wrapped so the model treats record content as untrusted DATA, never as instructions. This is a structural defense against prompt injection. No telemetry or usage data is sent to the module author.
Installation
- Drop the
kami_agentfolder into your Odoo addons path. - Update the Apps list and install KAMI Agent from the Apps menu.
- Go to Settings > KAMI Agent and enter your DeepSeek API key.
- Open KAMI Agent > Chat and start a conversation.
Requires Odoo 19. Depends on base, bus, project, web.
Frequently asked questions
sudo() is only reachable through a policy flag you must set explicitly, and even then it is always audited and approval-gated.LGPL-3 - Free & Open Source
Available now on the Odoo App Store.
Support: report issues on the GitHub repository linked on the app page.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Project (project)
• Discuss (mail) |
| Lines of code | 4048 |
| Technical Name |
kami_agent |
| License | LGPL-3 |
| Website | https://github.com/daovinhkhang |
Please log in to comment on this module
Really impressive work — one of the cleaner AI-agent architectures I've seen for Odoo.
The security-by-inheritance model is the right call: running every tool under the requesting user's own env so ir.model.access and ir.rule are enforced natively, with the policy layer only ever narrowing what the user could already do. Much safer than "sudo everything and reinvent permissions." The hardline floor blocking the call_method back-door around the write/unlink floors shows you thought about indirect attack paths too. The append-only audit ledger with undo-as-a-new-row is a lovely touch, and the prefix-cache discipline in the prompt builder (frozen prompt per turn, volatile time block at the tail) reflects real production thinking.
A couple of constructive notes for future updates:
Solid, well-documented module. Multi-provider support and a few built-in workflows would make it even stronger. Thanks for sharing this with the community.
Really impressive work — one of the cleaner AI-agent architectures I've seen for Odoo.
Thank you so much for the thoughtful feedback. I really appreciate you taking the time to look into the details, especially around the approval flow and effective risk handling.
Those are very valuable points, and I’ll definitely take them into account for version 2. Feedback like this helps me improve the module in a much more practical and production-ready direction.
Thanks again for trying it out and sharing such constructive thoughts.
Greate Agent
A great AI module for Odoo. It's easy to install, simple to use, and performs reliably. The architecture is clean and makes customization straightforward. I'm looking forward to more features, built-in agents, and workflows in future updates. It would also be great to see support for Odoo 16 and Odoo 17 in the future, allowing more users to benefit from this excellent module. Thanks to the author for this excellent work!
Greate Agent
Thank you so much
Solid module with excellent functionality. Looking forward to future updates!
Solid module with excellent functionality. Looking forward to future updates!
Thank you so much
Greate Agent
A great AI module for Odoo. It's easy to install, simple to use, and performs reliably. The architecture is clean and makes customization straightforward. I'm looking forward to more features, built-in agents, and workflows in future updates. It would also be great to see support for Odoo 16 and Odoo 17 in the future, allowing more users to benefit from this excellent module. Thanks to the author for this excellent work!
Greate Agent
A great AI module for Odoo. It's easy to install, simple to use, and performs reliably. The architecture is clean and makes customization straightforward. I'm looking forward to more features, built-in agents, and workflows in future updates. Thanks to the author for this excellent work!
A Great AI Module for Odoo
After installing and using this module, I can confidently say it's a valuable addition to the Odoo ecosystem. Integrating AI directly into an ERP system helps streamline daily operations, reduce manual work, and improve overall productivity.
What I like:
What I'm looking forward to in future releases:
Overall, this is a high-quality module and a great choice for anyone looking to bring AI capabilities into Odoo. Thanks to the author for developing and sharing such a useful product with the community. I'm looking forward to seeing how this module evolves in future releases