ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

oh-my-openagent 怎么开启 hashline_edit 并验证哈希锚定编辑生效?

oh-my-openagent 怎么开启 hashline_edit 并验证哈希锚定编辑生效? oh-my-openagent 怎么开启 hashline_edit 并验证哈希锚定编辑生效【免费下载链接】oh-my-openagentOmO: Just type mass ulw keyword with your prompt. Now you are the master of graph engineering.项目地址: https://gitcode.com/gh_mirrors/oh/oh-my-openagent在 oh-my-openagentOmO的 OpenCode Ultimate Edition 中默认的Edit工具要求模型逐字复现要修改的行内容一旦复现失败编辑就会落到错误位置或报错。开启hashline_edit后OmO 会用哈希锚定的edit工具替换内置Edit每次Read的输出中每行都带上LINE#ID内容哈希标记编辑按这些标记定位应用前校验哈希文件自上次读取后变化过就直接拒绝而不是带着脏数据继续改。本文覆盖的操作目标只有一个在~/.omo/omo.jsonc中把hashline_edit设为true然后确认哈希标记出现在 Read 输出、edit工具已切换为哈希锚定版本、过期编辑会被拒绝。准备条件已按 安装指南 安装 Ultimate EditionOpenCode 宿主bunx oh-my-openagent install。该功能是 OpenCode 插件侧的特性Codex Light 版与本文路径无关。确认自己的配置文件位置。OmO 各宿主统一读一个配置文件配置参考用户层最低优先级~/.omo/omo.jsonc项目层从当前工作目录向上逐级查找的.omo/omo.jsonc离工作目录越近优先级越高配置文件是 JSONC支持//行注释和尾逗号。hashline_edit默认关闭不开启时edit仍是 OpenCode 原生的按行号编辑。开启 hashline_edit在配置文件的[opencode]块内加入布尔开关hashline_edit: true。最小改动示例{ [opencode]: { hashline_edit: true } }仓库自带的完整编码向示例 coding-focused.jsonc 中该键就放在[opencode]块下hashline_edit: true可对照格式。JSONC 支持尾逗号写法和上面一致。如果已有其他配置只需要在原有[opencode]块里追加这一个键不需要改动 agents、hooks 等其他部分。配置生效后OmO 会做两件事configuration.md - Hashline Edit注册哈希锚定的edit工具替换 OpenCode 的行号编辑激活伴随钩子hashline-read-enhancer负责给 Read 输出打上LINE#ID标记。验证哈希锚定编辑生效1. Read 输出出现 LINE#ID 标记让 agent 读取任意一个文件检查Read工具输出是否每行都带上了行号#ID前缀格式为{line_number}#{hash_id}hash_id是 2 个字符取自字符集ZPMQVRWSNKTXJBYH标签与行内容之间用|分隔。README 中给出的示例输出文档示例实际行号与哈希随文件内容变化11#VK| function hello() { 22#XJ| return world; 33#MB| }如果 Read 输出仍是普通行号、没有#ID标记说明配置没有加载到当前会话回到配置文件中检查hashline_edit是否位于[opencode]块内并重启 OpenCode 会话后重读文件。2. edit 工具已切换为哈希锚定版本按 features.md - Tools 的说明哈希锚定的edit工具LINE#ID只有在hashline_edit: true时才会注册默认是false。启用后 agent 发起编辑时引用的就是这些标签而不是纯行号。编辑操作的输入形如来自工具实现文档 hashline-edit/AGENTS.md 的示例{ op: replace, pos: 42#VK, lines: function hello(name: string) { }其中42#VK表示哈希为 VK 的第 42 行。所有编辑只用replace/append/prepend三种操作。3. 过期编辑被拒绝这是哈希锚定的核心价值也是最终验证点在文件自上次 Read 之后发生变化时再次发起编辑哈希会失配编辑在写入前就被拒绝并返回带当前文件状态的 diff而不是静默写坏文件。按实现文档列出的行为核对哈希不匹配文件已改动→ 编辑被拒绝附当前状态的 diff编辑范围重叠 → 检测到并拒绝replace缺少pos、或append/prepend的lines为空 → schema 校验报错。验证方式让 agent 读一个文件然后你手动修改该文件再要求 agent 修改同一区域如果 agent 的编辑被拒绝且提示内容与当前文件状态不符说明哈希校验在工作。反过来未改动的文件上按标签编辑应正常应用并在结果中给出 unified diff 输出。可选分支关闭伴随钩子或整体回退只想关闭 Read 输出加标记、保留edit工具本身用disabled_hooks禁用hashline-read-enhancerconfiguration.md 明确支持。需要旧的行号编辑行为installation.md 的 Hashline 一节给出的关闭方式是hashline_edit.enabled: falseconfiguration.md 记录的形式是布尔值hashline_edit。两处文档写法不同按你当前版本文档为准即可语义都是回到 legacy 编辑。限制该功能仅属于 Ultimate EditionOpenCode 插件LightCodex CLI与 Senpi 不受此配置控制。开启后Edit即被替换不再可用旧的按行号编辑路径二者不并存。hashline_edit默认关闭不配置时的行为与升级前一致。参考文档Hashline Edit 配置项Hash-anchored edits安装指南章节edit 工具注册条件hashline-edit 工具实现说明编码向配置示例【免费下载链接】oh-my-openagentOmO: Just type mass ulw keyword with your prompt. Now you are the master of graph engineering.项目地址: https://gitcode.com/gh_mirrors/oh/oh-my-openagent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表