
OmX 0.12.6 发布解析Wiki 优先知识工作流与 Hook/通知链路加固【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex导读0.12.6是 OmXOh My codeX在v0.12.5..v0.12.6之间的补丁列车patch train共合入 32 个 PR核心是让OMX wiki 成为一等公民的知识工作流、对通知与 Hook 投递链路做系统化加固同时提升dirty worktree 启动与审批流的可靠性并新增dev 合入后自动关闭关联 issue的自动化。读完本文你将掌握 0.12.6 的完整变更清单、wiki 工作流的底层实现原理存储 / 摄取 / 查询 / lint / MCP 与 CLI 双通道以及通知去重、冷却等运维调优手段。版本总览一次 32 PR 的稳定性补丁列车0.12.6延续了 OmX 的增量发布节奏本版本聚焦四个方向Wiki 成为一等工作流本地 markdown wiki 正式落地具备 CLI/MCP 双通道、query/lint/refresh 辅助流程、存储与摄取原语并接入 explore 流程——在大范围仓库搜索前先注入 wiki 上下文PR #1481 中对应条目。会话可见性与通知加固reply-listener/session-status 状态、lifecycle 去重、idle 冷却、tmux 通知行为全部收紧让实时会话状态更清晰、噪音更少#1495、#1518、#1520、#1527、#1538。Hook 与团队交付可靠性native-hook、notify-hook 派发、leader nudge、managed tmux、fallback watcher 以及启动/运行时路径再次获得稳定化减少陈旧状态、重复 nudge 与 mailbox/投递竞态#1487、#1491、#1493、#1496、#1514、#1525。启动与运维安全dirty worktree 启动在 caution 流程内先告警再复用同时保留 caution 流程之外的硬失败语义Claude issue 会话在明显仓库读取场景下不再被不必要审批打断#1532、#1536。Dev 合入自动关闭 issue合入dev的 PR 可自动关闭明确关联的本地 issue 并附带维护者评论收紧 dev→issue 工作流#1541。OMX Wiki本地 markdown 知识库成为一等公民0.12.6 最核心的改动是wiki 工作流从零散实验变成完整的知识管理闭环PR #1481。它是一套持久化、自维护的 markdown 知识库把项目与会话知识跨会话沉淀下来随会话不断复利增长。存储层规范目录、锁与原子写wiki 的存储层位于 src/wiki/storage.ts职责是把知识页以 markdown frontmatter 形式落到磁盘目录约定规范存储目录通过omxWikiDir(root)解析代码内注释给出目录名omx_wiki/同时兼容旧版.omx/wiki/的只读 fallback——当规范目录不存在而旧目录存在时isLegacyWikiFallbackActive()返回 true查询/列表可读旧数据但不会写入避免只读 lint 在源码可见目录制造规范文件src/wiki/lifecycle.ts 中有明确注释。保留文件index.md索引、log.md操作日志、environment.md环境页为保留文件名普通写入被拒绝RESERVED_FILES集合防止知识页覆盖系统文件。原子写入atomicWriteFileSync先写临时文件再renameSync避免写入中断留下半截文件。目录锁withWikiLock通过mkdirSync(lockPath, { recursive: false })实现互斥默认超时 5s、重试间隔 50ms确保并发会话不会互相踩踏。页面模型frontmatter 驱动分类与置信度页面类型定义见 src/wiki/types.ts。每页包含 frontmatter标题、标签、创建/更新时间、来源、[[wiki-link]]关联、分类、置信度、schema 版本与正文。分类WikiCategory共 8 种分类用途示例architecture架构说明decision决策记录pattern复用模式debugging调试结论environment环境事实session-log会话日志reference参考资料convention项目约定置信度confidence分为high/medium/low是 lint 与合并策略的重要输入。默认配置DEFAULT_WIKI_CONFIG定义在 src/wiki/types.ts也可在.omx-config.json的项目根或~/.codex/.omx-config.json中按wiki键覆盖src/wiki/lifecycle.ts 负责加载{ wiki: { enabled: true, autoCapture: true, maxContextLines: 30, staleDays: 30, maxPageSize: 10240, feedProjectMemoryOnStart: false } }各配置项含义enabled开关 wikiautoCapture会话结束自动写入 session-log 页maxContextLines控制会话启动时注入索引的行数上限staleDays定义陈旧页阈值maxPageSize是页面大小上限字节feedProjectMemoryOnStart为 true 时启动阶段会把项目记忆文件同步进受管environment.md页。摄取原语创建与合并追加策略ingestKnowledgesrc/wiki/ingest.ts把知识写入 wiki单次摄取可新建页或并入已有页采用追加策略绝不覆盖已有内容新建标题经titleToSlug转 slug 文件名NFC 归一化、非字母数字折叠为-、截断 64 字符空 slug 退化为哈希名正文以# 标题开头。合并标签取并集、来源去重追加、[[wiki-link]]重新提取合并、时间戳更新、置信度取两者中更高者正文以## Update (ISO时间)区块追加。副作用每次摄取后自动重建index.md索引并追加log.md日志条目。[[双括号]]语法是页间关联的载体extractWikiLinks会将其统一转为 slug 存入 frontmatter 的links字段供 lint 做断链检测、供查询做入链统计。查询原语关键词 标签检索无向量嵌入queryWikisrc/wiki/query.ts是纯关键词搜索硬性约束是不使用向量嵌入——LLM 负责从返回的匹配片段中综合答案。评分权重清晰标签命中每个匹配标签 3查询词命中页标签 2标题命中完整命中 5分词命中每个 2正文命中每个唯一分词 1并截取首个命中点前后约 120 字符的片段查询支持tags/category过滤与limit限制默认 20MCP 侧上限 50并按分数降序返回。分词器tokenize值得一提拉丁/数字按空白切分中日韩Han/Hangul/Kana采用二元组滑动窗口并辅以单字符保证 CJK 查询可用其余文字西里尔、阿拉伯、泰文等走空白切分兜底src/wiki/query.ts配套测试见 src/wiki/tests/cjk-tokenize.test.ts。健康检查lint 六大类问题lintWikisrc/wiki/lint.ts对知识库做体检产出error/warning/info三级 issueorphan孤儿页无其他页入链info级stale陈旧页超过staleDays未更新warning级并报告天数broken-ref断链links指向不存在的页error级low-confidence低置信度confidence: low的页info级提示核实或删除oversized超大页内容超过maxPageSize字节warning级建议拆分structural-contradiction结构矛盾同 slug 前缀组内出现 high/low 置信度冲突warning或同一标签跨不同分类info语义级矛盾检测明确标注为 v2 的 LLM 能力。lint 结果会汇总成统计总数、孤儿数、陈旧数、断链数、低置信度数、超大页数、矛盾数默认写入log.md。生命周期集成启动注入、会话日志、项目记忆src/wiki/lifecycle.ts 把 wiki 织入会话生命周期onSessionStart会话启动时若 wiki 存在且enabled把索引前maxContextLines行注入上下文并提示可用wiki_query/wiki_list/wiki_readlegacy fallback 生效时输出只读提示。feedProjectMemoryOnStart为 true 时同步项目记忆到environment.md。onSessionEndautoCapture开启时3 秒超时窗口内尽力写入session-log-日期-会话ID后8位.md会话日志页提示把重要发现用wiki_ingest提升为策展页。onPreCompact / onPostCompact压缩前提供页面数、分类与最后更新时间摘要压缩后 nudge 提示把压缩产物中的决策、架构笔记、调试发现等沉淀进omx_wiki/。MCP 与 CLI 双通道wiki 工具的调用面wiki 既可通过 MCP 服务器调用也可通过 CLI 调用二者对齐同一底层实现MCP 服务器src/mcp/wiki-server.ts 注册omx-wiki服务器暴露wiki_ingest、wiki_query、wiki_lint、wiki_add快速新增拒绝覆盖合并请用 ingest、wiki_list、wiki_read、wiki_delete、wiki_refresh等工具其中wiki_ingest必填title/content/tags/categorycontent上限 50000 字符、标签最多 20 个。CLI 通道mcp-parity 表面在 src/cli/mcp-parity.ts 注册了wiki命令组把上述工具映射为wiki_ingest、wiki_query、wiki_lint、wiki_add、wiki_list、wiki_read、wiki_delete、wiki_refresh子命令生命周期提示中给出的实际用法示例为omx wiki wiki_ingest --input json --json。这样无论通过 Codex 的 MCP 能力还是omxCLI都能以同一套数据模型操作 wiki。相关的端到端与契约测试见 src/mcp/tests/wiki-server.test.ts 和 src/cli/tests/mcp-parity.test.ts。会话可见性与通知加固0.12.6 对通知链路的重点是更清晰、更安静——状态更准确噪音被系统化抑制reply-listener / session-status 状态收紧live 会话状态读取更可靠配合 hook cwd 别名修复#1495managed-session 逻辑与归属跟踪不再因 cwd 不一致而错乱。Lifecycle 广播去重src/notifications/lifecycle-dedupe.ts 对session-start/session-stop/session-end三类事件做 5 秒窗口内去重指纹由事件、reason、activeMode、question、incompleteTasks 归一化生成状态按会话 ID 分目录落盘lifecycle-notif-state.json非法会话 ID 退化为全局状态文件。对应修复覆盖 #1518、#1520、#1526、#1529。Idle 冷却src/notifications/idle-cooldown.ts 防止 session-idle 通知刷屏。冷却时长解析顺序OMX_IDLE_COOLDOWN_SECONDS环境变量 → 配置notifications.idleCooldownSeconds位于~/.codex/.omx-config.json→ 默认 60 秒设为 0 完全关闭限流。状态落盘于.omx/state/idle-notif-cooldown.json有会话 ID 时按会话隔离。Follow-up 关键词告警与元数据误报抑制来自元数据衍生的误报被过滤post-stop 后的关键词重放被抑制#1526、#1529。陈旧死会话 HUD 残留清理在 follow-up 工具读取前清除死会话的 HUD 残留#1539配套问题 #1538。Hook 与团队交付可靠性本版本对 hook 派发与团队交付做了又一轮稳定化数组型 assistant prompt 正确触发 needs-input 监听#1487/#1486此前数组形态的提示不会进入等待输入状态现在得到修复。本地 worker 运行时启动不再被陈旧排队草稿或误导性滚动缓冲卡住#1491/#1493解决启动即 stall 的问题。Ralph steer/handoff 与 release-readiness finalize 逻辑保持作用域内、跨会话不粘滞#1496/#1514避免状态泄漏到后续会话。Hook cwd 别名不匹配不再破坏 managed-session 逻辑或归属跟踪#1495。malformed native-hook stdin JSON 防御式处理#1504/#1503畸形输入不再级联为运行时不稳定。启动与运维安全dirty worktree 与审批流Dirty worktree caution 流程#1535/#1532对于可复用的 dirty worktree启动前先告警再复用caution 路径之外仍保留硬失败语义——告警不等于放行一切。工作树依赖引导复用父仓库依赖#1510/#1507safe-launch worktree 不再强制全新安装而是复用父仓库依赖显著加快启动。Claude issue 会话可在明显仓库读取场景继续推进#1537/#1536不再因不必要的审批提示而停顿审批流更贴合实际操作。tmux 团队 worker 保留代理环境访问#1523/#1522tmux 会话中代理配置得以透传。用户自撰 AGENTS 内容在 setup 刷新后幸存#1524/#1521刷新不会覆盖用户对 AGENTS 的定制。MCP / app-server 表面修复Superseded MCP stdio 兄弟进程不再堆积#1517/#1516在存活的 Codex app-server 父进程下被取代的 stdio 兄弟进程得到清理避免进程泄漏。state 与 wiki 的 MCP parity 表面通过专用 CLI 路由与 bootstrap 注册开放#1481wiki 能力与 state 能力获得同等的一等调用入口。Dev 合入后自动关闭 issue 工作流新增的 dev merge issue auto-close#1541/#1540合入dev分支的 PR可在合入后自动关闭明确关联的本地 issue并附带维护者评论从而把dev 合入 → issue 收尾的工作流自动化减少人工追踪成本。元数据同步与文档版本元数据同步Node/Cargo 包元数据、lockfile、CHANGELOG、release body 与 release notes 全部对齐0.12.6。README 与本地化文档开始记录规范的OMX Codex 混合 skill 根以及新的 wiki 工作流入口#1534/#1531。验证证据0.12.6 合入前通过了完整验证链详见 docs/release-notes-0.12.6.md 的 Verification evidence 一节npm run build✅npm run lint✅npm test✅npm run test:recent-bug-regressions✅node --test dist/cli/__tests__/version-sync-contract.test.js✅npm run smoke:packed-install✅小结0.12.6 是 OmX 在知识沉淀与投递可靠性两个方向上的里程碑wiki 以存储、摄取、查询、lint、生命周期五层原语 MCP/CLI 双通道成为完整工作流通知链路通过 lifecycle 去重、idle 冷却、指纹与状态文件落盘显著降噪dirty worktree 与审批流在安全与流畅之间取得新平衡dev→issue 的合入闭环开始自动化。对使用 OmX 的团队而言本版本可直接受益的落地动作包括开启wiki.autoCapture沉淀会话日志、用wiki_lint定期体检知识库、按需调低OMX_IDLE_COOLDOWN_SECONDS控制通知频率以及把 wiki 查询接入 explore 之前的知识注入。【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考