Releases: mambo-wang/CodeWiki-Plus
Release list
v5.7.0
v5.7.0
skill-creator 技能创建工具链(新增)
- 技能页面类型词汇层地基(T1):引入技能页独立页面类型与词汇约定
- skill_creator prepare+submit 编译闭环(T2):双阶段编译流程落地,支持准备→编译→提交
- install/retire 生效区管理(T3):技能安装与退役按生效区隔离管理
- skill_lint 兜底检查(T4):六类 error 兜底检查 + 素材过期联动 + 漂移检测
- 技能页检索隔离(T5):技能文档进入索引但不参与普通召回
- 真实素材闭环验证(T6):skill-creator 端到端验证与设计文档收口
- 技能自动触发提示:hook + 双 submit 只提示不自动执行
- install-hooks 支持 UserPromptSubmit:技能提示事件 advisory 接线一键化
知识飞轮与架构增强
- 工具调用两级消化:capture 保留命令-报错-修复链(方案乙)
- consolidate submit 候选去向处置(dispositions):deferred 保留 / excluded 必带 reason
- stale_evidence 漂移信号回灌:增量决策(B6)
- output_dir 收敛为 repo_path 单锚:知识库固定落在
<repo>/repowiki
修复
- ide-hook 通道纯净:诊断消息定向 stderr,保 stdout 注入通道;stdin 兼容 PowerShell UTF-8 BOM
- distill-worker skill_hint 约束同步:补同步源副本约束(dbc5ef9 漏同步)
- find_or_restore NameError:修复引用已删除 _P() 导致的崩溃
文档与其他
- skill-creator 使用指南(用户视角完整工作流)与需求设计定稿
- DeepWiki 类竞品对比调研报告归档与公众号系列 12 增补
- 蒸馏对话归档与决策笔记落盘、source_ref 路径修正
完整变更对比:v5.6.1...v5.7.0
v5.6.1
入库冲突治理与溯源约定(ingest)
- 冲突感知写入:
ingest_note写前扫描similar_notes冲突提示(detect_conflicts,默认开启),不自动覆盖/合并;是否退役旧笔记交由调用方决策 - source 版本门控:
ingest_source文本文档新增version_sibling/supersede_declared两道门控,需allow_sibling=true用户同意后才入库;同名替换须显式同意(旧文件移入.trash) - 相似度内核:新增
codewiki/src/doc_similarity.py(文本指纹 + 共享标题相似度);distill 弱冲突检测重构为_find_conflict_candidates(支持include_strong) - 溯源标注约定:
query_wikiadoption_hint 显式标注依据(依据:<file>/<code>:<line>),AGENTS.md 与 agents_md 同步
检索与蒸馏修复
- check 模式跳过 deprecated:check mode 不再返回已退役笔记;distill 去重修正
修复与改进
ingest_source同名替换显式同意门控 + okf 回归测试扩展- bugfix:
source_ingest细节修复 + registry 调整 - 新增
tests/test_ingest_conflict_advisory.py
对比: v5.6.0...v5.6.1
v5.6.0
团队化与多人协作
- team layout:仓库迁移 team 目录布局,author 归属按 fingerprint 校验,辅以 sync_check advisory(D17 门控)
- auto_push:Phase 4 自动推送,带预存暂存守卫与锁文件防卷入
- backfill-note-authors:新增命令,存量 112 篇笔记按 git 提交作者溯源回填
检索内核重构(Phase 0-4)
- 检索 kernel 抽取:cache.py 文本内核整体搬入 src/retrieval.py,golden 基线固化
- SearchIndex interface:统一检索入口,freshness 收口 wiki_search.search
- frontmatter 一体层:render_frontmatter 读写往返不变量;by_file/状态判定统一收敛到 src/frontmatter
- store.py 唯一写路径:各处卫星原子写并入漏斗;knowledge_loop 六工具族拆分 + NoteWriter;schema.yaml 单事实源收敛
检索成本与 by_file(claude-mem 借鉴)
- est_tokens:检索成本可见性(P0-1);工作流内建工具描述 + 46 项测试(P0-3)
- by_file:文件级知识检索 + 对端新鲜度(P0-2);SessionStart 概要薄版 + 遥测临时文件治理(P2-2/P2-3)
- 修复 10 个存量测试失败(1 个产品 bug + 3 个跨平台问题)
统一存储与证据钉死
- KnowledgeStore:动词式门面收拢 8 个工具的重叠存储管道
- stamp_evidence:证据钉死自动盖章 + stale_evidence lint
- page_manifest:页面级基线 manifest + stale_pages 后处理;centralized 布局缺陷修复
- 分析缓存 DB 改相对存储;索引摘要相对链接重定位;analyzer 忽略 agent 临时目录
修复与改进
- 锁文件清理策略:Windows best-effort unlink、Unix 保留防 inode race;锁位置调整
- 文档:知识可信度工程系列 10/11 文章与配套文档等
对比: v5.5.1...v5.6.0
v5.5.1
修复与改进
- batch_ingest 文件侧通道:
batch_ingest改用文件侧通道返回报告,避免 MCP 大载荷超时 - distill-worker 家族适配:frontmatter 按宿主家族(CodeBuddy / Claude / Gemini)分发变体;变体省略
tools行改为继承全部工具;claude 家族补蒸馏委托改用内置 general-purpose 子代理(自定义子代理拿不到 MCP 权限) - install-hooks:改用项目相对路径生成 hook 命令,安装的 hook 不再依赖绝对路径
- 文档:frontmatter 分发笔记三轮实证修订;知识飞轮同步更新(蒸馏、聚合与 Doctrine 刷新)
对比: v5.5.0...v5.5.1
v5.5.0
多仓工作区(本版核心特性)
支持在一个工作区(Harness)下管理多个代码仓库,并提供两种 Wiki 布局:
- 集中式 Wiki 布局奠基:布局配置、工作区解析与跨平台文件锁;运行时数据集中落工作区根共享区,成员仓保持纯代码目录
- 工作区管理三件套:
init_workspace(零配置幂等重构 + 首次初始化强制布局闸门)、add_workspace_repo、remove_workspace_repo(含跨仓分析缓存与集中式知识清理) - 检索增强:
query_wiki一跳检索与repo=范围过滤;布局感知页型路由与共享池来源标注 - 手工沉淀作用域:手工笔记支持三种作用域标注,正确路由到仓级/工作区级
- 增量更新:
analyze_workspace支持三档分派 + centralized 缓存按仓命名空间;新增generate_repo_wikis - 布局纪律:
lint_wiki新增布局违规检查 - Bootstrap 脚手架:工作区自动生成 bootstrap(bash / PowerShell)等模板;
bootstrap.ps1以 UTF-8 with BOM 写入,修复 PowerShell 5.1 按 GBK 误读乱码
工程化
- 引入 pre-commit + CI 统一 lint 与格式化(bulk-format squash 已记入
.git-blame-ignore-revs),移除 black 统一 ruff format - 新增 CONTRIBUTING.md
文档
- README 补充多仓工作区说明
- 新增系列文章第 9 篇《仓库多了,知识该放哪——Harness 工作区与 Wiki 的两种布局》
- 新增多仓工作区设计文档(集中式布局 / 管理模型与 MCP 工具 / 增量更新设计方案)
对比: v5.4.5...v5.5.0
v5.4.5
修复与改进
- 启动性能优化:依赖分析器(
DependencyParser/DependencyGraphBuilder)改为 PEP 562 懒加载,仅在真正需要时才拉起重量级 AST/tree-sitter 引擎;config模块移除导入期load_dotenv副作用。 - CI / lint 修复(#17):放宽 ruff 规则并修复测试抖动,随后重新收紧 E741/E731、移除 tests F401 豁免。
- 清理:移除遗留的一次性诊断脚本。
- 文档:README 补充系列专栏第 7/8 篇文章链接;沉淀多条 pitfall / lesson 笔记(ruff format panic 根因、distill submit 幂等等)。
完整变更: v5.4.4...v5.4.5
v5.4.4
任务记忆多人协作分片(P0+P1)
多人(或同一人多机)共做一个任务时,任务记忆从必然撞车变为各写各的、互相可见、自动收敛;单人存量场景零感知。
P0 — 分片存储 + 分层加载 + 文件域压缩
- 分片存储:每人只写自己的 memories/<user_id>.md(telemetry per-user 模式),git 文件级天然无冲突;存量 memories.md 只读兼容(热层),首次压缩并入发起者文件后移除
- 分层加载:自己(+legacy)全量最近 20 条;他人摘要 + 最近 2 条,超 2048 字/作者降级为一行线索;get_task 他人层仅摘要
- 文件域压缩:作者独占压缩自己的文件(+legacy),归档按归属拆 memories-archive/<user_id>.md;安全顺序 归档→重写→删 legacy
- 身份链:user_id 默认 CODEWIKI_USER > git email > name > 登录名(email 全局唯一,消除同人碎片化)
- union driver:.gitattributes 兜底同人多机追加乱序
P1 — .index.json 可重建
- 目录扫描为事实源、index 为缓存:读侧廉价 id 集校验,失配/损坏时扫 task.md frontmatter 重建回写;多人建任务不再撞整文件
修复
- review_changes prepare 无变更时统一走 workspace 文件侧信道(响应形状恒定,修复干净工作区下 test_prepare_end_to_end 必挂)
- 补录既往被 tests/* 忽略规则吞掉的 26 个测试文件(从未入库、CI 未跑过)
设计文档:docs/任务记忆多人协作分片设计方案.md(grilling 十四问定稿)
全量测试:430 passed / 2 skipped
v5.4.3
变更说明
任务记忆(Task Memory)重大扩展
- 任务记忆条目增加
### YYYY-MM-DD HH:MM时间戳头结构化(ADR-0001),get_task_context/get_task有界加载(默认 20/5 条,可翻页) - 新增
compact_task_memories两段式压缩归档:主文件超阈值后由调用方写摘要,原文永久归档至memories-archive.md,失败顺序保证永不丢原文 - 蒸馏任务记忆直写落盘,退役 pending 确认闸门(ADR-0002);
add_task_memory写入带时间戳头 distill_conversation新增distilled_file文件侧通道,替代大 JSON 内联,避免 MCP 参数超限
Hook 多智能体与多 IDE 支持
- Hook 家族归并注册表 +
codewiki queryCLI 检索分发,支持多智能体共存 - 新增 Qoder 接线(install-hooks Windows 路径去重修复)
- 新增千问办公(QwenWork)prompt 接线:
qw_query→task_get_detail分页拉取 → 要点压缩 →capture_conversation标准管线落盘,supersede 支持增量重捕
代码图谱能力增强
analyze_changes变更影响分析watch_repo实时增量同步
修复与改进
lint_wiki支持fix=true自愈过期索引(检查后重建,修复 broken_links 残留死链)- frontmatter 引号剥离统一
_unq;doc_writer默认注入 aliases - CI ruff 规则集显式钉住经典默认,避免 ruff 0.16 新规则导致构建失败
- 测试兼容 Windows fcntl
安装
pip install codewiki-plus==5.4.3Full changelog: v5.4.2...v5.4.3
PyPI: https://pypi.org/project/codewiki-plus/5.4.3/
v5.4.2
save_module_tree 组件 ID 校验(移植自上游)
修复一个"静默文档丢失"缺陷:模块树中引用了分析索引里不存在的组件 ID(Agent 聚类时的拼写错误/漂移引用)时,这些组件会被静默从文档中漏掉,且无任何提示。
现在 save_module_tree 保存时对照会话组件索引做双向校验:
- unmatched_ids:树里引用了但索引中不存在的 ID(孤儿引用)——本会被静默漏出文档
- leftover_component_ids:索引里有但未分配到任何模块的组件(覆盖缺口)——将拿不到文档
发现问题时在工具响应(warning 字段)、workspace 校验文件(module_tree_validation.json)与日志三处显式报告,Agent 可当场修正重交;无分析会话时跳过校验,不影响保存。
该补丁由 LiberiFatali 在上游 FSoft-AI4Code/CodeWiki 实现(05859bd),本版本适配 CodeWiki-Plus 的 MCP-first 架构移植合入。
安装
pip install codewiki-plus==5.4.2Full changelog: v5.4.1...v5.4.2
PyPI: https://pypi.org/project/codewiki-plus/5.4.2/
v5.4.1
依赖全面升级与 uv.lock 工作流(PR #15)
本版本将全部 Python 依赖升级到最新兼容版本,并把项目迁移到 uv.lock 锁定的可复现构建工作流:
依赖升级
- pydantic-ai 2.31.1 —— 适配
OpenAIModel→OpenAIChatModel的 2.x 更名(llm_services.py导入更新) - openai 2.54.0 / litellm 1.97.0 / coding-agent-wrapper 0.1.9
- mcp 1.29.0(保持
<2:mcp.server.fastmcp在 2.0 已移除) - tree-sitter 0.26.0 + tree-sitter-language-pack 1.14.3(语言绑定统一迁移到
tree_sitter_language_pack)
工程改进
requirements.txt退役,改为uv.lock锁定开发依赖;uv sync --frozen --extra dev一键复现完整开发环境- 新增 CI(
.github/workflows/ci.yml):uv-based 全量测试 + ruff 检查(仓库首个 CI 工作流) - 修复
str_replace_editor.py模块级sys.stdout重包装破坏 pytest capture 的问题 - Docker 构建改从
pyproject.toml安装依赖 - 新增
tests/test_latest_compat.py离线兼容性冒烟测试(锁定 Agent 签名、fallback 模型、mcp 1.x 符号、tree-sitter 语言包契约) - README 开发者安装指引更新为 uv 工作流(中英双语)
安装
pip install codewiki-plus==5.4.1MCP 配置不变:
{
"mcpServers": {
"codewiki": {
"command": "codewiki",
"args": ["mcp"]
}
}
}Full changelog: v5.4.0...v5.4.1
PyPI: https://pypi.org/project/codewiki-plus/5.4.1/