返回更新列表
新发布Sep 17, 2026

kin v0.7.20

基于语义图的AI编写代码版本控制。跟踪实体和关系而非文件差异,支持爆炸半径分析、影子合并审查以及MCP驱动的代理上下文,以实现可信的AI生成软件。

分享

Kin,一个面向人类和 AI 代理的代码仓库

代码的新基础。

Apache-2.0 Latest release

Kin 是一个面向人类和 AI 代理的图原生代码仓库。 它将源代码、记录的代码关系以及版本化历史作为仓库状态存储。图就是仓库模型,而不是在另一个仓库旁边维护的搜索索引。

函数、类型以及它们之间的关系都是你可以提交、分支和合并的数据。精确的源代码逐字节保留,文件系统投影让受支持的工具可以继续使用普通文件。

公开测试版。 在你熟悉的一个真实项目上试用 Kin。请预期会有粗糙之处。

快速开始 · 文档 · 浏览器演示

kin impact human_bytes --file crates/kin-cli/src/commands/cache.rs --kind function --depth 1,展示 Kin 自身代码库中它的直接调用者,旁边是对同一名称的 git grep 搜索

点个 star 能帮助其他人发现 Kin,而 Discussions 是提出相关问题的好去处。

看看什么与之相连

在修改一个共享函数之前,你还应该检查什么?Kin 让你可以查找它记录的调用者并探索相关代码。CLI 和 MCP 服务器查询同一个图,因此你和你的代理可以基于同一份记录工作。

对 ripgrep 执行的一次已记录的 kin impact 查询,展示签名变更的相关实体

记录于一个准备好的 ripgrep 图,位于 e89fff89ac9af12e8d4ce9d5fd07beb408ca730f。原始运行产物未公开。这展示的是一种工作流程,而非性能基准。

在 Claude Code、Codex 或 Cursor 中使用

对于 Claude Code:

/plugin marketplace add firelock-ai/kin
/plugin install kin@kin

对于 Codex,添加市场并安装插件,或者让 kin setup --intent agent 为你把 MCP 服务器写入 ~/.codex/config.toml。

对于 Cursor,手动添加 MCP 服务器;确切片段见 plugins/kin-cursor。

安装后,在你熟悉的一个项目的新克隆中运行 kin init .;kin-setup 技能会引导你完成其余步骤。

Kin 未发布在 crates.io 上。那里的 kin crate 是一个无关的项目。

快速开始

从一个你熟悉的项目的全新完整克隆开始。kin init 读取你的 Git 历史,不会更改它或你已跟踪的文件。它会添加一个 .kin 目录,并在 .git/info/exclude 中添加一行。导入涵盖你的分支和标签可达的每一个提交,因此时间、内存和磁盘占用随历史增长,而不是随检出的大小增长。在开始之前,kin init 会检查内存和可用磁盘,如果它已经能判断机器资源不足,就会带着具体数字停止。不支持浅克隆、子模块和 Git LFS,Git 钩子、稀疏检出或未完成的合并或变基也会阻止导入。kin init 会为每种情况指明修复方法,而全新克隆可以避免其中大多数问题。

1. 安装

在 macOS、Linux 和 WSL2 上,一条命令即可安装 Kin 并连接它发现的 AI 编码工具。它需要 Node.js 20 或更新版本:

npx -y @kinlab/kin setup

在没有 Node 的机器上,改用安装脚本。get.kinlab.ai 和 get.kinlab.dev 提供相同的脚本:

curl -fsSL https://get.kinlab.dev/install | sh

无论哪种方式,都要以单独的命令重新加载你的 shell,因为安装会把 kin 放到 ~/.kin/bin,并将该目录添加到你的 shell 配置文件中以供新会话使用:

exec "$SHELL" -l

在原生 Windows x64 上,使用 PowerShell 通过 irm https://get.kinlab.dev/install.ps1 | iex 安装。它安装 kin CLI,但不会连接 AI 编码工具,因为在 Windows 上 WSL2 仍是推荐路径。Beta 限制下的 Windows 条目说明了那里哪些功能可用。未发布原生 Windows ARM64 构建。在 ARM64 机器上,从 x64 PowerShell 运行该行以在模拟下安装 x86_64 构建,或使用 WSL2。安装程序会将 kin 添加到你的用户 PATH,因此在下一步之前,请打开一个新的 PowerShell 窗口来代替 exec "$SHELL" -l。

其他安装方式或故障排除,请参阅完整快速开始。

2. 初始化仓库

在新的提示符下,用 Kin 克隆一个仓库:

kin clone https://github.com/pallets/itsdangerous

或者初始化一个你已有的仓库,替换下面的路径:

cd /path/to/your/repository &&
kin init . &&
kin overview &&
kin status

两者都会以接下来要运行的命令结束,即关于该仓库中某个函数的 kin refs 问题。如果你在设置中允许,它们还会将 Codex CLI 和 Grok CLI 连接到它,因为这些客户端保留一个命名仓库的条目。

Windows PowerShell 5.1 没有 &&,因此在原生 Windows 上请一次运行一条相同的命令,并在某条失败时停止:

cd C:\path\to\your\repository
kin init .
kin overview
kin status

kin overview 显示 Kin 导入的实体。kin status 显示已接纳的内容以及工作树相对于它的状态。kin graph status 报告守护进程的实时查询图和覆盖范围。未提交和未跟踪的更改不属于导入的 Git 历史;kin init 会报告它遗漏了什么。

3. 问一个你能核实的问题

查找你已知存在于代码中的东西:

kin locate "<something you already know is in this repository>"

将下面的 ExactEntityName 替换为结果中的一个符号:

kin refs ExactEntityName
kin trace ExactEntityName
kin impact ExactEntityName

refs 返回记录的引用,trace 引入附近的上下文,impact 通过图探索潜在影响。将结果与源代码核对。

4. 你的 AI 编码工具和语义搜索

kin setup 在连接它发现的 AI 编码工具之前已经询问过,如果你同意就连接了它们。没有单独的链接步骤。在你安装另一个工具后,再次运行 kin setup,kin setup status 会显示已连接的内容。在 Windows 上,请在 WSL2 内连接 AI 工具。

语义搜索运行在一个约 523 MB 的本地模型上,设置会在任何下载之前询问。如果你拒绝了,或者 kin init 提示搜索索引正在等待模型,以下命令会下载它并构建索引:

kin embed

Kin 支持 Claude Code、Codex、Cursor、Gemini 以及其他 MCP 客户端。对于 VS Code,使用 kin setup --intent editor。Kin 还包含 kin agent run,用于本地或托管的 OpenAI 兼容模型端点。

客户端配置 · MCP 工具 · 内置代理

本地导入、存储和查询都在你的机器上运行。安装和初始嵌入模型下载需要网络访问。在嵌入就绪之前,kin locate 使用词法和图信号,并报告缺失的向量覆盖。

审查变更

在你想审查的 Git 分支上运行 kin init 后,将显式提交 SHA 与 main 进行比较:

kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)"

报告返回 PASS、NEEDS ATTENTION 或 WOULD BLOCK,并附有由图推导的影响和支持证据。它是建议性的: 它不会阻止合并或更改图状态。作者身份是声明的,而非独立验证的。

在有或没有 Git 的情况下使用 Kin

Kin 有自己的提交、分支、合并、差异和历史,包括在底层没有 Git 的仓库中。现有的 Git 仓库可以被导入,受支持的工作流程可以导出一个新的 Git 仓库。

原生版本控制演练 · Git 互操作性和导出限制

Beta 限制

覆盖范围不完整。 受支持的语言会被解析为实体和关系;其他文件仍可作为内容和历史使用。空结果并不能证明没有调用者或依赖项。请继续使用你的编译器、测试和审查。参见语言支持。

兼容性各不相同。 发布归档不包含已弃用的 kin-vfs 文件系统投影,因此没有可依赖的透明投影。查看平台说明了解每个平台支持什么。

备份仅存于 Kin 的状态。 你用 Kin 记录的提交、分支、审查和规范存放在 .kin 中,而不是 Git 中。删除 .kin 并从 Git 重新导入无法恢复它们,因此请先运行 kin backup create。阅读导入、恢复和升级说明。

Windows。 原生 Windows x86_64 支持尚处早期。仓库接纳可以工作:kin init 导入 Git 仓库并发布图权威,图、词法和守护进程支持的查询都能原生应答。端到端安装验证还会在原生 Windows 上运行代理设置,并从已安装的 MCP 服务器获得图支持的答案。透明文件系统投影未在 Windows 上发布,审查工作流程也尚未在那里测试,因此 WSL2 仍是获得完整 Kin 体验的推荐路径。

我为什么构建 Kin

我不断看到编码代理拼凑我们已经处理过的代码库的各个部分。然后我自己也会做类似的工作来审查它们的更改。我开始想,为什么更多的这种结构性理解不能成为仓库本身的一部分。

这就是我正在用 Kin 构建的东西。

Troy

了解更多并贡献

CLI 参考 · 架构和详细限制 · 贡献 · 问题 · 安全

Kin 及其本地技术栈,包括 kin-db,采用 Apache-2.0。KinLab 是独立的专有托管产品。公共仓库入门仍在开发中。

分类