Skip to content

Releases: open-agent-power/open-knowledge-studio

v0.6.10 — posttool Bash signal + 修复 broken 0.6.9

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 29 Aug 01:59

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 后缀

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 25 Aug 12:34

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 质量优化

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 24 Aug 13:18

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

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 24 Aug 12:22

feat: team bootstrap + Word skill(PR #45 by @1263-ux

  • 新增 oks team init 命令——共享团队知识库 bootstrap(多人协作场景)
  • 新增 knowledge-to-word skill(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

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 21 Aug 13:08

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 + 代码清理

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 19 Aug 08:47

embedding fallback 策略

settings/recall.yamlembedding_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.py docstring 过时数据修正
  • oks-connector-code 重复包

199 tests passed.

Full Changelog: v0.6.3...v0.6.4

v0.6.3 — Codex lifecycle parity

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 18 Aug 18:19

Codex lifecycle parity(PR #38 by @Huxc2020

让 OKS Codex 集成与 Claude Code + Qoder 对等:

  • Codex UserPromptSubmit / PostToolUse hook wiring
  • 解析 Codex apply_patch 文件路径做 conflict detection
  • 返回 Codex-compatible JSON additionalContext
  • Wiki frontmatter 写入前校验
  • PreCompact snapshot 输出
  • 从 Git 仓库根解析 project-local hooks
  • idempotent install/status + /hooks trust 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

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 18 Aug 13:03

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)

  1. recall_knowledge 调纯 native 函数 → 改调 backend 分发函数
  2. backend None 时不读 yaml → None 时读 settings/recall.yaml
  3. 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)

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 18 Aug 12:10

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 灵魂分层

Choose a tag to compare

@itxaiohanglover itxaiohanglover released this 18 Aug 10:58

召回引擎重构(吸收 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-backend Option 默认 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)

  1. Token Budget 分层(recall.yaml inject 配置)
  2. Backlink audit(lint 检查 relates_to 双向链接)
  3. Query 答案存档(/query 步骤 7)
  4. purpose.md anchor(goal boost 已满足)

验证

  • 192 tests passed
  • 50-case eval: native 54% / fts5 96% / fusion 90%