joecattt/tain

GitHub: joecattt/tain

TAIN 是一个将代码仓库压缩为字节稳定语义架构模型的反射引擎,通过 MCP 服务器为 AI agent 和团队提供诚实、可验证的代码结构地图。

Stars: 0 | Forks: 0

# TAIN ``` ╔══════════════════════════════════════╗ ║ ████████╗ █████╗ ██╗███╗ ██╗ ║ ║ ╚══██╔══╝██╔══██╗██║████╗ ██║ ║ ║ ██║ ███████║██║██╔██╗ ██║ ║ ║ ██║ ██╔══██║██║██║╚██╗██║ ║ ║ ██║ ██║ ██║██║██║ ╚████║ ║ ║ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ║ ║ the silver behind the glass ║ ╚══════════════════════════════════════╝ ``` **Tain** *(n.)* — 镜子的银色背衬;让倒影成为可能的那一层。 Tain 是一个反射引擎:将其指向任何代码仓库,它就会将代码库压缩成一个体积小巧、规范且 语义化的模型——即一个 `project.mirror` 文件——该文件捕获的是*架构* 而非文本。代码成为缓存;反射成为地图。 ``` Application → Tain → { hubs, layers, concepts, coverage, integrity } → project.mirror ``` ## 为什么 - **AI agent 在结构上是盲目的。** 它们在每次会话中都会重新读取你的代码仓库, 在文本上消耗大量 token,而它们真正需要的是地图。Tain 通过 MCP 将多 MB 代码库的 约 100 KB 反射结果(压缩率 50–70 倍)提供给它们,并带有优先校验的握手过程。 - **人类在架构上是盲目的。** 你的团队*认为*是核心的模块 通常并不是。在我们的首次真实测试中,Tain 颠覆了这张地图:实际的 #1 枢纽 (fan-in 为 148)完全超出了团队所持有的所有静态假设。 - **大多数分析工具都在自信地撒谎。** Tain 在每次 反射中都会提供一份覆盖率账本:它解析了多少条依赖边,以及具体是哪些 import spec 无法解析。它绝不会把 99.9% 向上取整为 100。 ## 快速开始(零依赖,无需构建步骤,Node ≥ 18) ``` git clone https://github.com/joecattt/tain cd your-project node /path/to/tain/mirror-engine/src/cli.js report . ``` 或者将其作为 MCP 服务器接入你的 AI 编辑器: ``` claude mcp add tain -- node /path/to/tain/mirror-engine/src/cli.js mcp ``` ## 包含内容 | | | |---|---| | [`mirror-engine/`](mirror-engine/) | 反射引擎:`scan` · `reflect` · `stats` · `report` · `diff` · `verify` · `mcp` · `badge` | | [`mirror-chaos/`](mirror-chaos/) | 对抗性测试固件套件 —— 六个结构性炸弹(动态导入、别名幻象、ReDoS 诱饵、symlink 循环),引擎必须能够幸存 | 亮点: - **字节稳定的序列化** —— 规范排序,易失字段置于尾部,因此 LLM 的 prompt-cache 前缀能够在重生成后留存 - **三向枢纽分类法** —— 领域枢纽 vs. 基础设施网关 vs. 垃圾抽屉;`mirror diff` 将 fan-in 的转移标记为*演进*或*退化 (REGRESSION)* - **完整性哈希** —— 对稳定前缀进行 sha256 校验;`mirror verify` 会告知你 (以及你的 agent)地图是否仍然与实际领域相符 - **诚实账本** —— 每次反射都会报告它*无法*解析的内容 ## 理念 软件的历史是一系列关于事实来源的变迁:开关 → 汇编 → 高级文本 → 分布式版本图。Tain 押注于下一个阶段:**将语义图 作为事实来源,而将源代码视为一种可能的渲染结果。** 每一项 设计决策都遵循一条规则:*绝不捏造。* 遗漏的边会被记入 覆盖率账本;而捏造的边将会出现在某人的事故报告中。 ## 出处 由 **Dreams Over Dollars Foundation** 创建。基于 MIT 许可协议 —— 尽管拿去用, fork 它,将它指向你最丑陋的代码仓库。
标签:AI辅助编程, MCP协议, MITM代理, 云安全监控, 代码分析, 代码大模型, 凭证管理, 文档结构分析, 架构分析, 自定义脚本, 静态分析