depwire/depwire
GitHub: depwire/depwire
为 AI 编码助手提供本地依赖图与上下文层,解决 AI 不了解架构导致的盲改风险。
Stars: 19 | Forks: 1
# Depwire
[](https://www.npmjs.com/package/depwire-cli)
[](https://www.npmjs.com/package/depwire-cli)
[](https://registry.modelcontextprotocol.io/servers/io.github.atef-ataya/depwire)
[](https://glama.ai/mcp/servers/depwire/depwire)
[](LICENSE)
[](https://github.com/depwire/depwire/stargazers)
**你的 AI 不知道你的架构。Depwire 知道。**
Depwire 是你的 AI 编码助手与代码库之间的基础设施层。在 AI 接触任何文件之前,Depwire 已经绘制了所有连接、评估了每个风险,并模拟了每一次变更。

⭐ 如果 Depwire 帮你避免了构建失败,[给仓库加星](https://github.com/depwire/depwire) — 这有助于项目成长。
## 问题
AI 编码工具越来越智能。但它们仍有一个根本盲点:在动手之前,它们不了解你的架构。
你让 Claude 删除一个工具文件。它干净利落地删除了。自信满满,没有任何警告。
然后你运行构建。30 个文件崩溃了。
Claude 一无所知。它只看到一个文件,没看到 30 个下游消费者。
这不是模型的问题。这是上下文的问题。AI 在盲飞。
## 基础设施层

Depwire 位于你的 AI 与代码库之间。它使用 tree-sitter 构建完整的依赖图——确定性的,而非概率性的——并通过 17 个 MCP 工具提供给 AI。
四项保证:
- **本地运行** — 所有操作在本地机器完成。无云端解析。数据不离开你的设备。
- **安全** — 你的代码永不离开你的机器。安全扫描器无需 API 密钥。
- **令牌高效** — Depwire 提供预计算的图数据。你的 AI 获得精准答案,而非文件倾倒。工具调用减少 40%,文件读取减少 56%。
- **确定性** — tree-sitter 每次以相同方式解析代码。100% 准确。不是猜测。
## 从这里开始
```
npm install -g depwire-cli
```
三个命令用于理解任意代码库:
```
depwire viz # open interactive arc diagram in browser
depwire whatif # simulate changes before touching code
depwire security # scan for vulnerabilities
```
## What If 模拟
在触碰任何内容之前了解影响范围。
```
depwire whatif . --simulate delete --target src/utils/encode.ts
```
在 [honojs/hono](https://github.com/honojs/hono) 上的真实输出 — 352 个文件,6,245 个符号:
```
Health Score: 41 → 41 (+0 → unchanged)
Affected Nodes: 29
Broken Imports: 30
• src/utils/jwt/jwt.ts imports decodeBase64Url
• src/adapter/aws-lambda/handler.ts imports encodeBase64
• src/utils/basic-auth.ts imports decodeBase64
[27 more...]
Removed Edges: 32
```
在触碰单个文件之前。零文件 I/O。纯内存模拟。
五种操作:
```
depwire whatif . --simulate delete --target src/utils/encode.ts
depwire whatif . --simulate move --target src/utils/encode.ts --destination src/core/encode.ts
depwire whatif . --simulate rename --target src/utils/encode.ts --destination src/utils/encoder.ts
depwire whatif . --simulate split --target src/services/auth.ts --symbols "validateToken,refreshToken"
depwire whatif . --simulate merge --target src/utils/helpers.ts --merge-target src/utils/formatters.ts
```
不带 `--simulate` 运行以打开浏览器 UI — 并排弧图展示当前状态与模拟状态。
## 安全扫描器
AI 生成的代码会引入漏洞。Depwire 在它们到达生产环境前捕获它们。
```
depwire security . # full repo scan
depwire security . --target src/auth.ts # single file
depwire security . --format sarif # GitHub Security tab integration
depwire security . --fail-on high # CI gate — exit 1 if HIGH or above
depwire security . --class injection # specific check only
```
在 honojs/hono 上的真实输出:
```
6 Critical 19 High 14 Medium 1 Low
```
10 个检查类别:依赖项 CVE、Shell 注入、硬编码密钥、路径遍历、认证绕过、输入验证、信息泄露、密码学弱点、前端 XSS 以及架构级风险。
图感知严重性:一个可通过 MCP 工具或 HTTP 路由访问的中等 Shell 注入会自动升级为关键。这是通用 SAST 工具无法复制的——Depwire 了解你的架构,因此知道什么实际可达。
作为 MCP 工具 `security_scan` 提供,并通过 `depwire-cli/sdk` 使用。
## 可视化

```
depwire viz
```
交互式弧图,展示你整个代码库。每个文件、每个连接、每个依赖关系一目了然。悬停查看详情。点击筛选。导出为 PNG 或 SVG。
## 时间图谱

```
depwire temporal
```
通过 Git 历史观察架构演化。时间轴滑块回溯提交——弧图随代码库的生长、耦合与重构而变形。这是别人从未做到过的。
## 全部命令
| 命令 | 描述 |
|------|------|
| `depwire viz` | 浏览器中的交互弧图 |
| `depwire whatif` | 在触碰代码前模拟变更 |
| `depwire security` | 扫描漏洞——图感知严重性 |
| `depwire health` | 6 个维度的 0-100 架构健康分 |
| `depwire dead-code` | 带置信度评分的未使用符号查找 |
| `depwire docs` | 生成 13 份架构文档 |
| `depwire temporal` | 通过 Git 历史可视化架构演化 |
| `depwire parse` | 解析并导出依赖图为 JSON |
| `depwire mcp` | 启动 MCP 服务器供 AI 编码助手使用 |
所有命令自动检测项目根目录。无需路径配置。
## MCP 服务器 — AI 集成
将 Depwire 连接到任意 MCP 兼容的 AI 工具。你的 AI 可自主调用 17 个工具。
**Claude Desktop** — 添加到 `~/Library/Application Support/Claude/claude_desktop_config.json`:
```
{
"mcpServers": {
"depwire": {
"command": "npx",
"args": ["-y", "depwire-cli", "mcp"]
}
}
}
```
**Cursor** — 设置 → 功能 → 实验性 → 启用 MCP → 添加服务器:
- 命令:`npx`
- 参数:`-y depwire-cli mcp`

### 17 个 MCP 工具
| 工具 | 描述 |
|------|------|
| `connect_repo` | 连接到任意本地项目或 GitHub 仓库 |
| `get_architecture_summary` | 项目高层概览 |
| `get_file_context` | 完整上下文 — 导入、导出、依赖者。包含跨语言连接。 |
| `get_dependencies` | 某符号依赖什么? |
| `get_dependents` | 依赖此符号的是什么? |
| `get_symbol_info` | 查询任意符号的详细信息 |
| `search_symbols` | 在代码库中按名称查找符号 |
| `list_files` | 列出所有文件及统计信息 |
| `impact_analysis` | 修改某符号会破坏什么?包含跨语言边。 |
| `visualize_graph` | 生成交互式弧图 |
| `get_health_score` | 0-100 健康分及建议 |
| `find_dead_code` | 已定义但从未被引用的符号 |
| `get_project_docs` | 获取自动生成的代码库文档 |
| `update_project_docs` | 按需重新生成文档 |
| `get_temporal_graph` | 随 Git 历史演化的架构 |
| `simulate_change` | 在触碰代码前模拟移动/删除/重命名/拆分/合并。返回健康变化、破坏的导入、受影响的节点。包含跨语言边。 |
| `security_scan` | 扫描漏洞并图感知提升严重性。无需 API 密钥。 |
## 跨语言边检测
Depwire 检测不同语言文件之间的连接。
TypeScript 的 `fetch('/api/users')` 调用匹配到 Python 的 `@app.get('/api/users')` 路由定义——这就是跨语言边。删除 Python 路由后,Depwire 会显示 TypeScript 调用者已损坏。
支持模式:
- REST API 边 — fetch/axios 调用匹配到 Express、FastAPI、Flask、Gin 路由定义
- 子进程边 — execSync/subprocess.run 调用匹配到图中的目标文件
这些边贯穿所有现有功能:What If 模拟、影响分析、安全扫描器与弧图可视化。
## 架构健康分
```
depwire health .
```
```
Overall: 68/100 (Grade: D)
Coupling 70 C
Cohesion 80 B
Circular Dependencies 100 A
God Files 40 F
Orphans & Dead Code 20 F
Dependency Depth 60 D
```
6 个维度。字母等级。可操作建议。跨运行的趋势追踪。
## SDK
Depwire 提供稳定的公共 API 用于程序化使用与 CI 流水线:
```
npm install depwire-cli
```
```
import {
parseProject,
buildGraph,
calculateHealthScore,
analyzeDeadCode,
generateDocs,
scanSecurity,
SimulationEngine,
detectCrossLanguageEdges,
searchSymbols,
getImpact,
getArchitectureSummary,
DepwireSDKVersion
} from 'depwire-cli/sdk';
```
SDK 是稳定的公共 API 表面。所有集成应 `depwire-cli/sdk` 导入,而非内部路径。
## 为何选择 Depwire
| | Depwire | 基于 RAG 的工具 | LLM 扫描 |
|--|---------|-----------------|----------|
| 方法 | 确定性情利图 | 概率性匹配 | 暴力扫描 |
| 准确度 | 100% — tree-sitter AST | ~70% — 嵌入匹配 | 变化 |
| 重构安全性 | 完整调用链追踪 | 遗漏间接引用 | 盲目编辑 |
| 令牌成本 | 超低 — 精准读取 | 高 — 上下文填充 | 极高 |
| 跨语言支持 | REST + 子进程边 | 无 | 无 |
| 安全扫描器 | 图感知严重性提升 | 无 | 无 |
| What If 模拟 | 触碰代码前即可 | 无 | 无 |
| 本地运行 | 始终 | 变化 | 从不 |
## 语言支持
TypeScript、JavaScript、Python、Go、Rust、C — 支持所有支持语言之间的跨语言边检测。
C# / .NET 支持将在 v1.1 中推出。
## 云端仪表板
[app.depwire.dev](https://app.depwire.dev) — 完整的依赖图、健康分、未使用代码报告,以及浏览器中的 AI 代码库聊天。无需本地设置。
- 公共仓库免费
- 专业版($19/月)— 无限仓库、私有仓库支持、AI 代码库聊天
## 路线图
**已发布**
- 弧图可视化
- 17 个 MCP 工具
- 多语言支持(TypeScript、JavaScript、Python、Go、Rust、C)
- 架构健康分
- 未使用代码检测
- 时间图谱
- What If 模拟 — CLI + 浏览器 UI
- 安全扫描器 — 图感知严重性提升
- 跨语言边检测 — REST API + 子进程
- 公共 SDK — `depwire-cli/sdk`
- 云端仪表板 — app.depwire.dev
- PR 影响 GitHub Action
**即将推出**
- C# / .NET 语言支持
- AI 建议的重构
- VSCode 扩展
- 自然语言架构查询
## 安全态势
Depwire 是只读的。它从不写入、修改或执行你的代码。
- 使用 tree-sitter 解析 — 与 VS Code 和 Zed 使用的解析器相同
- 可视化服务器仅绑定到 localhost
- 数据不离开你的机器
- 阻止访问敏感系统目录
- 使用来源验证发布 npm 包
详见 [SECURITY.md](SECURITY.md)。
## 贡献
1. 叉仓库
2. 创建功能分支
3. 为新功能添加测试
4. 提交拉取请求
5. 签署 CLA(首次 PR 自动处理)
## 作者
**Atef Ataya** — AI 架构师、作者、Depwire 创建者。
- [YouTube](https://www.youtube.com/@atefataya) — 60 万+ 订阅者,涵盖 AI 代理、MCP 与 LLM
- [The Architect's Playbook: 5 Pillars](https://www.amazon.com/dp/B0GCHNW2W8)
- [LinkedIn](https://www.linkedin.com/in/atefataya/)
## 许可证
[商业源码许可 1.1](LICENSE) — 个人及公司内部使用免费。2029 年 2 月 25 日后转换为 Apache 2.0。
商业许可请联系 atef@depwire.dev
基于 [tree-sitter](https://tree-sitter.github.io/tree-sitter/)、[graphology](https://graphology.github.io/)、[D3.js](https://d3js.org/) 和 [Model Context Protocol](https://modelcontextprotocol.io/)。标签:AI编码助手, AI辅助重构, AST解析, MCP服务, npm包, tree-sitter, WebSocket, 上下文感知, 云安全监控, 代码架构, 依赖分析, 依赖图, 前端工程化, 变更影响分析, 基础设施层, 开发效率, 确定性分析, 编程工具, 网络可观测性, 自动化攻击, 远程代码执行, 重构安全, 静态分析, 风险预测