sem-copilot:可审计的结构方程建模引擎

前言

在 DeepSeek Harness(DSH)里做自动化研究管线时,结构方程建模(SEM)往往卡在两类问题上:一是商用图形软件算法不透明,审稿人难以从原始数据独立复现拟合指标;二是 GUI 拖拽建模难以嵌入脚本化流水线。下面介绍社区插件 sem-copilot,它把模型描述、拟合、路径图与报告导出收敛到一套以代码为主的 workflow,并可在 DSH 中作为独立插件安装使用。

这是什么

sem-copilot 由维护者 JiamingShi-JsPhys 发布,在 SkillHub 上归类为「模型推理」。项目自述为:A lightweight, transparent, and auditable Structural Equation Modeling (SEM) engine, acting as a sub-module of the Chelate Shell ecosystem;面向社会科学研究者及需要可复现、高透明建模流程的使用者。当前 GitHub 仓库星标为 0,package.json 标注版本 1.0.0,并以 standalone 子模块形式分发。

仓库在 package.json 中声明了 DSH 集成方式:通过 cordis.patch.yml 作为 bundle patch,属于 Chelate Shell 生态里可单独挂载的 Agent skill 套件之一,支持 Claude Code、WorkBuddy、OpenAI Codex 与 DeepSeek Harness 等平台的插件式安装。

核心功能

双引擎交叉校验

拟合时并行运行两套彼此独立的实现,用于交叉验证结果:

  • semopy 引擎:开源 SEM 估计器,README 列举其支持中介效应、多组不变性、分类 WLSMV、稳健 ML 标准误、修正指数与 bootstrap 置信区间等能力。
  • Pure Numpy 独立重推导:不依赖 semopy,从数据协方差矩阵重算连续型 SEM 的似然与拟合指标(CFI / TLI / RMSEA)。

两套实现分开维护,便于在代码层面核对计算过程。

建模与输出

按 README 的 Minimalist Experience 流程:

  1. 用自然语言或标准 lavaan 语法描述模型。
  2. 自动拟合并输出详细统计量。
  3. 可导出适合期刊投稿的矢量 PDF 路径图。

核心逻辑集中在单一 skill:skills/sem-copilot/,内含 fitting(engine)、绘图(plotter)与排版导出(exporter)等脚本。

运行模式

每次执行会检测当前目录(或 --root 指定目录)是否同时具备 material/ 与 process/(Chelate 生态结构):

  • 生态兼容模式:输出写入 <root>/process/{gates,figures,latex}/。
  • 独立模式:否则回落到当前目录下的 ./sem-copilot-output/,无需额外配置。

依赖与降级

Skill 必需依赖 可选依赖(缺失时功能降级)
sem-copilot semopy, pandas, numpy matplotlib, seaborn(绘图), sem_fit(交叉验证)

重依赖在隔离沙箱中运行;缺少依赖时 README 说明会优雅降级为 UNVERIFIED 并给出提示,而非整管线崩溃。

安装与启用

DSH 侧没有在本资料中出现形如 dsh plugin add github:… 的固定一行命令。官方 README 推荐的 Agent 原生方式是 从 Git 仓库安装插件(勿把 skills/ 下条目打散到全局 skill 目录,以免破坏微内核路由):

  1. 打开所用平台上的插件管理或自定义市场配置界面。
  2. 选择「从 Git 仓库安装」或「添加自定义市场」。
  3. 填写仓库地址并确认:
https://github.com/JiamingShi-JsPhys/sem-copilot

若由 AI 代装,README 要求明确要求:作为单一 plugin 安装,不要将 skills/ 内 skill 扁平化复制到全局 skill 目录。

插件目录页:https://www.skillhub.cn/plugins/JiamingShi-JsPhys/sem-copilot
源码:https://github.com/JiamingShi-JsPhys/sem-copilot

安装前请自行阅读仓库源码与许可证;插件在 DSH 进程权限下运行,涉及数据路径与统计输出时应对照本机构数据与合规要求。

典型用法

所有命令在插件根目录执行,README 要求不要写死绝对路径。将 <workspace> 换为你的工作区根路径。

1、模型拟合与 gate 检查

python skills/sem-copilot/scripts/run.py \
    --root <workspace> --action gate \
    --model "f1 =~ x1 + x2 + x3
f2 =~ y1 + y2 + y3
f2 ~ f1" \
    --data dataset.csv

2、路径图渲染

python skills/sem-copilot/scripts/run.py \
    --root <workspace> --action render \
    --model "..." --data dataset.csv

3、LaTeX 报告导出

python skills/sem-copilot/scripts/run.py \
    --root <workspace> --action export

经过上面的步骤,拟合结果、图形与 LaTeX 会按生态模式或独立模式写入对应输出目录。

适用场景与注意

适合谁:需要在脚本或智能体管线里做 SEM、强调可复现与双引擎核对、并希望导出路径图与 LaTeX 草稿的研究者与开发者。

免责声明(摘自 README):仓库为作者自动化研究工作流的辅助工具,非经同行评审的学术项目;生成报告与图形仅为「数据分析草稿」,学术责任由使用者及其单位承担。

已知局限(摘自 README):拟合指标基于 ML 估计与特定优化算法,双引擎校验可提高可信度,但仍需结合理论解释,不能替代人工审阅;双引擎结果在资料截断处另有说明(如非逐字节一致等边界),使用前请阅读仓库完整 Known Limitations 一节。

SkillHub 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 理念是「一切皆插件」,sem-copilot 是其中面向 SEM 模型推理的一个选项。

结尾

sem-copilot 把结构方程建模收成单一 skill:自然语言或 lavaan 语法进、双引擎拟合与 gate 出、再可选渲染路径图与导出 LaTeX。在 DSH 中通过 Git 仓库 URL 以完整插件形态安装即可接入。进一步说明与更新以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/JiamingShi-JsPhys/sem-copilot
  • GitHub:https://github.com/JiamingShi-JsPhys/sem-copilot
羽毛球分组比赛记分
小程序二维码

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

小夜