
kin v0.4.5
面向AI编写软件的语义记录系统:实体与关系的图谱,而非文件差异。
代码的新基础。
Kin 是一个面向人类和 AI 代理的图原生代码仓库。 它将源代码、记录的代码关系以及版本化历史作为仓库状态存储。图就是仓库模型,而不是在另一个仓库旁边维护的搜索索引。
函数、类型以及它们之间的关系都是你可以提交、分支和合并的数据。精确的源代码按字节保留,文件系统投影让受支持的工具可以继续使用普通文件。
公开 alpha 版。 请从一个你熟悉的小型仓库开始。请预期会有粗糙之处和破坏性变更。
点一个 star 可以帮助其他人发现 Kin,而 Discussions 是提出相关问题的好去处。
看看什么与之相连
在修改一个共享函数之前,你还应该检查什么?Kin 让你可以查找它记录的调用者并探索相关代码。CLI 和 MCP 服务器查询同一个图,因此你和你的代理可以基于同一份记录工作。
记录于一个准备好的 ripgrep 图,位于 e89fff89ac9af12e8d4ce9d5fd07beb408ca730f。原始运行产物未公开。这展示的是一种工作流程,而非性能基准。
在 Claude Code、Codex 或 Cursor 中使用它
对于 Claude Code:
/plugin marketplace add firelock-ai/kin
/plugin install kin@kin
对于 Codex,添加 marketplace 并安装插件,或者让 kin setup --intent agent 为你把 MCP 服务器写入 ~/.codex/config.toml。
对于 Cursor,手动添加 MCP 服务器;确切片段请参见 plugins/kin-cursor。
安装后,在一个你熟悉的小型仓库中运行 kin init .;kin-setup 技能会引导你完成其余步骤。
Kin 未发布在 crates.io 上。那里的 kin crate 是一个无关项目。
快速开始
请使用一个小型 Git 仓库的一次性副本。导入会包含其全部可达历史,可能需要大量时间和内存。不支持浅克隆、子模块和 Git LFS。
1. 安装
一条命令,在 macOS、Linux、Windows 和 WSL 上完全相同。它会安装 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 PowerShell、其他安装程序或故障排除,请参见完整快速开始。
2. 初始化仓库
在新的提示符下,替换下面的路径:
cd /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. 连接你的代理
准备本地嵌入,然后配置检测到的 MCP 客户端:
kin embed &&
kin setup --intent agent &&
kin setup status --json
Kin 支持 Claude Code、Codex、Cursor、Gemini 以及其他 MCP 客户端。对于 VS Code,请使用 kin setup --intent editor。Kin 还包含 kin agent run,用于本地或托管的 OpenAI 兼容模型端点。
本地导入、存储和查询都在你的机器上运行。安装和初始嵌入模型下载需要网络访问。在嵌入准备好之前,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 仓库。
Alpha 限制
覆盖范围不完整。 受支持的语言会被解析为实体和关系;其他文件仍可作为内容和历史使用。空结果并不能证明没有调用者或依赖项。请继续使用你的编译器、测试和审查。参见语言支持。
兼容性各不相同。 文件系统投影有单独的平台和工具限制。在依赖它之前,请查看平台说明。
保留仅存在于 Kin 的状态。 删除 .kin 并从 Git 重新导入不会恢复仅存在于 Kin 中的提交、审查或其他状态。请阅读导入、恢复和升级说明。
Windows。 原生 Windows x86_64 支持尚处于早期阶段。仓库接纳可以工作:kin init 导入 Git 仓库并发布图权威,图、词法和守护进程支持的查询可以原生应答。透明文件系统投影尚未在 Windows 上发布,端到端安装验证尚未覆盖那里的 MCP 或审查工作流程,因此 WSL2 仍是获得完整 Kin 体验的推荐路径。
我为什么构建 Kin
我一直看着编码代理拼凑我们已经处理过的代码库的各个部分。然后我会自己做一遍类似的工作来审查它们的更改。我开始思考,为什么更多这种结构性理解没有成为仓库本身的一部分。
这就是我正在用 Kin 构建的东西。
Troy
了解更多并参与贡献
CLI 参考 · 架构和详细限制 · 贡献 · 问题 · 安全
Kin 及其本地技术栈,包括 kin-db,采用 Apache-2.0。KinLab 是独立的专有托管产品。公共仓库入门仍在开发中。