dsh-codex-media:本地 OpenAI Codex 驅動的圖像與文檔分析工具

前言

在 DeepSeek Harness (DSH) 中,純文本模型無法通過原生附件通道接收圖片,DSH 會直接拒絕包含圖片的消息。工程上的通用做法是傳遞文件路徑,由一個獨立的工具負責讀取並分析文件。dsh-codex-media 正是這一鏈條中的“分析端”工具。它只負責讀取路徑,不包含上傳邏輯,因此可以與 dsh-drop-to-path 配合使用,讓文本模型也能處理圖片和文檔。

插件簡介

該插件提供圖像和文檔分析能力,由本地 OpenAI Codex CLI 驅動,不依賴第三方運行時庫(僅使用 Node.js 22+ 內置特性)。

核心功能:
- analyze_image:對本地圖片進行描述或回答問題(支持 PNG, JPEG, WebP, GIF)。通過 codex exec --image 原生掛載圖片。
- analyze_document:分析本地文檔(PDF, Office, RTF 或文本格式)或回答針對性問題。模型僅返回答案,避免將提取的文本填充到 Agent 的上下文中。
- generate_image:根據文本提示生成圖片並保存到本地文件。默認使用 Hermes Agent One-shot 模式(無需 API Key),也支持 OpenAI Images API。

安裝與依賴

安裝前需滿足以下條件:
- Node.js >= 22
- 依賴插件 dsh-drop-to-path(MIT 許可證),該插件負責處理文件的上傳和路徑生成。

安裝步驟:

  1. 先安裝上傳依賴:
    dsh plugin --profile web add github:loudMore/dsh-drop-to-path
  1. 再安裝分析工具:
    dsh plugin --profile web add github:binsarjr/dsh-codex-media
  1. 重啓 dsh web 並刷新頁面。

核心功能與傳輸方式

插件通過多種傳輸方式調用底層的 Codex 引擎。

支持的傳輸方式:
- cli(默認用於分析):啓動 codex exec --json,解析 JSONL 流。依賴 Codex CLI 的認證(ChatGPT 登錄或 OPENAI_API_KEY)。
- hermes(默認用於生成):啓動 hermes -z。依賴 Hermes Agent 的認證,可使用 ChatGPT 登錄,無需 API Key。
- api-compatible:直接調用 HTTP chat/completions 接口,文件以 base64 編碼發送。需配置 CODEX_ANALYSIS_API_KEY 和 CODEX_ANALYSIS_BASE_URL。
- api-responses:調用官方 OpenAI Responses API,支持 input_file 和 input_image。需配置相應的 API Key 和 Base URL。

配置與使用示例

插件在運行時通過環境變量控制行爲。

關鍵環境變量:
- CODEX_ANALYSIS_TRANSPORT:傳輸方式,默認 cli。
- CODEX_ANALYSIS_API_KEY / CODEX_ANALYSIS_BASE_URL:HTTP 傳輸所需的密鑰和地址。
- CODEX_ANALYSIS_IMAGE_MODELS / CODEX_ANALYSIS_DOCUMENT_MODELS:視覺模型和文檔模型的回退順序。

本地測試示例:
在項目目錄下執行以下命令驗證功能:

npm run smoke:image      # 測試圖片分析
npm run smoke:document   # 測試文檔分析
npm run smoke:generate   # 測試圖片生成

注意事項

  • 權限與安全:插件以當前 DSH 進程的權限運行。每次調用前都會進行嚴格驗證,包括檢查路徑非空、擴展名白名單、文件大小限制以及 PDF 的魔數簽名。
  • 依賴關係:插件本身不包含上傳代碼,必須配合 dsh-drop-to-path 使用。
  • 代碼審查:作爲開源插件,安裝前建議查閱源碼與許可證(MIT)。

總結

dsh-codex-media 將本地 Codex 能力封裝爲 DSH 工具,解決了文本模型無法直接處理多媒體的問題。通過配置不同的傳輸方式,開發者可以在無需 API Key 的情況下使用 CLI/Hermes,或直接對接 OpenAI 兼容接口進行獨立部署。

查看插件目錄
訪問 GitHub 倉庫

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

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

小夜