Releases: open-agent-power/open-knowledge-studio
Release list
v0.6.10 — posttool Bash signal + 修复 broken 0.6.9
fix(hook): posttool-recall Bash 加回 signal_tools
- _should_signal 一刀切排除 Bash → agent 遗忘策略(tool 调用总遗忘)
- Bash 加回,靠 generic 词 + relevance>2.5 挡运维噪音
fix: revert ruff 清理(修复 broken PyPI 0.6.9)
- ruff auto-fix 在 merge 后 base 上误删 #46-#49 的 import → 7 测试 fail
- PyPI 0.6.9 是 broken,v0.6.10 revert ruff + 306 tests passed
- 教训沉淀 wiki: ruff-autofix-merge-conflict
native→fts5 默认改动已回退
- dispatch 有两条路径:native 含灵魂层(boost/archived 过滤),fts5 走 get_backend 无灵魂层
- 简单改默认会丢灵魂层(7 测试 fail),需重构 dispatch 让 fts5 接灵魂层,单独立项
v0.6.8 — canonical uri 不强制 .md 后缀
fix(vfs): canonical uri 不再强制 .md 后缀
旧 resolve() 要求 uri 必须带 .md 后缀(如 oks://wiki/.../slug.md),否则 PATH_NOT_FOUND。recall 返回的 slug 字段不带 .md,用户/Agent 用 slug 构造 uri 会找不到文件。
修复:resolve() 在 candidate 不存在且无后缀时,透明尝试 .md sibling——canonical uri 可不带 .md(不暴露磁盘文件格式),带 .md 的旧 uri 向后兼容。
指标:vfs 测试 45→46 passed(+1 新测试 test_stat_and_read_accept_uri_without_md_suffix),全测试 270 passed。
Full Changelog: v0.6.7...v0.6.8
v0.6.7 — L0 preview 质量优化
fix(recall): L0 preview 质量优化(86%→0% 质量问题)
旧 body_preview = body[:200] 机械截取导致 86% 的 wiki 页 preview 质量差(标题重复 + 表格/段落中途截断)。
新增 _make_preview():
- 跳过 body 开头与 frontmatter
title重复的# title行 - 在 limit 内尽量在完整行边界截断(不破表格行/句子)
- frontmatter
abstract字段优先(Dreaming 层 AI 写的摘要),本函数作无 abstract 时的 fallback
指标:50 页样本,preview 质量问题率 86% → 0%(43 页修复)
宪法 P4 合规:纯文本操作,不调 AI API;abstract 生成属 Dreaming/Agent 层(不在 CLI core)
Full Changelog: v0.6.6...v0.6.7
v0.6.6 — team bootstrap + Word skill + broken links fix
feat: team bootstrap + Word skill(PR #45 by @1263-ux)
- 新增
oks team init命令——共享团队知识库 bootstrap(多人协作场景) - 新增
knowledge-to-wordskill(build_docx.py把 wiki 导出 Word 文档) - health.py:
WIKI_STATUSES兼容旧实例的published状态(lint 不再误报) - +8 测试(261→269 passed)
docs: GitHub Pages broken links 修复(PR #44 by @1263-ux)
- 修复 docs/ 下 12 文件的失效链接
Full Changelog: v0.6.5...v0.6.6
v0.6.5 — oks:// 虚拟文件系统 + Agent-Native docs
feat(vfs): 只读 oks:// 虚拟文件系统(PR #43 by @Huxc2020)
新增 canonical oks:// URI + 6 个只读 oks fs 命令(ls/tree/stat/read/overview/find):
- 7 个只读 mount scope: profiles/raw/wiki/drafts/mail/skills/traces
- recall 命中项新增 canonical
uri字段(保留 slug/source_path 兼容) - 安全:严格只读(禁止 write/mv/rm 防绕过 raw-commit/draft/wiki 门控)+ 目录穿越防护 + 符号链接逃逸检测
- 不引入新依赖(无向量库/LLM/OpenViking 代码)
- +62 测试(199→261 passed)
docs: Agent-Native rewrite + DSH-OKS demo(PR #42 by @1263-ux)
- 71 docs + 26 截图(DSH-OKS 集成真实演示)
- maintainer rebase + 清理 raw-bundles/file-edits 残留后 merge
Full Changelog: v0.6.4...v0.6.5
v0.6.4 — embedding fallback + 代码清理
embedding fallback 策略
settings/recall.yaml 加 embedding_fallback: false(默认关)。开启后:fts5 召回空/不足(<limit/2)时切 embedding 语义召回补充,except 静默回退原 fts5 不阻断。
开启:embedding_fallback: true + pip install 'oks-connector[embedding]'
代码清理(交付前 review)
fusion.py删 dead code(return 后旧 native 主+fts5 补盲逻辑,永不执行)search/__init__.py/fusion.py/native.py/fts5.pydocstring 过时数据修正- 删
oks-connector-code重复包
199 tests passed.
Full Changelog: v0.6.3...v0.6.4
v0.6.3 — Codex lifecycle parity
Codex lifecycle parity(PR #38 by @Huxc2020)
让 OKS Codex 集成与 Claude Code + Qoder 对等:
- Codex
UserPromptSubmit/PostToolUsehook wiring - 解析 Codex
apply_patch文件路径做 conflict detection - 返回 Codex-compatible JSON
additionalContext - Wiki frontmatter 写入前校验
PreCompactsnapshot 输出- 从 Git 仓库根解析 project-local hooks
- idempotent install/status +
/hookstrust guidance - +7 回归测试(
test_hooks.py,192→199 passed)
eval 增强(v0.6.2 续)
oks eval recall --search-backend {fts5|native|fusion|embedding} 支持消融实验。run json 归档 records/experiments/runs/。
Full Changelog: v0.6.2...v0.6.3
v0.6.2 — OKS Triple-Layer Recall
OKS Triple-Layer Recall 命名 + 50-case 真实消融实验
定名
OKS Triple-Layer Recall = Node-BM25(召回)+ Soul Boost(注入)+ Memory Curve(衰减)
50-case 消融实验(语义改写 query,严格精确 slug 匹配)
| backend | R@1 | R@3 | R@5 | MRR | nDCG@5 | p50 |
|---|---|---|---|---|---|---|
| fts5(完整 Triple-Layer) | 0.825 | 0.925 | 0.927 | 0.907 | 0.893 | 93ms |
| native(去 Node-BM25,6+1) | 0.525 | 0.647 | 0.689 | 0.630 | 0.624 | 137ms |
| fusion(fts5+native rerank) | 0.805 | 0.905 | 0.927 | 0.900 | 0.887 | 226ms |
Node-BM25 R@1 +57%;fusion re-rank 反降精度(灵魂须在注入层);fts5 还更快。
3 个 eval bug 修复(之前 eval 一直测 native 不是 fts5)
recall_knowledge调纯 native 函数 → 改调 backend 分发函数- backend None 时不读 yaml → None 时读
settings/recall.yaml - snapshot 把 fts5.db 算进 hash → 误报 mutated state,排除 .oks
eval 增强
oks eval recall --search-backend {fts5|native|fusion} 支持消融实验。
Full Changelog: v0.6.1...v0.6.2
v0.6.1 — oks 灵魂搬到 fts5 注入层(injection_boost)
memory curve/decay/tier 独立系统没丢。type_boost/review_bonus/generic_demotion 搬到 fts5 注入层 score_components。面向用户只留 fts5 一个常用 search。192 tests passed, P@3 仍 96%.
v0.6.0 — 吸收 TreeSearch node-level (P@3 96%) + oks 灵魂分层
召回引擎重构(吸收 TreeSearch node-level)
- fts5 升级 node-level:吸收 TreeSearch 的 markdown tree parser,每个
##heading 段一个 FTS5 row。50-case 实测 P@3 = 96%(flat page-level 54%)。 - 关键 bug 修复:CLI
--search-backendOption 默认native覆盖了 yaml 配置——导致 fts5/fusion 从未生效。改默认None+ recall() 读 yaml。 - 默认 search_backend 改 fts5(96% 最优召回)。native (6+1) 保留作 oks 原创。
- fusion 重构:fts5 主召回 + native 归一化 re-rank(0.7 fts5 + 0.3 native)。
- goal boost 接到注入层:召回用 fts5 精度,注入时 goal 命中往前排(oks 灵魂分层)。
- 删 pytreesearch 外部依赖(吸收完成)。
4 点优化(CV from karpathy-wiki)
- Token Budget 分层(recall.yaml inject 配置)
- Backlink audit(lint 检查 relates_to 双向链接)
- Query 答案存档(/query 步骤 7)
- purpose.md anchor(goal boost 已满足)
验证
- 192 tests passed
- 50-case eval: native 54% / fts5 96% / fusion 90%