ggb-plugins-dsh:把平面几何题落成可验证的 GeoGebra 文件

前言

在 DSH 里让智能体「画个图」时,常见做法是生成脚本或静态图,本地很难复现、也很难对照题目条件做自动核对。GeoGebra 本身是交互式几何环境,但要把文字或图片里的题面转成原生 .ggb、并在交付前跑一遍构造与条件检查,需要一套本地 CLI 和与宿主对齐的 Skill 规则。ggb-plugins-dsh 是 Jack7510 发布的 DSH 客户端插件(npm 包 ggb-plugins-dsh 0.8.5),把「题面 → 原生代数/CAS 程序 → 本地执行 → 验证 → 交付」串成一条流水线;源码与 MIT 许可证见 ggb-plugins 仓库的 dsh/ 目录。

这是什么

一句话:ggb-plugins-dsh 让 Codex 或 DeepSeek Harness 读懂二维数学问题(中英文、文本或附图),写出 GeoGebra 原生程序,在本地无头运行、逐条核对题目条件,导出 .ggb 并附带验证报告与截图。

维护者:Jack7510。社区目录页:skillhub.cn/plugins/Jack7510/ggb-plugins-dsh。发行包仓库:github.com/Jack7510/ggb-plugins-dsh(README 注明其为 DSH 包 ggb-plugins-dsh 的生成产物,问题与源码以主仓库为准)。

核心功能

下面介绍插件在资料中明确描述的能力边界。

题面到交付物

宿主智能体分析问题、编写 GeoGebra 原生 Algebra/CAS 程序;插件在本地执行,验证每一条已声明条件,导出 .ggb,重新加载后再交付,并输出验证报告与预览图。智能体按偏好与上下文选择工作语言,保留原题文字,不凭空编造答案,只根据条件构造。

成功一次运行得到的文件

交付目录位于 <outputDir>/<title>/delivery/。<title> 来自题面,也用作 GGB 文件名;重名时追加 -2、-3,不覆盖旧交付。

文件 用途
<title>.ggb 以题面命名的 GeoGebra 文件,可继续编辑
verification.json 各条件的构造、重载与交互采样结果
preview.png 交付配置的截图
request.json、manifest.json 归档的输入与交付清单

报告说明跑了哪些检查、有限交互采样覆盖到哪里,不声称一般性证明。

验证与失败策略

构造、重载与自动检查在无头环境下完成,不出现中间窗口。某条件失败或无法验证会阻断交付,而不是跳过;失败保留诊断信息便于下一轮修正。必要信息缺失或含糊时,智能体先提问;未给坐标时会说明所选初始配置。行为边界由 bundled Skill(skills/ggb-construction/SKILL.md)定义。

交互预览

预览加载同一份交付 GGB,支持可拖拽点、参数与缩放,不写回交付目录。预览进程在页面加载后退出,窗口仍可用;再次执行 preview 会重载。自动化检查可用 --headless。

直接调用 CLI

宿主会代你调用 CLI,其他本地工具也可驱动:

node <installed-plugin>/dist/src/cli.js doctor
node <installed-plugin>/dist/src/cli.js inspect --ggb /absolute/base.ggb
node <installed-plugin>/dist/src/cli.js build --request /absolute/request.json
node <installed-plugin>/dist/src/cli.js preview --delivery /absolute/delivery

在 request 中声明 base 可改已有 GGB 的颜色、线型、填充、可见性,增对象或更新独立值与坐标;inspect 列出对象、当前值以及 request 需声明的摘要。不支持删除、重命名与视图变更。请求编写见主仓库 capability contract(中文)。

范围与限制

支持:二维几何、函数、方程、微积分、列表、矩阵与统计,中英文。不支持:三维构造、无法按协议声明的外部 GGB 续写、一般数学证明。数值采样与未解析的 CAS 结果是证据,不是证明。GeoGebra 另有独立许可与署名要求,见包内 THIRD_PARTY_NOTICES.md。

环境与依赖

要求 原因
Codex 或 DeepSeek Harness (DSH) 解读题面并编写 GeoGebra 原生程序
Node.js 22+ 与 pnpm 11 运行本地 CLI 与准备依赖
curl、unzip 下载并解压固定版本的 GeoGebra 运行时
Google Chrome 或 Microsoft Edge 验证阶段无头驱动小程序

不需要额外模型 API Key。安装需联网;GeoGebra 与浏览器不随包分发。package.json 声明 Node ^22.19.0 || >=24.0.0,DSH >=0.2.1-rc.2 <0.2.2。

安装与启用

当前发行版本为 v0.8.5,包含 Codex ZIP 与 DSH npm 包。DSH 侧详细步骤见包内 INSTALL.md(中文);桌面用户也可按该文档「用一句对话安装桌面应用」在 DSH 对话里完成安装。

先做插件安装,再做运行时准备(setup-plugin 会报告将使用的浏览器),最后用 doctor 做就绪检查。

官方 DSH 安装命令:

profile=desktop   # use web for the DSH Discover or Web host
dsh plugin --profile "$profile" add ggb-plugins-dsh@0.8.5
node ~/.dsh/profiles/$profile/node_modules/ggb-plugins-dsh/scripts/setup-plugin.mjs

在 DSH 里浏览插件时,可开启 Experimental plugins → Custom plugin markets,在 Discover → Add index source 添加:

https://cdn.jsdelivr.net/gh/Jack7510/ggb-plugins@main/docs/market/index.json

Codex 与 DSH 客户端独立安装,共享同一套执行与验证流水线。

典型用法

启用插件后,新开宿主会话,用自然语言描述题目;可附图。

示例 prompt(来自 README):

Use GeoGebra to construct triangle ABC, mark the midpoint M of AB, and connect CM. Colour the median red. Drag A to verify that the midpoint and median stay linked, save the file, and open the interactive preview.

经上面的步骤,构造、重载与各项自动检查在无头模式下完成;交付成功后可在交付目录打开 .ggb 与 verification.json,需要时用 CLI 的 preview 做交互预览。

适用场景与注意

适合需要在 DSH 里把平面数学题落成可编辑、可拖拽的 GeoGebra 课件,且希望交付前自动核对题面条件的开发者或教研场景。

插件以当前 DSH 进程的权限在本地运行,会下载 GeoGebra 运行时并驱动本机 Chrome 或 Edge;安装前应阅读 ggb-plugins 源码与 MIT 许可证,确认符合你的安全与合规要求。DeepSeek Harness 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。

链接

  • 目录页:https://www.skillhub.cn/plugins/Jack7510/ggb-plugins-dsh
  • GitHub 发行包:https://github.com/Jack7510/ggb-plugins-dsh
  • 源码与 Issue:https://github.com/Jack7510/ggb-plugins(dsh/)
羽毛球分组比赛记分
小程序二维码

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

小夜