SymPy-Calculate:DeepSeek Harness 的本地 SymPy 工具預設

前言

DeepSeek Harness 提倡“一切皆插件”的擴展方式。對於需要複雜本地計算的場景,直接調用遠程 API 往往不夠用。SymPy-Calculate 提供了一個基於 minimal 預設的本地工具,讓 Agent 能夠直接在宿主機上運行 SymPy 代碼。

插件介紹

  • 名稱:SymPy-Calculate
  • 維護者:11350613
  • 類別:工作流
  • 許可證:MIT

該插件增加了一個無狀態工具 sympy_calculate。它會在本地 SymPy 開發檢出目錄中,針對一個完整的 Python 腳本啓動新進程進行計算。

核心能力

  • 添加無狀態工具 sympy_calculate。
  • 在本地 SymPy 檢出中運行完整的 Python 腳本。
  • 每次調用有 120 秒的超時限制。
  • stdout 和 stderr 的輸出各限制在 2,000,000 字符。

環境要求

  • DeepSeek Harness:0.2.0-rc.2
  • Node.js:^22.19.0 或 >=24.0.0
  • SymPy:本地檢出(默認路徑爲 ~/sympy-dev/sympy)
  • Python:3.x,需支持 venv 和 pip
  • 平臺:已在 Ubuntu 24.04.4 LTS 上測試通過。

安裝與配置

安裝前需先配置本地 SymPy 環境。以下是設置步驟:

  1. 安裝 venv 工具(如果缺失):
    sudo apt install -y python3-venv python3-pip
  1. 創建 SymPy 檢出目錄並克隆倉庫:
    mkdir -p ~/sympy-dev
    git clone https://github.com/sympy/sympy.git ~/sympy-dev/sympy
  1. 創建虛擬環境並安裝 SymPy:
    python3 -m venv ~/sympy-dev/sympy/venv
    ~/sympy-dev/sympy/venv/bin/python -m pip install -e ~/sympy-dev/sympy
    echo 'venv/' >> ~/sympy-dev/sympy/.git/info/exclude
  1. (可選)配置環境變量。默認使用 ~/sympy-dev/sympy 作爲根目錄,解釋器按優先級使用 venv/bin/python 或 python3。若需自定義,可在啓動 Harness 的環境變量中設置 SYMPY_ROOT 和 SYMPY_PYTHON。

配置完成後,安裝 DSH 插件。該插件需要安裝在 web profile 中:

npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add https://codeload.github.com/11350613/SymPy-Calculate/tar.gz/v1.0.4

使用示例

sympy_calculate 接受一個包含完整 Python 腳本的 JSON 對象。每次調用都會啓動一個新的解釋器進程,因此建議將相關的批量計算合併到一個腳本中。

輸入:

{
  "code": "from sympy import *\n\nx = symbols('x')\nprint(integrate(x**2 / (1 + x**4), (x, -oo, oo)))"
}

輸出:

sqrt(2)*pi/2

注意事項

  • 安全:sympy_calculate 以當前用戶的權限執行任意 Python 代碼,並繼承環境變量。它未被沙盒化。請僅在信任的模型和權限策略會話中使用。
  • 平臺:該插件在 Ubuntu 24.04.4 LTS 上測試通過,其他平臺可能存在兼容性問題。
  • 輸出處理:stdout 和 stderr 會合並輸出。如果腳本的退出碼非零,工具會將其視爲錯誤。
  • 性能:由於每次調用都啓動新的進程,導入 SymPy 會產生開銷。
羽毛球分组比赛记分
小程序二维码

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

小夜