DeepSeek Harness Odoo 插件介紹

前言

DeepSeek Harness 採用插件化架構,允許開發者擴展能力以對接不同系統。在對接企業級 ERP 系統(如 Odoo)時,常見的場景是讓智能體檢查業務數據(聯繫人、報價單、銷售訂單、發票等),同時必須確保不改變系統狀態。maxmilian/dsh-odoo 插件旨在解決這一需求,它提供了一套安全的只讀工具集,並包含一個可選的受限草稿創建功能。

這是什麼

maxmilian/dsh-odoo 是一個開源的 DeepSeek Harness 插件,用於訪問 Odoo 外部 API。該插件由 maxmilian 維護,遵循 MIT 許可證。它的核心價值在於讓代理在默認情況下只讀訪問 Odoo 數據,僅當用戶明確啓用時才提供極其受限的草稿創建能力。

核心功能

插件提供以下工具:

  1. odoo_server_info
    讀取服務器版本和認證用戶 ID。

  2. odoo_describe_model
    列出允許列表中模型的可查詢字段。

  3. odoo_search_read
    在允許列表中的模型上運行受限的 search_read 操作。

  4. odoo_create_draft
    創建一條草稿記錄。此工具默認不註冊,僅在配置項 allowWrite 爲 true 時可用。

安裝與依賴

安裝該插件需要安裝 Bun。

bun install

運行環境要求:
* Node.js 22.19 或更高版本(22.x 系列)或 Node.js 24 或更高版本
* Bun 1.3.5 或更高版本

配置

插件通過環境變量進行配置,以避免敏感信息泄露。

export ODOO_URL='https://odoo.example.com'
export ODOO_DB='production'
export ODOO_USERNAME='integration@example.com'
export ODOO_API_KEY='your-api-key'

關鍵配置項說明:
* allowWrite:默認爲 false。設爲 true 時,odoo_create_draft 工具纔會被註冊。
* defaultLimit:默認值爲 20,範圍 1-100。
* maxResponseBytes:硬性字節限制,默認值爲 1000000(1MB),範圍 1-52428800。

典型用法

該插件使用 JSON-RPC 2.0 傳輸協議,請求端點爲 POST {baseUrl}/jsonrpc。使用時,請先調用 odoo_describe_model 確認目標模型在當前實例中存在,然後再使用 odoo_search_read 進行查詢。

適用場景與注意

  • 適用場景:適用於需要僅檢查 Odoo 業務數據而不進行修改的場景,如數據審計、狀態分析等。
  • 安全限制:
    • 默認爲只讀,不存在 write、unlink 或工作流動作。
    • 查詢模型被限制在 14 個允許列表模型中。
    • 不支持關係遍歷,域字段名稱不能包含點號。
    • 不支持二進制字段。
    • 響應有字節上限和數量上限限制。
  • 已知限制:
    • 僅測試了 Odoo 18。Odoo 19 未測試,Odoo Online 和 Odoo.sh 也未測試。
    • 草稿創建僅支持 sale.order,且固定爲 draft 狀態。

結語

maxmilian/dsh-odoo 提供了在 DeepSeek Harness 中安全訪問 Odoo 數據的基礎能力。如果你需要在智能體中對接 Odoo 且對安全性要求較高,可以參考此插件實現數據讀取。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜