AniSignal

github.com/tianyin231

开源与更新

AniSignal 的代码分为两个公开仓库:主仓库包含网站、采集与推送服务;QQ 机器人用的 AstrBot 插件单独发布,方便在 AstrBot 中安装和更新。

最近动态

  1. 主站与服务端6397191 tianyin231
    展开详情
    上一版为拆开「名创优品联动」手写了一张修饰词表,会把「联动池」「信息差」削成单字,
    「联名」这类没列进去的词又照样卡住。改为:
    - 只按空格和标点拆词,连写查询里只拆出分区注册表里的游戏名,其余字原样保留
    - 所有词都要命中;凑不齐时不替模型猜哪个词不重要,返回各词单独的命中数,
      由模型决定换哪个词重查
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  2. 主站与服务端fe3870a tianyin231
    展开详情
    机器人查「明日方舟 名创优品 联动 秋意茶话会」时,服务端要求整串原样出现,
    且不带订阅关键词的会话只扫窗口内最新 200 条,几乎必然落空;落空后又返回推送用的
    「暂时没有值得单独推送的新消息」,模型当成没有这件事,转而拿群聊内容硬答。
    
    - 查询拆成需要同时命中的词:连写的中文游戏名单独拆出,游戏名(含别名)只限定分区,
      「联动」「最新」等修饰词不参与匹配
    - 带正文关键词时在数据库里按词筛选,资讯窗口放宽到 30 天,不再截断到最新 200 条
    - 商品检索同样按词匹配
    - 查不到时说明「近 N 天订阅范围内没有找到」,并提示可联网核实,不再返回空播报
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  3. 主站与服务端f8c6800 tianyin231
    展开详情
    - on_llm_request 只向 system prompt 追加固定说明;当前时间与已发通知索引改用
      extra_user_content_parts + mark_as_temp() 作为本轮临时内容,不写入历史,
      不破坏供应商侧缓存(插件市场审查要求)
    - 通知引导语去掉「群友」设定和固定字数,称呼、语言、语气全由人格决定;时间与
      近期开场移到 prompt,同一会话的 system prompt 保持不变
    - 引导语截断按句子切分,支持英文等语言;会话填写了排版与详略补充时不再截断
    - 卡片分区名优先使用服务端下发的 community_label,新增分区无需改插件
    - 服务端去掉针对具体游戏的示例与检查(四鸣井、文旅、碧蓝航线示例),改成通用规则
    - 周边详情按履约状态取字段,不依赖展示文字
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  4. 主站与服务端6d54dca tianyin231
    展开详情
    - 同一轮的周边履约变化合成一条普通动态:同系列写成一行,附预售/价格/发货原文字段和一个链接,不再逐款刷屏,也不再穿透免打扰
    - 履约变化改用白话(开启预售、首位玩家晒出到货、此前判断已撤回),不再出现“已采纳 N”;同一状态只多一条证据不推送
    - 动态末行改为“来源 · 今天/昨天 时间”,发送时按实际时刻重排;多条用 ①② 编号,多条快讯共用标题
    - 普通 AI 快讯不再逐条标“转述,待核实”,只有传闻标待核实;长摘要退到完整句
    - 回退文案去掉“各位亲爱的指挥官”等称呼、◆〓装饰和“如有变动另行通知”,不再发“新动态”占位;模型失败的回退文案不缓存
    - 日程提醒改成“接下来 24 小时”清单,写明天/后天,最多列四组
    - 插件 v1.14.6:通知开场只说一句不超过约 30 字的反应,不复述正文,并避开本会话最近几次的开场
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  5. AstrBot 插件3603434 tianyin231
    展开详情
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  6. 主站与服务端731d362 tianyin231
    展开详情
    AstrBot 更换插件源时要求已安装插件记录的仓库与插件源一致,
    v1.14.4 及更早版本记录的是主仓库地址,会被拒绝。
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  7. 主站与服务端51ae358 tianyin231
    展开详情
    - 接口改为返回 repositories 列表:两个仓库各自的简介、Star/Fork、最近提交,
      插件仓库另读 metadata.yaml 中的版本号;贡献者与正式发布仍取主仓库
    - 页面顶部并列两张仓库卡片,各显示最近一次更新;下方合并时间线按时间排序,
      可按仓库筛选,提交按仓库着色
    - 某个仓库读取失败时沿用上次记录,另一个仓库照常刷新
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  8. AstrBot 插件fca8a8f tianyin231
    展开详情
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  9. 主站与服务端587a4b6 tianyin231
    展开详情
    插件市场按 metadata.yaml 所在仓库整体打包审核,主仓库一千多个文件会让
    自动安全检查失败。插件源码仍在 integrations/astrbot_plugin_anisignal 开发,
    用 deploy/sync-astrbot-plugin.sh 把已提交内容同步到独立仓库。
    
    - metadata repo、版本检查地址、插件源地址改指向独立仓库,测试锁定三者一致
    - 根目录入口保留给早期从主仓库安装的实例,插件源两份副本保持一致
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  10. 主站与服务端2303fcc tianyin231
    展开详情
    账号中心「屏蔽游戏分区」改为「屏蔽分区与来源」,新增来源平台:
    游戏分区可屏蔽 B站、YouTube、X、库街区、米游社、游戏官网,AI 快讯可屏蔽
    B站、X、新闻源。所选平台的内容在聚合视图和单个分区里都不再出现;内容库里
    显式选中该平台时照常显示。AI 日报、周报等已发布的编辑产物不受影响,邮件、
    Bot 推送和其他账号也不受影响。
    
    - 设置存于 feed_preferences.hidden_platforms(令牌如 ai:bilibili),无需迁移;
      只提交其中一项时另一项保留
    - 平台令牌与分区共用镜像 Cookie,登录、退出、会话同步沿用原逻辑
    - 内容库、精选、热度飙升按 community + platform 过滤;精选缓存键带上屏蔽组合,
      单个分区只保留所属一组的平台令牌
    - AI 快讯时间流在内存过滤;热榜在事件归组前剔除,只由被屏蔽平台报道的事件
      整条消失,其余事件保留其他来源
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  11. 主站与服务端8f9a56b tianyin231
    展开详情
    账号中心「账号与安全」新增「屏蔽游戏分区」。登录该账号时,首页、内容库、
    搜索、日历、兑换码、事件和商品的跨分区(全部)列表不再显示所选分区,顶栏
    也隐藏这些频道;直接打开该分区照常显示。其他账号、未登录访客,以及邮件、
    Bot 推送和关注流都不受影响。
    
    - 屏蔽列表存于 users.feed_preferences.hidden_communities,无需迁移;保存
      个人降噪时保留它,修改屏蔽也不刷新邮件早报使用的 updated_at
    - 浏览器保存一份镜像 Cookie(anisignal_hidden),公开接口与服务端渲染据此
      过滤,不必每次请求查库;没有登录 Cookie 时不生效。登录写入、退出清除,
      会话检查按账号校正(换账号、多设备修改后自动同步)
    - 服务端渲染转发访客 Cookie,首屏就已过滤;精选缓存按屏蔽组合区分
    - RSS 在进程内共享缓存,不跟随账号屏蔽
    - 记住或默认的分区被屏蔽时,栏目页改用第一个未屏蔽的游戏分区
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  12. 主站与服务端1a1d34d tianyin231
    展开详情
    raw.githubusercontent.com 以 text/plain 返回 -md5.json,AstrBot 解析失败后
    记为空 md5,每次都重新读取插件源,正好是需要的行为;若改用以 JSON 返回的
    托管地址而 md5 漏改,AstrBot 会一直使用旧缓存。去掉 md5 文件,测试确认它不存在。
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
  13. 主站与服务端745743e tianyin231
    展开详情
    AstrBot 只对绑定到插件源(市场)的插件检测新版本;从仓库链接或手动安装的
    插件,卡片上只有「⋯ → 重新安装」。仓库新增只含本插件的插件源
    astrbot-plugin-source.json 及其 -md5.json(AstrBot 据此判断缓存是否过期)。
    添加该插件源并在卡片「更换插件源」中选中后,有新版本时卡片显示更新按钮。
    
    - 测试校验插件源的版本、仓库与 metadata.yaml 一致,md5 与文件内容一致
    - 设置页「插件更新」与 README 改为这两步设置,并保留「重新安装」的备用说明
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>