mcpField
U
Unwritten

Unwritten

本地服务
github.com开发工具112 周前更新

关于 Unwritten

Unwritten 从仓库的 git 历史中学习文件的协同变更规律,找出可能遗漏的关联文件或 C# 成员。它可通过 MCP 供编码 Agent 检查编辑,也能作为 CLI 或提交钩子运行,并为警告提供置信度和示例提交。

主要功能

  1. 01从 git 历史学习协同变更规律
  2. 02标记遗漏的关联文件和成员
  3. 03显示置信度与示例提交
  4. 04按文件分析任意语言的仓库
  5. 05提供 C# 成员检查和 JSON 噪声过滤
  6. 06通过 MCP、CLI 或钩子运行

适用场景

  1. 01提交前检查 Agent 的编辑
  2. 02修改实现文件后发现遗漏的测试
  3. 03在 pre-commit 钩子中运行仓库检查

MCP 相关

作为 MCP 服务运行,供编码 Agent 调用 `check_holes` 检查编辑。它也提供 CLI 和基于钩子的检查方式。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
nugetUnwritten0.4.6

工具

还没有获取到工具列表

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

详细介绍

Unwritten

NuGet Downloads License: MIT

找出你或 AI Agent 忘记修改的文件。 Unwritten 会从你的 git 历史中学习通常会一起变更的文件,并在你遗漏某个文件时发出提醒:“你修改了 OrderService.cs,却没有修改 OrderServiceTests.cs,而这两个文件有 94% 的概率会一起变更。”它将这些遗漏的配套文件称为 缺口,并为每条提醒提供置信度分数和真实提交示例作为依据。

1 possible hole(s):

  src/Orders/OrderServiceTests.cs
    expected because you changed src/Orders/OrderService.cs
    confidence 0.826 (90 co-changes in 100 changes)
    e.g. 3f2a1c9 Add surcharge handling to freight calculation

FAIL: at least one hole at confidence >= 0.70.

它以 MCP 服务的形式运行,让 AI 编码 Agent(Claude Code、Copilot)能够在会话中途检查自己的修改;也可以作为 CLI 用于提交前钩子。只需运行一次 dotnet tool execute,索引保存在 .unwritten/ 中,无需服务、订阅或令牌。

适用于任何语言。 文件级规则只需 git 历史,因此无论是 Python、TypeScript、Go 还是混合仓库,缺口检测的工作方式都相同。C# 仓库还可获得方法级规则和外观修改过滤;JSON 文件则可进行键级噪声过滤。运行该工具需要 .NET SDK(10+),但它分析的仓库可以使用任何语言。

快速开始

在仓库根目录下:

  1. 预热索引(可选——每条命令首次运行时都会构建索引,并自动保持索引为最新;预热只是为了加快首次查询)。
dotnet tool execute Unwritten --yes -- reindex
  1. 注册为 MCP 服务(Claude Code):
claude mcp add unwritten -- dotnet tool execute Unwritten --yes -- mcp

3.(如果使用 Claude Code,建议执行)让检查变得确定:配置一个 git 提交前钩子和 Claude Code Stop 钩子,在提交前将未通过的缺口反馈给 Agent:

dotnet tool execute Unwritten --yes -- install-hook --git --claude-code

就这样——现在你的 Agent 可以在编辑后调用 check_holes,钩子则会捕获它忘记修改的情况。

说明视频

https://github.com/user-attachments/assets/4ae7a22d-c611-458f-8c48-08f87eca1d29

实际演示

stats 会显示工具学到了什么——这里有一对关联性足够强(置信度 ≥ 0.7)的文件,如果缺少其中一侧,就会阻止提交:

索引统计信息显示一对高置信度文件

修改这对文件中的一个后,check 会提醒你缺少配套文件,并说明三种解决方法——更新配套文件、仍然提交,或停用该规则:

check 报告缺少配套文件,并提供解决选项

安装提交前钩子后,同一项检查会在每次提交时自动运行,并在配套文件仍缺失时阻止提交:

提交前钩子因缺少配套文件而阻止提交

文档

其他内容请参阅 docs/README.md:

License

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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