🔥 移除 Wiki 知识库功能 - #432
Conversation
- 删除 types/wiki.ts(页面/来源/草案/批次/能力矩阵/IPC 通道全量类型) - AgentThreadMeta 移除 wikiProfile 签发字段 - renderer allowlist 移除 WIKI_IPC_CHANNELS - 数据管理业务数据分组移除 wiki 扫描项 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- WikiSafeHttpFetchService → SafeHttpFetchService(IM 媒体下载继续复用) - Wiki 特权凭证门 → 通用 privileged-auth(插件包特权通道沿用同一凭证) - 凭证注入 method 更名 system.privileged-credential Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- services/wiki 全域:页面存储(ownership marker/provenance/staging 协调器/ 混合检索/lint/语义健康/ACL/能力矩阵与沙箱探针) - wiki.search/read/follow_links/propose_changes 工具、agent-wiki 技能与 保护根策略(唯一保护对象即 Wiki 根) - web Wiki 视图三栏工作台与聊天内提案确认卡 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- runner 不再解析 Wiki 沙箱能力矩阵,查询回归无沙箱缺省 - ask-wiki 会话专用分支(插件/MCP 隔离、工具分组)收敛为单一通路 - 工具注入移除 wiki 工具组与提案开关透传;node-repl 子进程环境清理对应凭证项 - 线程元数据、项目销毁序列、向量索引清理、记忆提示词与技能清单同步去 Wiki 化 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 主进程删除五个 desktop_wiki_* 命令与 wiki:privileged-* 转发 - 凭证生命周期保留并更名 privilegedCredential(插件包特权通道沿用) - electron-security allowlist、IPC contract 同步收缩 - 打包产物校验与 utility sidecar 冒烟脚本移除 Wiki 探活链 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Lume 特性导航移除 Wiki 页签,quoted-selection 移除 wiki 采集源 - 聊天流移除 wiki_proposal 分组与确认卡渲染分支 - desktop-api 移除 Wiki 通道封装;容器查询样式清理 - SDK 公网判定注释去除过时出处说明 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
自审发现:移除 Wiki Phase B 沙箱接线时误将 per-session disposeWorkspace 改为对全局单例无条件执行,并发会话会互拆共享的 MCP 连接。 恢复原语义——仅 transient manager(pluginMcpManager)需要会话级清理。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
🔍 自审 Review(PR 作者自查)逐文件过了一遍 🐛 发现 1 个 must-fix,已修复(51aa8e2db)
修复:两处( ✅ 逐项排查确认无误
⚖️ 已知取舍(有意为之)
🧪 验证(修复后)
|
# Conflicts: # apps/desktop/src/main.ts
Code Review对 138 文件做了全量删除面核查(含临时 worktree 全量验证)。功能删除本身质量很高:无悬空引用、无误删无关功能、迁移完整。但有两个 P1 阻塞项需处理后才能合。 重点核查项(全部通过)
阻塞项[P1] 54 个测试残留文件被误提交进分支,含二进制 sqlite
[P1] CI 红灯对应旧 commit,且 web/ui 批次从未在该 PR 上执行过
非阻塞[P2] 存量 wiki 数据孤儿化:升级用户磁盘数据无任何清理/导出途径
结论删除干净、迁移完整,是一次高质量的减法 PR。清除 54 个残留文件 + 最新 head 重跑 CI(补验 web/ui 批次)后可合;wiki 孤儿数据建议至少留一条缓存清理路径。 |
- git rm 54 个 .tmp-test-config-* 残留文件(含 sqlite 二进制,review P1) - run-unit-tests.mjs 的 LUME_CONFIG_DIR 从仓库内移至 os.tmpdir(),防复发 - .gitignore 增加 .tmp-test-config-*/ 规则
阻塞项处置P1-1(测试残留)已直接修复并推送:
P1-2(CI 旧 commit):当前 head 已全绿 6/6。本次 push 后等新一轮 CI 跑完即可合并。 P2 wiki 孤儿数据 维持非阻塞,建议按原 review 意见留一条缓存清理路径或发布说明指引。 |
…468) * 🐛 fix(sidecar): Retry-After 解析收敛至 SDK 导出——sidecar 传输层去重实现 parseRetryAfterHeader/computeRetryDelay/120s 硬上限补进 @lume/agent-sdk 导出面;pi-ai-provider 删除本地重复解析,改用共享实现(delta-seconds 与 HTTP-date 双格式行为不变,SDK retry.test.ts 已覆盖验收格式与 clamp)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 🔥 chore(sidecar): 拆除 prompt 组装假抽象与零消费预算比例 composePromptSections/PromptSection/PromptSectionMode 全仓仅自测试引用,连同 context-budget.ts 的 DEFAULT_CONTEXT_BUDGET 一并删除;context-assembler 保留指纹 trace,budget 元数据收敛为真实 tokenBudget 总额。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ♻️ refactor(sidecar): channel handlers 入参校验统一 zod,终结 RPC 校验双轨制 link/wiki 两家族已随功能移除删除(#418/#432),残存的手写 asObject/asString 校验仅剩 channel 家族:DECRYPT_KEY/TEST/SYNC_MODELS/OAUTH_* 全部迁入 schemas.ts 严格 schema,接受/拒绝面与迁移前一致(OAUTH_CANCEL 缺 sessionId 仍为静默 no-op),新增边界 case 单测。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 🐛 fix(sidecar): Retry-After clamp 统一 120s——复用 sdk computeRetryDelay 消除双 cap 并存 依据 issue #422 验收口径:clamp 120s,与 sdk withRetry 的 MAX_RETRY_AFTER_DELAY_MS 一致。 --------- Co-authored-by: Leo <huangchunmao1993@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
概述
整体移除 Wiki 受保护知识库功能:数据域、Agent 工具面、特权写入通道、桌面与 Web UI 全链路下线。
删除范围
功能本体
services/wiki服务域:页面存储(ownership marker / provenance 来源库 / staging 草案协调器)、混合检索索引、lint 与语义健康、ACL、能力矩阵与 OS 沙箱探针wiki.search/wiki.read/wiki.follow_links/wiki.propose_changes,及 agent-wiki 默认技能desktop_wiki_*特权命令、wiki:privileged-*RPC、打包冒烟探活链保留并通用化
services/infra/safe-http-fetch.ts(IM 媒体下载继续复用)services/infra/privileged-auth.ts,注入 method 更名system.privileged-credential,插件包特权通道沿用同一凭证机制验证
bun run typecheck六包全绿(shared / ui / agent-sdk / sidecar / web / desktop)🤖 Generated with Claude Code