Skip to content

v0.2.3 — run_code 里的提问、行标题、DSH 风格表格

Latest

Choose a tag to compare

@DDDMUC DDDMUC released this 05 Nov 13:30

这一版把 issue #1 里剩下两条(思考/代码标题、表格与代码样式)做完了,并修掉了「提问嵌在 run_code 里就认不出来」的问题。

提问卡片:支持 run_code 内部调用

标准/极简模式里 ask_user_question 是顶层工具,能直接认出来;但 PTC 一类 preset 只把 run_code 暴露给模型,提问是在程序内部调的,日志里根本没有那次工具调用——所以之前的卡片不会出现。

现在:

  • 从 run_code 的 code 参数里读出 JavaScript 对象字面量(裸键名、模板字符串,JSON.parse 用不了)
  • 答案按形状 { id, selected } 在返回值里递归查找,不依赖键名——程序返回的键是它自己起的(userAnswer、answers、埋更深都行)
  • 卡片显示在 run_code 那一行之上
  • 读不懂的写法(questions: qs 这种变量)回退成普通工具卡片,不猜

每行都有标题

改前 改后
思考(1306 字) 思考 · 核对分支二的条件(32 字)
run_code · 606ms · 结果已截断 run_code · 查看 core/compatibility.py … · 606ms · 结果 1 行

思考块的标题取正文首行(日志里没有标题字段,这跟聊天界面的「思考预览」是一回事),工具行用调用的 description。

排版

  • 正文标题:# / ## / ### 会被降级成 h4–h6 以保持「回合/消息」的文档骨架,但之前只给 h1–h3 写了样式,### 落回浏览器默认的 0.67em(约 10px),比正文还小。现在三级都有明确字号,全部大于正文。
  • 表格:改成 DSH 的「有横线、无框线」——去掉外框和所有竖线,表头加粗 + 一条深色下边线,行间细线。
  • 行内代码:改成圆角胶囊,跨行时两段都有圆角;代码块去掉边框,只留浅色底。

修复

  • 导出对话框左下角的缩放手柄方向错了:用了 nwse-resize(西北–东南),应该是 nesw-resize(东北–西南)。八个方向的光标现在由一张表生成,并有测试断言,不会再和 CSS 脱节。

安装

dsh plugin --profile web add dsh-chat-export@0.2.3

src/html.js 属于宿主半,需要重启 DSH 才能看到导出效果;对话框相关的改动会热更新。

验证

npm test — 356 条全过。提问卡片用 issue 里提供的真实 run_code 载荷跑过一遍导出,并用无头浏览器渲染核对。