Skip to content

How do I disable this plugin? | 我要怎么关闭这个插件呢? #5245

Open

Description

@adongshaln

我关闭后,所有预设全部消失,哪怕备份数据,恢复出厂设置再导入,依然会被改造后的预设缠住

Activity

  1. changed the title [-]我要怎么关闭这个插件呢?[/-] [+]How do I disable this plugin? | 我要怎么关闭这个插件呢?[/+] on Oct 30, 2026
  2. ranxianglei commented on Nov 1, 2026

    @ranxianglei
    Owner

    ework

  3. ranxianglei commented on Nov 1, 2026

    @ranxianglei
    Owner

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b)

    收到。如果这是连通性测试:链路正常。
    若继续跟进本单,还差两条信息:① 当前 bili 版本(bili --version 或市场页面显示的版本);② 市场页面是否有 billion-context 的更新入口。收到后我继续(≥v0.1.204 仍卡住 = 新问题,我会按新缺陷查)。

  4. muyiluop commented on Nov 9, 2026

    @muyiluop

    确实,这么霸道么,卸载了或者关闭了原本的压缩命令就用不了了

  5. ranxianglei commented on Nov 9, 2026

    @ranxianglei
    Owner

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b)

    「原本的压缩命令用不了」分三种状态,原因各不一样,拆开说:

    ① bili 运行中:dsh 原生自动压缩和 /compact 是被 bili 故意关掉的——DSH 原生压缩写进磁盘的检查点会永久遮蔽原始历史、破坏 bili 的压缩基底(#1729 的真问题),所以 bili 在场时独占压缩。这是设计,不是 bug。逃生口在途:PR #4883 增加 dsh.keepCommandCompact 开关(默认关),开了就只禁自动压缩、保留显式 /compact;owner 已拍板本期给开关、下一期服务端压缩转正后彻底放开全部自动压缩约束。注意该 PR 尚未合入,当前发布版还没有这个开关。

    ② 市场里点了「关闭」之后:

    ③ 卸载之后:整层补丁随 bundle 消失,dsh 完全回原厂,原生自动压缩和 /compact 都会恢复。如果你卸载了但原生命令仍不可用,说明有残留,两类常见:

    自查一条命令:dsh --profile <profile名> --dump-config,看三处——bundles 列表里还有没有 billion-context、preset 行上还挂不挂着 inject: [biliBasicCompactionPolicy]、cordis.patch.yml 有没有 # bili begin 块。最干净的恢复:跑一次 bili plugin remove dsh(两类残留一次清干净),或手动删掉上述残留后重启 dsh。

  6. ranxianglei commented on Nov 9, 2026

    @ranxianglei
    Owner

    ework 提交pr解决 卸载了或者关闭了原本的压缩命令就用不了的问题

    cc @muyiluop @adongshaln

  7. ranxianglei commented on Nov 9, 2026

    @ranxianglei
    Owner

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b)

    收到,开工。查重结论维持不变:与 #3889/#3662 同机制(预设消失部分已由 #3729 修复,v0.1.204+)。本次 PR 修的是 master 上仍残留的另一半:

    缺陷:dsh bundle patch 里有一行静态的 compaction-basic → auto: false(关宿主平面自动压缩),它只要 bundle 还挂着就一直生效——包括 bili-native 已被市场禁用/杀死的场景。这违反了 #3662 承诺的契约「bili-native 缺席 ⇒ 所有行恢复出厂」。后果:非 web profile 的用户关闭插件后,dsh 原生自动压缩永久关闭 = "原本的压缩命令用不了"。web profile 不受影响(宿主平面那行本来就被 dsh-web-app 禁用,实例在预设里,已能回 stock)。

    修法:gate transform(src/agent/dsh-compaction-disable.ts)在 verdict 缺席时,把宿主平面 compaction-basic 行的 auto: false 还原为 stock(auto: true);verdict 在场时行为完全不变(静态行继续兜底,保留 fail-safe)。不加新配置项。卸载侧本来就是干净的(bundle 移除即 stock),不动。

    #4872/#4883(启用状态下 /compact 被禁的开关)是另一面,已有在途 PR,本 PR 不碰。PR 稍后提交。

  8. ranxianglei commented on Nov 9, 2026

    @ranxianglei
    Owner

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b)

    @ranxianglei 已提交 PR:https://github.com/ranxianglei/billion-context/pull/5994(Closes #5248)

    一句话结论:关闭插件后 dsh 原生自动压缩回不来,是因为 patch 层里那行静态的 compaction-basic → auto: false 跟着**包(bundle)**走、不跟插件启用状态走——禁用后行还在,非 web profile 的自动压缩被永久关掉。本 PR 让这行在 bili-native 缺席/被禁用时自动还原为出厂 auto: true,禁用从此可完整逆转。卸载路径本来就是干净的,未改动。

    结构化八问:

    1. 是什么问题:禁用插件(市场页关 bili-native,或条目加载失败)后,非 web profile 的 dsh 原生自动压缩永远不回来;叠加此前 Disabling the plugin will invalidate all official Agent presets (the required inject: biliBasicCompactionPolicy on the | 禁用插件会让全部官方 Agent 预设失效(preset 行上的必需 inject: biliBasicCompactionPolicy 无法回收) #3889 的「预设全消失」,用户感受就是「卸载了或者关闭了原本的压缩命令就用不了」。
    2. 什么原因导致的:dsh.bundle.patch.yml 带一行静态 - id: compaction-basic / auto: false,bundle 挂载即生效、与 bili-native 死活无关;[dsh] Disabling the plugin permanently bricks dsh session creation - the bundle patch inject gate has no fallback (0.1.199 / dsh 0.2.1-rc.2) #3662 只修了「preset 不再卡死」,宿主平面这行残留没人管。
    3. 影响范围与严重程度:所有经市场页禁用(或条目死亡)的非 web profile 受影响;web profile 不受影响(preset 实例走加载期 overlay,无 verdict 时本来回落出厂);卸载路径不受影响。严重度:自动压缩永久不可用但 dsh 本身可用(手动 /compact 仍在)——「能用但有明显问题」;issue 原始症状(预设消失、无法建会话)是 v0.1.204 已修的可用性缺陷,整体标签维持 p1。
    4. 怎么修复的:在既有 gate transform 里——当进程 verdict 不存在(bili-native 缺席/禁用/死亡)且命中的是宿主平面 compaction-basic 条目(auto === false)时,精确还原为 auto: true。静态行本身保留在 patch 中做声明式 fail-safe:若 gate 条目加载失败而 bili-native 正常加载,宿主平面必须保持停摆,避免 nudge 死锁无检测:同一 session 交替收到两种结构互斥的请求流(巨型单消息 ↔ 多轮)时不告警 #1729 的双压缩风险。
    5. 是否有回归问题:逐项审过——激活态路径不变(verdict 存在 ⇒ 原样透传,有测试钉死);web profile 不变;其他条目、数组形配置、卸载路径均不变(负向用例按 Test Blind Spot Retrospective: Reinforcing Negative Assertion Discipline, Tightening Fake Upstream Strictness, Thin Inst | 测试盲区复盘:补反向断言纪律、假上游严格化、薄安装冒烟、形态矩阵与生命周期覆盖 #3617 双向钉死)。两个已知边界:① 用户自己手写的 auto: false 也会被还原(该层无法区分,已在代码注释与文档写明);② 若某 dsh 构建的内部钩子对该条目不触发,静默退化为旧行为,零回归。
    6. 是否破坏缓存:不涉及。
    7. 是否改了设计方向:不涉及——在既有 gate 模块边界内修复,不动架构。
    8. 是否引入了新的配置:不涉及——无新 env/config/默认值。

    范围外说明:激活态下 /compact 的约束(#4872/#4883 的 dsh.keepCommandCompact 开关)是另一个独立在途 PR,不混入本 PR。本地定向测试 5 个相关套件 448 例全绿、typecheck 干净;全量以远程 CI 为准。

    @adongshaln @muyiluop 本 PR 合并发版后,把 profile 副本升到新版本(市场页更新或 bili plugin update dsh)再禁用,自动压缩就会恢复出厂;要彻底干净则用 bili plugin remove dsh 完整卸载。

  9. ranxianglei commented on Nov 9, 2026

    @ranxianglei
    Owner

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b) 补充一行 CI 状态:PR #5994 分支已 rebase 到最新 master(1f311dd),并按 #4599 总控指引并入 ci-fixes@831b645804(已知继承性 LIVE_FILES tripwire 红的规范修复,零冲突),新 sha=f26db705ab,等远程 CI 全量判决。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions