Loading...
Loading...
Compare original and translation side by side
@marcfargas/odoo-client@marcfargas/odoo-clientimport { createClient } from '@marcfargas/odoo-client';
const client = await createClient(); // reads ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD
// Core CRUD — directly on client
const partners = await client.searchRead('res.partner', [['is_company', '=', true]], {
fields: ['name', 'email'],
limit: 10,
});
// Chatter — via client.mail service accessor
await client.mail.postInternalNote('crm.lead', 42, '<p>Called customer.</p>');
await client.mail.postOpenMessage('res.partner', 7, 'Order shipped.');
// Module management — via client.modules accessor
if (await client.modules.isModuleInstalled('sale')) { /* ... */ }import { createClient } from '@marcfargas/odoo-client';
const client = await createClient(); // 读取ODOO_URL、ODOO_DB、ODOO_USER、ODOO_PASSWORD环境变量
// 核心CRUD操作 — 直接通过客户端执行
const partners = await client.searchRead('res.partner', [['is_company', '=', true]], {
fields: ['name', 'email'],
limit: 10,
});
// 消息框(Chatter) — 通过client.mail服务访问器
await client.mail.postInternalNote('crm.lead', 42, '<p>已致电客户。</p>');
await client.mail.postOpenMessage('res.partner', 7, '订单已发货。');
// 模块管理 — 通过client.modules访问器
if (await client.modules.isModuleInstalled('sale')) { /* ... */ }| Accessor | Description | Skill doc |
|---|---|---|
| Post notes & messages on chatter | |
| Install, uninstall, check modules | |
| Clock in/out, presence tracking | |
| Timer start/stop, time logging | |
searchReadcreatewriteunlinkclient| 访问器 | 描述 | Skill文档 |
|---|---|---|
| 在消息框中发布笔记和消息 | |
| 安装、卸载、检查模块 | |
| 签到/签退、出勤追踪 | |
| 计时器启动/停止、工时记录 | |
searchReadcreatewriteunlinkclientbase/connection.mdcreateClient()base/field-types.mdbase/domains.mdbase/connection.mdcreateClient()base/field-types.mdbase/domains.mdbase/{name}.md| Module | Description |
|---|---|
| introspection | Discover models & fields |
| crud | Create, read, update, delete patterns |
| search | Search & filtering patterns |
| properties | Dynamic user-defined fields |
| modules | Module lifecycle management |
| skill-generation | How to create new skills |
base/{name}.md| 模块 | 描述 |
|---|---|
| introspection | 探查模型和字段 |
| crud | 增删改查(CRUD)模式 |
| search | 搜索与过滤模式 |
| properties | 动态用户定义字段 |
| modules | 模块生命周期管理 |
| skill-generation | 如何创建新Skill |
mail/{name}.md| Module | Description |
|---|---|
| chatter | Post messages and notes on records ( |
| activities | Schedule and manage activities/tasks |
| discuss | Chat channels and direct messages |
mailmail/{name}.md| 模块 | 描述 |
|---|---|
| chatter | 在记录上发布消息和笔记( |
| activities | 安排和管理活动/任务 |
| discuss | 聊天频道和直接消息 |
mailCHANGES_V{XX}.md| Document | Version | Key Changes |
|---|---|---|
| Odoo 17 | mail.channel → discuss.channel, read tracking |
CHANGES_V{XX}.md| 文档 | 版本 | 主要变更 |
|---|---|---|
| Odoo 17 | mail.channel → discuss.channel、阅读追踪 |
client.modules.isModuleInstalled()| Skill | Path | Required Modules | Description |
|---|---|---|---|
| accounting | | | Accounting patterns, cashflow, reconciliation, bank statements |
| attendance | | | Clock in/out, presence tracking ( |
| timesheets | | | Timer start/stop, time logging on projects ( |
| mis-builder | | | MIS Builder — reading, computing, exporting reports |
| mis-builder-dev | | | MIS Builder — creating & editing report templates, expression language, styling |
client.modules.isModuleInstalled()| Skill | 路径 | 所需模块 | 描述 |
|---|---|---|---|
| accounting | | | 会计模式、现金流、对账、银行对账单 |
| attendance | | | 签到/签退、出勤追踪( |
| timesheets | | | 计时器启动/停止、项目工时记录( |
| mis-builder | | | MIS Builder — 读取、计算、导出报表 |
| mis-builder-dev | | | MIS Builder — 创建和编辑报表模板、表达式语言、样式设置 |
base/introspection.mdskills/{model-action}.mdbase/skill-generation.mdbase/introspection.mdbase/skill-generation.mdskills/{model-action}.md