Skip to content

Releases

v0.2.0 — 可选执行:代码暂存(写入命令框,手动回车)

Choose a tag to compare

@Ezerruier Ezerruier released this 30 Oct 05:28

新增“可选执行”通道:把单行 MATLAB 代码写入已打开的命令窗口,但是否执行由你按 Enter 决定。

新功能

  • matlab_stage_code 工具:将一行 MATLAB 代码写入已打开的 Command Window 输入行,从不自动执行;你在 MATLAB 中检查后按 Enter 执行,或按 Esc 丢弃。
  • 安全校验:拒绝空串、多行、NUL、超过 8000 字符(多行粘贴可能被执行);从不发送 Enter/Return;写入前通过 UI Automation 校验焦点确在命令窗口,写入后读回校验;命令窗口已有未执行文本或无法聚焦时拒绝写入。
  • 通道说明:Windows COM(MATLAB.Application)在本机未注册,且 COM 无法连接已打开的桌面会话、Execute() 是立即执行,因此不采用 COM;实际采用“Ctrl+0 聚焦 + 剪贴板 Ctrl+V”的键盘级写入,全程不回车。
  • 配套脚本 scripts/matlab-stage-code.ps1(PowerShell 5.1,ASCII-only),输出机器可读 JSON 状态。

变更

  • 版本 0.2.0;files 同时包含捕获与暂存两个 PowerShell 脚本。
  • README / docs/DESIGN 增加“代码暂存(可选执行)”章节与示意图说明。
  • Host 单元测试 27 → 35 条(新增暂存参数校验、argv、JSON 状态解析、错误映射、渲染断言)。

验证

  • 真实 Windows 11 + MATLAB R2026a + DPARSF/SPM QC 会话:matlab_stage_code 成功写入 disp('...'),命令窗口可见、未执行;随后 Ctrl+Z 撤回恢复空提示符;多行输入被明确拒绝。
  • GitHub Actions CI:Node 22 与 Node 24 全部通过。

已知限制

  • 暂存会把 MATLAB 窗口切到前台;命令窗口已有未执行输入时会拒绝(避免混入你的文本)。
  • 暂存依赖 MATLAB 桌面 Ctrl+0 快捷键与 CEF UI Automation;窗口/快捷键异常时以 focus-failed 拒绝,不会盲目粘贴。
  • 执行与结果判断由用户完成;Agent 只能在你确认后用只读工具读取输出。

MIT License。详见 README 与 docs/DESIGN.md。

v0.1.0 — MATLAB 实时反馈(首个公开版本)

Choose a tag to compare

@Ezerruier Ezerruier released this 30 Oct 05:17

把 MATLAB 正在显示的 QC 界面(窗口截图)与命令行窗口文本带进 DeepSeek Harness 对话。

功能

  • matlab_snapshot:抓取所有可见 MATLAB 窗口,截图作为内嵌图片返回,同时给出窗口清单、命令行窗口文本尾部与 warnings/错误摘要。
  • matlab_console:只读命令行窗口文本(lines 10–400),不截图、更快。
  • 输入框左侧「MATLAB 快照」按钮:向输入框插入预置提示词,补充问题后发送。
  • 只读捕获:不点击、不键入、不抢焦点、不修改 MATLAB/SPM/DPABI 数据;不需要官方 MATLAB MCP,不支持联网,零第三方依赖。

安装

  1. 克隆本仓库;
  2. 在 DeepSeek Harness 中把仓库目录作为 bundle 安装(插件管理器 install_bundle,target 指向本目录);
  3. 工具 matlab_snapshot / matlab_console 与输入框按钮即时生效,无需重启。

环境要求

  • Windows 10/11,Windows PowerShell 5.1(系统自带);
  • MATLAB R2025a 及以上(CEF 桌面才能读取文本;更老版本仅截图);
  • DeepSeek Harness 0.2.1-rc 系列(验证版本:0.2.1-rc.3)。

质量验证

  • GitHub Actions CI:Node 22/24 语法检查、JSON 校验、27/27 单元测试;
  • 真实环境端到端验证:Windows 11 + MATLAB R2026a + DPARSF/SPM QC,只读捕获到窗口截图、QC 控件文本与选中值、命令行日志与 warnings。

已知限制

  • 仅 Windows;最小化窗口不截图(仍读取文本);MATLAB 自身会对超长行截断;
  • 截图像素包含屏幕内容(可能含研究数据/受试者编号/本地路径),分享前请自行脱敏;
  • 单次捕获通常 <1 秒,MATLAB 繁忙时可能数秒,工具超时 30 秒。

MIT License。详见 README 与 docs/DESIGN.md。