• v0.4.4 2c415ca423

    wangd released this 2026-09-10 16:36:28 +08:00 | 1 commits to main since this release

    Windows 版这一版有两件事:界面搬进了自己的窗口,以及双击真的能打开

    Windows:现在是一个软件,不是一个浏览器页面

    0.4.3 发出去后第一条反馈是「为什么装完是一个浏览器页面?不是一个软件吗?」——
    这个问题是对的。0.4.3 的壳只打印地址、拉起默认浏览器。

    • 界面显示在 ScienceMate 自己的窗口里(WebView2),不再打开浏览器。
    • 修:双击启动 2 秒自己退。0.4.4 的第一个包过了全部自检,装好双击却
      2.08 秒自己退出(exit 0,一个字都不留)。原因是壳把「我没有控制台」读成了
      「上游让我收摊」;而自检一直是用管道起壳的 —— 父进程攥着管道,壳的 stdin
      永远不 EOF,同事没有那个父进程。现在自检按双击那条路起壳,并要求它起来
      之后还得活着。
    • 壳出任何事都会在 %LOCALAPPDATA%\afs\logs\shell.log 留下话(窗口应用没有
      控制台,上面那个 bug 能活到发布前一刻就是因为它退出时一个字都留不下)。

    已经装了 0.4.3 的:这一版必须重新安装,点「现在更新」不够

    应用里那个「有新版本 · 现在更新」是真的能用的(2026-09-10 在 Windows 上真机验过整条链:
    检测 → 下载 → 验签 → 暂存 → 重启,版本号确实从 0.4.3 跳到 0.4.4)。但它只换研究流程
    代码和界面,不换应用外壳本身。
    而这一版的全部价值(自己的窗口、双击不闪退)都在外壳里。

    所以:

    • Windows:重新下 ScienceMate-Setup.exe 双击。装之前请先关掉 ScienceMate ——
      开着的时候装会失败(0.4.4 及更早的安装器在这种情况下还会把已装好的那份弄坏,下一版修)。
    • macOScurl -fsSL https://desktop-9el2944.taile9f15e.ts.net/wangd/sciencemate/raw/branch/main/install.sh | sh 就行,它会自己请正在运行的应用退出。

    以后只改流程代码或界面的版本,点一下「现在更新」就升完了,不用重装。

    这一版在真机上验过什么

    一台 Windows 11 Pro(非管理员账户)上,用同事会走的那条路:

    证据
    装得上 Setup.exe 装到 %LOCALAPPDATA%\Programs\ScienceMate,rc=0
    双击起得来 无控制台、三个句柄都不给(=双击);窗口 title='ScienceMate'、1280×860;45 秒后仍在运行
    界面真画出来了 PrintWindow 抓到真图:侧栏+资讯页在窗口里;日志 WEBVIEW READY 152.0.4191.66
    发一条消息拿到回复 新建课题发「你好…」→ 61 字回复;同一会话第二条 → 62 字回复
    沙箱里真跑模型命令 安装位置经沙箱跑通载荷:SANDBOX-PAYLOAD-OK
    自检 doctor 十项齐、/health/ready 200、GET / 是界面 HTML

    回复有多快,说实话:同一台机器、同一个模型后端,三次实测首字
    213 秒 / 203 秒 / 64 秒 —— 波动很大。账本 .harness/llm_cost.jsonl 里每轮只有一次
    orchestrator 调用、输入约 35k token,落账时刻正好是首字到达时刻,所以时间几乎全在
    模型端,不是安装包的问题。换更快的模型后端会直接改善这个数。

    (先前这里只写了「213 秒」——那是三次里最慢的一次,拿它当典型值是以偏概全,已更正。)

    已知问题(都是真机上撞到的,没修完就写在这里)

    • submit_job 起的作业退出码 64 —— 长跑作业这条路还没通(属于节点那一侧,等 owner)。
    • 无人值守跑不了:Windows 上守不住 net_deny / disk_cap 两条不变量,所以
      没人看着的时候不会替你继续跑。有人看着的交互式研究不受影响。
    • 会话标题自动命名在 Windows 上失败 → 标题保持默认名。不影响回复本身;
      这一版还查不出真因(那条失败把子进程的 stderr 丢掉了),下一版先让它可查。
    • 每轮首字 1~3.5 分钟不等(实测 64s / 203s / 213s),见上。

    校验

    e85a38339b5d795849f2a960e1c3e621cb09bc0985644f8e634723c20df78f0f  ScienceMate-0.4.4-arm64.dmg
    a085bbd81166fc30830874dca1677fc0a0466b64a6378f5b951b8a9e71331915  ScienceMate-Setup.exe
    81d6c6bd4381cee9949c41810abb167b47029e6bea6b3a32df756b65059e8bba  manifest.json
    e4513440cc527c4a5fa8493642ee199150a64ca38463f17ef14b697b4782ed06  manifest.json.sig
    9a9eb6a0800cfe153d136fecce65563b867b07c42f97fffe65df9ae7d40330aa  payload-0.4.4.tar.gz
    

    SHA256SUMS 覆盖发布页上每一个会被下载的文件,shasum -c SHA256SUMS 可自核。
    这个 Setup.exe 的哈希与打包那台机器上的产物逐字一致,且打包那台的工作树与 main
    逐字一致 —— 发出去的就是验过的那一份。)

    怎么装

    • Windows:下 ScienceMate-Setup.exe,双击。装到 %LOCALAPPDATA%\Programs\ScienceMate
      不需要管理员,装完自己启动。
    • macOScurl -fsSL https://desktop-9el2944.taile9f15e.ts.net/wangd/sciencemate/raw/branch/main/install.sh | sh
    Downloads
  • v0.4.3 fc312e4f83

    wangd released this 2026-09-10 13:48:34 +08:00 | 2 commits to main since this release

    Windows 版这一版能做什么(每条都有真机输出)

    在一台非管理员 Windows 11 上,走下面这个 ScienceMate-Setup.exe

    做什么 实测
    解到 %LOCALAPPDATA%\Programs\ScienceMate,19 秒,不要管理员
    READY 5 秒,/health/ready 200,界面出得来
    对话 发一条消息 → 回复,8.8 秒;问「用 python 算 2 的 10 次方」→ 走工具真算出 1024
    跑课题 蒙特卡洛估 π:5 档样本量 × 10 重复真跑完
    出 PDF 4 页中文报告:结果表 + 双对数收敛图(叠 1/√N 理论线)+ 结论

    课题的真数值:N=10⁷ → π = 3.14170188(偏差 1.09e-4);经验收敛斜率 −0.5328(理论 −0.5),R² = 0.9846。tectonic(LaTeX)和 matplotlib 两条出 PDF 的路都验过。

    0.4.2 → 0.4.3 修了什么

    • #936 daemonize() 在 Windows 上真的脱开 —— 受管作业(submit_job)能提交了
    • #935 装完自检现在会在安装位置真跑一条模型命令并断言它有输出(打包器自己验,不再靠人)
    • #934 命令面地址由后端定下来,删掉「谁告诉谁端口」那一整套(净删 200 行)

    ⚠️ 还不能做什么

    需要跑「受管作业」的课题还走不到底。 submit_job 提交成功,但作业本身退出码 64 —— 框架生成的作业脚本是纯 POSIX 形状(macOS dscl + Linux cgroup + 裸 python),在 Windows 上跑不起来(详见 issue #943)。撞上时你会拿到一份如实的**「材料不足报告」**,而不是编出来的结果。

    不能无人值守连续跑。 Windows 上守不住「断网」这条边界,所以一轮结束后不会自动开下一轮(issue #931 记了一条可能的出路)。自主/连续档的决策点仍会自动放行。

    • Windows:下 ScienceMate-Setup.exe 双击
    • macOScurl -fsSL https://desktop-9el2944.taile9f15e.ts.net/wangd/sciencemate/raw/branch/main/install.sh | sh
    Downloads
  • v0.4.2 99b956f35a

    wangd released this 2026-09-10 01:54:52 +08:00 | 3 commits to main since this release

    Windows 版这次是真能用了

    之前 v0.4.0 在 Windows 上发一条消息就废,多位同事反馈「完全没法用」。真身是四个缺陷,全部修完并在真机上验过:

    # 症状 真身
    #908 每一轮 [WinError 5] 拒绝访问 壳持的 Job 不许 breakaway,而后端 spawn worker 时偏要 breakaway
    #905 「延迟超高」(6–16 秒) 仓库 git I/O 压在事件循环上
    #926 发完消息一分钟没反应,然后没了 worker 绑好端口却没人知道端口是几号(注册表握手成死结);60 秒后它的「没人看」看门狗把自己收摊
    #928 每个会话在 init 就崩 会话路径 255 字符 > Windows 建目录上限 248

    真机验收(非管理员 Windows 11,走的是下面这个 ScienceMate-Setup.exe):装到 %LOCALAPPDATA%\Programs\ScienceMate(19 秒)→ 双击起来 READY(5 秒)→ 建项目发一条消息 → 拿到回复(8.8 秒);再问「用 python 算一下 2 的 10 次方」→ 走工具真算出 1024;关掉应用后台进程零残留。

    • Windows:下 ScienceMate-Setup.exe 双击。装到 %LOCALAPPDATA%\Programs\ScienceMate,不需要管理员。
    • macOScurl -fsSL https://desktop-9el2944.taile9f15e.ts.net/wangd/sciencemate/raw/branch/main/install.sh | sh

    从 0.4.0 升上来的人注意

    0.4.0 时代建的会话在新版里会显示「worktree 未初始化」—— 那些会话本来就一条消息都没跑通过(全在 init 就死了),新建一个会话即可项目本身不受影响,还在。

    这一版能做什么、还不能做什么(2026-09-10 真机实测)

    :装、起、对话(发一条消息拿到回复)、出 PDF 的引擎(tectonic,含中文字体,离线也能出)。

    还不能submit_job(把实验当正式作业提交、后台脱离终端跑)。它要 daemonize(),而那个函数在 Windows 上如实抛 NotImplementedError —— 脱离终端在 Windows 要走 DETACHED_PROCESS + 命名 Job,还没实现。模型走这条路会被明确挡住并如实报告。

    尚未验完:需要真算东西的完整课题(experiment → analysis → writing → 出带数据的 PDF)。正在跑一趟干净的验收,结论出来会更新这里。

    修订记录:本节先前有一句「装好的应用里模型的每一条执行命令都会失败」——那是错的,是我的探针改坏了测试机上的 ACL 造成的,不是这个版本的缺陷;已撤回并致歉。

    Downloads
  • v0.4.0 b8e7e6950d

    wangd released this 2026-09-08 16:48:42 +08:00 | 9 commits to main since this release

    ScienceMate 0.4.0

    Downloads
  • v0.3.0 fe689a0577

    wangd released this 2026-09-08 15:25:26 +08:00 | 10 commits to main since this release

    Downloads