Skip to content

v1.5.0

Choose a tag to compare

@WorldMargin WorldMargin released this 19 Oct 12:04
· 2 commits to main since this release

⚠️ 升级警告:本版本是一次大重构,请仔细斟酌后再升级

这次更新重写了脚本输出方式(ctx.result)、会话快照的数据结构与生命周期、编辑器内核(CodeMirror 6)以及多处界面交互,与旧版差异很大,不是小修小补。

  • 旧脚本可能要改:ctx.sandbox.* 已改名 ctx.macro.*;ctx.template.变量名 改为 ctx.template.vars.变量名;
    $spark_result$ 仍然兼容,但新写法是 ctx.result。
  • 界面变化:会话列表新增「被隐藏」分组;宏 / 函数 / 沙盒变量改成可折叠分组卡片。
  • 数据变化:快照改为合并写入(IM 分批加载不会再清空会话);连续 3 次没出现的会话会隐藏、30 天后连快照一起删除。

升级前请先「设置 → 配置」导出备份;升级后先核对脚本、已选目标与模板。不确定就先别升级。

修复

  • 会话丢失:IM 冷启动会先给 0 条、再分批补全,旧逻辑把它当完整列表整份覆盖,导致 App 里的会话被清空。
    现在扫描结果为 0 时不写;非空结果与已有快照合并写入(昵称 / 备注 / 头像空值不覆盖旧值)。
  • 会话列表为空时不再误判为「今日无需发送」,避免当天不再重试。

快照生命周期

  • 连续 3 次扫描没在抖音出现 → 从列表隐藏;连续 30 天没出现 → 连快照一起删除(手动归属一并清理)。
  • 「续火花」页底部新增 「被隐藏」折叠卡片:可恢复显示、把手动归属移出已选目标、点整行进会话编辑页。

脚本 API

  • 新增 ctx.result 作为输出列表(与 $spark_result$ 同一数组,宏执行前自动同步,老脚本不用改)。
  • 新增 ctx.registerCallback(fn):发送结束回调 { conversationId, result: "Succeed" | "Skipped" | "Failed", reason? };
    脚本产出为空按「跳过」处理,不再算失败。
  • ctx.system.getAllConversation(filter?) 支持筛选:对象逐项相等 / 数组表示其中之一 / 函数自定义判断。
  • 会话结构新增 manualSend / autoSend / willSend,用于按「手动 / 自动 / 本轮实际」口径精确筛选。
  • ctx.registerCallback 为主名,旧拼写 ctx.registCallback 保留兼容。

编辑器

  • 实现格式化:清理零宽字符、不换行空格、智能引号、Markdown 代码围栏,并按花括号层级重排缩进(4 空格)。
  • 长按交回系统原生选区:删除自绘的长按工具条,复制 / 全选走系统菜单。
  • 撤掉失效的「补全」按钮(输入时的自动补全保留);动作条新增「粘贴」。
  • 宏 / 函数 / 沙盒变量列表改为可折叠分组卡片。

文档

  • 重写使用文档与 README:去掉重复的 API 总表、两套 AI 提示词和重复的「给 AI 的模块说明书」;
    修正 Monaco / 启动扫描时机 / 配置路径等过时描述;补齐新 API、筛选、回调、被隐藏列表。