mcpField
H
hunch

hunch

本地服务
hunchmemory.com记忆与知识13今天更新

关于 hunch

Hunch 将工程记忆和共享工作状态记录保存在 Git 中,帮助编码 Agent 跨会话延续决策、证据、规则与承诺。它结合仓库上下文、自托管状态服务和明确检查;实际工作仍由助手完成。

主要功能

  1. 01基于 Git 的工程记忆
  2. 02关联代码的决策与缺陷历史
  3. 03通过 MCP 和钩子提供重点上下文
  4. 04规则与架构关系检查
  5. 05带作用域的共享状态记录
  6. 06任务报告和只读浏览器视图

适用场景

  1. 01查明代码或决策的由来
  2. 02修改代码前获取重点上下文
  3. 03按可信团队规则检查变更
  4. 04在多个 Agent 间共享承诺和行动记录

MCP 相关

Hunch 通过 MCP 和支持的生命周期钩子提供仓库记忆,并由可自托管的 HTTP 服务向 MCP 客户端提供共享状态记录。状态接口也可通过命令行及带类型的 TypeScript、Python 客户端使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"davesheffer-hunch": {
"command": "npx",
"args": [
"-y",
"@davesheffer/hunch"
]
}
}
}
启动命令npx -y @davesheffer/hunch

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@davesheffer/hunch1.38.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Hunch

为 AI Agent 共享的记录:做出了什么决定、发生了什么,以及还有哪些事待办。

npm version GitHub stars license

开启一个新的 Agent 会话,不该意味着要把整个项目从头解释一遍。第二个 Agent 应该能够查看已记录的决定,了解已完成工作的依据,并找到尚未履行的承诺。

Hunch 将这些记录保存在 Git 中,并向你的 Agent 提供相关内容。它最初专注于工程记忆:代码为何存在、哪些方案曾经失败,以及更改必须遵守哪些规则。它还提供一个状态服务,用于在经过授权的组织、团队、用户和仓库范围内共享决定、行动记录和承诺。

目标很简单:让 Agent 基于同一份持续维护的记录开展工作,并能查看记录来源。Hunch 提供记忆和检查;实际工作仍由助手完成。

观看:2 分钟了解 Hunch Memory

▶ 观看 2 分钟了解 Hunch Memory,然后观看介绍设置、钩子、记忆捕获、交付、规则、偏移和团队的7 集系列视频。

从你的编码助手开始

需要 Node 22.13+ 和一个 Git 仓库。

npm i -g @davesheffer/hunch
cd your-repo
hunch init
hunch backfill --since 90d   # optional: draft memory from recent history

如果 shell 提示找不到 hunch,请在仓库目录中不使用全局二进制文件来初始化:npx -y @davesheffer/hunch@latest init。

重新加载你的助手,然后提问:

为什么要这样构建?更改时应该保留什么?

hunch init 会为代码编制索引、配置受支持的助手集成,并添加记忆说明,同时保留现有设置。对于 Codex 钩子,请检查并信任 /hooks 中的命令,然后开始一个新会话。**记忆默认仅供参考。**只有明确受信任的规则和严格执行机制才能阻止操作。

Hunch 适用于 Claude Code、Codex、Cursor、VS Code/Copilot、Windsurf、Antigravity 及其他 MCP 客户端。自动上下文和钩子的覆盖情况因助手而异;仅连接 MCP 服务并不能证明它们正在运行。检查你的集成。

如今你能获得什么

需求Hunch 如何提供帮助
不再反复解释过去的决策保存决策、被否决的替代方案、错误历史、修正内容和未解决的发现,并注明来源。
做出更改前先了解情况将记忆与代码符号及依赖关系关联起来;展示受影响的代码和记录在案的架构意图。
让 Agent 在不同会话间掌握信息通过 MCP 和受支持的生命周期钩子,为任务提供重点简报。
检查团队选定的规则在阻塞流程中不经过大模型,评估受支持的约束和代码关系。
查看任务期间发生了什么在贡献报告中分别呈现已交付的记忆、Agent 报告的使用情况、规则结果和观测到的命令结果。
与队友共享项目记忆将仓库记忆保存在 Git 中,并可选择使用专用的私有记忆仓库。
在多个 Agent 间共享工作状态通过 HTTP、MCP、状态 CLI,以及具备类型定义的 TypeScript 和 Python 客户端,提供经过授权的记录。
检查 Agent 了解的内容只读浏览器视图会展示当前记录、承诺、已完成工作和撰写者提供的引文。
明确访问权限和约定可选的逐条记录受众、绑定密钥的凭据和注明来源的约定,使用相同的状态契约。

例如,团队修复一个登出错误时,让会话保留在服务器上。几个月后,某个 Agent 提议移除这段代码。Hunch 可以在编辑前呈现最初的原因和被否决的替代方案。受支持且可信的规则可以标记冲突;严格模式可以阻止更改。记录经验并配置集成,才能实现这一点。

日常使用

命令用途
hunch context "<task>" --profile builder开始前获取重点简报
hunch why <file-or-symbol>了解代码背后的决策和过往错误
hunch structure [target]检查已索引的文件和符号
hunch findings [scope]查看仍待处理的已知问题
hunch impact origin/main查看分支可能影响的内容
hunch check --working根据已记录的规则检查当前更改
hunch conform检查受支持的架构关系
hunch now阅读近期决策和已记录的路线图
hunch doctor诊断设置和存储问题

审核并信任相关规则后,可启用强制执行:

hunch firmness strict
hunch check --staged --strict

生成的笔记、观测到的习惯和导入的文档不会在未提示的情况下获得阻止权限。

更新而不丢失设置

对于每个使用 Hunch 的代码库:

hunch update

如果 shell 提示找不到 hunch,请改为在代码库中运行 npx -y @davesheffer/hunch@latest update。

或者让你的 Agent “更新 Hunch。” 该命令会安装最新版本、同步已配置集成的版本固定项、修复已知的旧版启动命令,并刷新 Hunch 指令。它会保留无关设置和有意禁用的钩子。

已安装的交互式 CLI 命令也可能显示缓存的更新通知。每 24 小时最多一次,后台分离运行的工作进程会向 npm 查询软件包公开的 latest 版本;钩子、MCP、CI、服务、更新程序、非交互式命令和源码检出会跳过此请求。设置 HUNCH_NO_UPDATE_CHECK=1 或 NO_UPDATE_NOTIFIER=1 可禁用此功能。

  • 独立的 npm 项目会在现有依赖项部分中以精确版本保留 Hunch。若代码库没有声明依赖项,则更新全局 CLI。添加 --global 可同时更新两者。
  • 对于其他软件包管理器或工作区,请使用相应的软件包管理器更新依赖项,然后运行 hunch integrations repair-pins。
  • 重启或重新连接正在使用的助手。在 Codex 中,打开 /hooks 查看并信任已更改的命令,然后启动新会话。版本固定项变更会导致命令改变,因此需要重新信任。

验证设置:

hunch integrations check
hunch integrations check --harness codex --probe --require mcp
hunch integrations check --harness codex --require context

第一个命令会检查配置。探测程序会启动一个全新的 MCP 进程并读取记忆。上下文检查要求观察到预期版本上的钩子交付,因此请在新的助手会话开始后运行。若指定的功能未经验证,--require 会失败;这些检查都不能证明模型遵循了建议。

从代码库中移除 Hunch

hunch uninstall --dry-run   # show what would change
hunch uninstall             # remove what Hunch installed; keep .hunch/ (your memory)
hunch uninstall --purge     # also delete .hunch/, the derived cache and Hunch's .gitignore blocks

此命令会移除 Hunch 安装的指令块、MCP 条目、Agent 和 git 钩子、合并驱动、斜杠命令及 CI 工作流,并保留这些文件中的自有内容。如果需要编辑的文件无法解析,它不会进行任何更改,并会指出相应文件。它会写入 .hunch-removed:只要该文件存在,任何 Hunch 命令都不会在此处重新设置 Hunch。请提交该文件,以便所有克隆版本都保持退出状态;要重新安装,请删除该文件并运行 hunch init。请先关闭正在运行的 hunch mcp / hunch serve 进程,以免它们重新创建文件。

查看 Hunch 提供的内容

任务报告会回答:哪些记忆传递到了此任务,Agent 声称使用了什么,以及实际运行了哪些检查?

常规 Agent 指令会要求生成一张完成卡片,其中包含本地证据报告的链接。你也可以直接查看报告:

hunch task list
hunch report <task-id> --html

已交付的经验、Agent 的说法和通过的测试是不同的证据。Hunch 会将它们分开保存。自动展示取决于宿主是否遵循任务生命周期;缺失的证据仍会标记为未经验证。

与团队共享一份持续更新的代码库记忆

由一位维护者连接一个专用的私有 Git 代码库:

hunch shared --repo [email protected]:acme/project-hunch-memory.git
git add .gitignore .hunch/team.json
git commit -m "chore: connect shared Hunch memory"
git push

团队成员安装 Hunch、拉取代码,并在每台机器上运行一次 hunch shared --trust:该命令会显示 .hunch/team.json 中的存储库 URL,并且只有在明确同意后才会建立连接。然后运行 hunch init。在机器信任该存储库之前,Hunch 不会克隆它,也不会将记忆路由到那里。共享代码库的访问权限由常规 Git 访问控制管理。凭据、本地克隆路径和私有覆盖内容不会包含在已提交的指针文件中。使用 hunch shared --sync 重试同步;如果捕获的内容应等待手动同步,请添加 --no-auto-commit。

这会共享项目的工程记忆。下方的状态服务器则可通过身份验证,在多个作用域之间提供访问。

确定性组织状态

编码 Agent 需要知道某个模块为何存在。运营 Agent 可能需要了解客户操作是否已完成,或下一步跟进应由谁负责。两者都需要一份经过维护、可供查阅的记录。

Hunch 提供 hunch serve:一个用于组织、团队、用户和仓库记录的可自托管 HTTP 服务。配置的身份决定 Agent 可以访问哪些范围。可选的记录受众可进一步限制访问;可选的密钥绑定凭据要求每次请求都使用已配置的私钥进行证明。

在服务器上打开 /operator,即可通过只读浏览器视图检查当前记录、已完成的工作和承诺。写入者提供的引用可以指向确切的摘要字段或文本段落,以及记录的来源。它们体现可追溯性,但不能证明来源支持某项主张。

Agent 可以通过 MCP、hunch state read|write|records|subscribe、@davesheffer/hunch/state TypeScript 客户端或 Python 客户端使用相同的契约。Python 包在此仓库中构建和测试;目前尚未发布到 PyPI。分范围的约定允许人员记录有来源依据的用户、团队或组织偏好。这些偏好仅供参考,不会悄然变成阻止性规则。

记录可以描述决策、行动结果、承诺、实体、关系,以及注明依赖项的摘要。行动会保留其状态,包括未知或未经验证的结果。重复写入具有稳定的标识,冲突的当前决策会被拒绝,而经确认的人工记录受到保护,不会被 Agent 覆盖。这些是针对结构化记录定义的检查;Hunch 无法独自确认外部世界中的所有事实。

这就是此处所说的确定性状态:明确的规则管理存储的记录,而不是让每个 Agent 都从头重建记录。Git 保存持久数据;SQLite 是可重建的索引。服务器绑定到 loopback,其部署和 Agent 集成由运营者负责。Hunch 不提供托管式 CRM 或电子邮件连接器服务。

请参阅完整文档。

愿景,以及仍在测试的内容

愿景是让人员、工具和 Agent 之间保持连续性:运营 Agent 记录客户问题,编码 Agent 找到相关决策并修复问题根源,然后运营 Agent 使用修复证据关闭承诺。

底层记忆和状态工具现已提供。更广泛的主张——不同 Agent 能否可靠地使用共享状态并避免相互矛盾的工作——仍在测量中。

Hunch 仍是产品名称。 nuryel.state/1 协议和 nuryel_* 工具名称是现有的技术标识;未来是否更名尚未决定。

项目 DNA:帮助 Agent 理解项目的运作方式

项目 DNA 描述观察到的仓库约定:术语、贡献习惯、评审预期和工程模式。工程记忆记录决策及其原因。两者都可以为任务提供参考,但频繁出现的行为不会因此成为政策。

hunch dna inspect
hunch dna context
hunch dna diff <older-ref> <newer-ref>

配置文件会保留其修订版本、来源、置信度和新鲜度。

您的数据与您的权限

  • 仓库采用本地优先模式,无需托管的 Hunch 账户。共享记忆通过 Git 访问;可选的状态服务使用已配置的身份和授权。
  • hunch private --repo <url> 会将敏感的项目推理保存在私有覆盖层中。公开导出和 CI 应使用仅包含公开内容的视图。
  • 起草内容可以使用选定的编码助手订阅、本地端点或确定性回退方案。使用按量计费的公共端点需要明确选择加入。合成与计费。
  • Agent 对外部操作和连接器权限负责。存储的记录并不授权发送电子邮件、部署或更改 CRM。
  • npm 和编辑器版本发布采用相互独立的发布关卡,并进行软件包完整性和来源证明检查。

了解更多

FSL-1.1-ALv2(功能源代码许可证)。您可以将其用于、修改并运行在自己的工作中,无论是内部用途还是商业用途;但不得在与 Hunch 或基于其构建的服务构成竞争的商业产品或服务中向他人提供(请参阅 LICENSE 中的 Permitted Purpose)。每个版本发布两年后都会转换为 Apache-2.0。本次变更之前发布的版本继续采用发布时所附的许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。