跳到正文
Hacker News· grandimam·· 9 天前AI 评分50

Wy:用 Rust 编写的终端工具,把 Git diff 与 Codex / Claude Code 对话关联起来审查 AI 生成代码

Show HN: Wy – a Rust terminal tool for understanding AI-generated code

AI 导读

Wy 是一款 Rust 终端工具,把 Git diff 与保存的 Codex 或 Claude Code 对话关联,让开发者同时查看代码改动与智能体给出的理由。

正文 · AI 翻译

wy's front-facing pixel owl mascot

用于审查 AI 生成代码的终端工具。

查看变更。阅读理由。打开证据。

将 Git 差异与保存的 Codex 或 Claude Code 对话关联起来,并请求带有可检查来源的解释。

Experimental Codex + Claude Code Offline by default MIT License

开始使用 · 工作原理 · 命令指南

你的智能体添加了一个缓存。为什么需要它,当缓存数据发生变化时会发生什么? wy 将代码和相关对话带入同一次审查中,以便你可以检查所述理由并调查权衡。

wy terminal UI showing changed files, a cache diff, and cited agent notes side by side

当前 UI 及示例数据。选择一个文件以同时查看其变更和保存的智能体笔记。

开始使用

直接从 GitHub 安装,需要 Rust 1.88+、Git 和 C 工具链:

cargo install --git https://github.com/grandimam/wy --locked wy-code

打开一个你一直在处理的仓库:

cd /path/to/your/repo
wy

wy 会自动加载你的变更和匹配的智能体历史记录。

  1. 使用 ↑ / ↓ 或点击选择一个文件,以查看其变更和可用的智能体笔记。
  2. 当你需要更多上下文时,按 e 来丰富解释。它运行时你可以继续浏览;当你可以返回时,文件会显示就绪。
  3. 按 s,使用 ↑ / ↓ 选择一个来源,然后按 Enter 检查证据。你也可以直接点击一个来源。

Tab 切换窗格 · Esc 返回 · i 提出后续问题 · ? 打开帮助 · q 退出。

Codex 是默认的应答智能体;输入 /agent claude 进行切换。丰富解释需要所选 CLI 已安装并登录。变更、智能体笔记和保存的证据可离线使用。

所有快捷键 · 审查智能体会话 · Shell 命令

证据如何被捕获和解释

  1. 读取现有会话日志。 像往常一样使用 Codex 或 Claude Code。当你打开 wy 时,它会发现记录的工作目录属于你的仓库的本地日志。你无需在编码前启动 wy 记录器。
  2. 将代码和上下文保持在一起。 wy 读取 Git 差异和源文件,并导入可见消息、工具调用和结果。支持的编辑记录即使在提交后也会保留会话代码。摘录在本地 .wy/ 工件中保留其文件、会话和事件引用。
  3. 在你询问时进行解释。 按 w 让你已安装的智能体 CLI 选择相关代码,并使用有界、脱敏的代码、差异和对话摘录进行解释。wy 检查引用是否指向提供的证据,以及记录的理由是否包含精确保存的助手引文。

配置缓存的示例解释:

记录的理由: “我缓存了 load_config 以避免在每个请求上读取相同的配置文件。” [1]

实现: load_config 现在使用 @lru_cache(maxsize=128) 来为相同参数重用结果。 [2]

接下来检查: 如果配置文件在进程运行时发生变化,下一次调用是否应该看到新内容?

打开像 [1] 这样的引用会显示保存的助手消息和周围的对话;[2] 显示支持代码。答案是对该证据的新评估。wy 会将其与来源一起保存,并在你重新打开时标记后续代码变更。

有关日志位置和捕获限制,请参阅项目历史。

你可以质疑的证据

wy 将已陈述的内容、推断的内容和未知的内容区分开来。

状态 含义
已记录 在智能体可观察的记录中找到了相关的、明确的依据。
已推断 仓库证据支持某一假设;假设仍然可见。
未解释 该选择是可见的,但其动机并未由现有证据确立。

已记录的陈述仍可能是错误的。关联的会话并不能证明作者身份。新的模型评估与原始依据保持分离,且绝不会将其升级为已记录。

默认本地运行。需要时使用 AI。

模式 运行内容 所需条件
离线审查 · wy review、wy explain、wy ask 本地检测、证据检索和缓存调查。无模型或网络请求。 一个 Git 仓库。
智能体解释 · wy reason、wy why、应用内 /reason、/why 或 /ask 你安装的 Codex 或 Claude CLI 接收有界的、经过脱敏的证据,并返回一份新的评估。 所选的 CLI、登录状态和可用的账户用量。
可选的模型增强 · --model 配置好的 Ollama 兼容端点会增强检测到的决策或回答后续问题。 显式配置的模型和端点。

wy 不会修改应用源代码,也不会执行它所审查的代码。审查结果、源代码快照和规范化对话摘录都保存在本地 .wy/ 产物中,除非你明确请求模型处理。私有推理内容被排除。脱敏为尽力而为;本地产物未加密。在分享仓库之前,请将 .wy/ 添加到你的仓库的 .gitignore 中。

有关 Ollama 配置以及由现有编码对话提供的评估,请参阅模型设置与反思工作流。

实验性状态

wy 是实验性软件(0.2.0)。其界面、命令和保存的产物格式仍在演进。请将其解释作为调查的起点,并对照所引用的代码和对话核实重要论断。

离线检测有意保持选择性,每次审查最多十二项决策。它涵盖缓存、依赖版本、运行限制、数据库模式和重试等模式;它不会发现所有架构决策。Rust、JavaScript、TypeScript 和 JSON 使用 tree-sitter 语法导航;其他文本文件使用行锚点。检索是词法层面的,引用需要人工判断。

开发

从检出目录开始:

cargo check --locked
cargo test --locked

自动化检查验证的是回归,而非真实世界的准确性。其范围请参阅评估。

命令指南 · 发布设置 · 架构与限制 · 安全边界 · Codex 格式支持

依据MIT许可授权。

来源:Hacker News · github.com