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 会产生开销。
羽毛球分组比赛记分
小程序二维码

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

小夜