Token导航 LogoToken导航TokenDH.com
IVE (Thomas Pluck) logo
开发工具未说明官方级别未说明来源级核验

IVE (Thomas Pluck)

MCP Server

IVE是一个用于快速分析和可视化AI生成代码库的工具,提供代码健康检查、跨文件分析、安全诊断和基于LLM的摘要功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
代码分析RustClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ThomasPluck

提供方

ThomasPluck

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

IVE——独立振动环境

AI生成代码库的理解工具。打开工作区,请参阅 坡度在60秒内。不是过梁。不是证券 扫描仪。一张地图。

状态: 建造规范的所有22点都作为工作代码。 合同 (§4)被冻结;扩展主机→ 守护进程→ webview循环在VSCode中运行; 每个工作流-F IVE本地检查都会触发(幻觉、交叉文件 arity、WebGL绑定);有根据的摘要为他们的索赔提供了依据 100个案例语料库;Pyright+tsc+锈分析仪进料类型诊断; Semgrep+PyTea饲料安全/形状诊断;工作流C船 默认情况下为函数内AST切片和Joern CPGQL切片路径 后面 IVE_ENABLE_JOERN=1;工作流I提供发布工作流 加上首次运行分析器包下载器。

我们向(Pyright、tsc、锈迹分析仪、, Semgrep、PyTea、Joern)通过以下方式清洁降解 capabilityDegraded 事件 而不是默默地产生不完整的画面。§0规则2 行动。

此README面向 代理商继续建造.阅读 以下相关工作流部分和参考规范部分 在触摸代码之前。

______________________________________________________________________

布局

Cargo.toml            — Rust workspace root
daemon/               — Workstream B: analysis daemon (binary: ive-daemon)
  src/contracts.rs    — §4 wire contract (Rust side)
  src/parser/         — tree-sitter per-language extractors + complexity
                        (python, typescript/tsx, rust v1.1)
  src/analyzers/
    hallucination.rs  — lockfile-driven import check with fix edits
    crossfile.rs      — cross-file arity mismatch (Python + TS)
    binding.rs        — WebGL/WebGPU uniform/attribute check
    slice.rs          — intra-function AST slice (workstream C partial)
    grounding.rs      — LLM + offline summaries, token-overlap gate
    lsp.rs            — Pyright + tsc subprocess runners
    rust_analyzer.rs  — minimal LSP client (Content-Length framing)
    semgrep.rs        — Semgrep CLI runner with ive-ai-slop.yml rules
    pytea.rs          — PyTea subprocess runner (Python + import torch)
    joern.rs          — JRE/Joern presence + opt-in CPGQL slice path
  src/cache.rs        — blob-SHA + persistent manifest Merkle cache
  src/git.rs          — git churn → novelty
  src/health.rs       — §6 model
  src/rpc.rs          — line-delimited JSON-RPC over stdio
  src/scanner.rs      — SHA-keyed ParseCache (incremental reparse lite)
  src/watcher.rs      — 150ms-debounced file watcher + rescan pipeline
  tests/fixtures.rs   — CI-gated integration tests
  tests/golden.rs     — deterministic end-to-end snapshots
  tests/grounding_eval.rs — 100-case entailment gate regression

extension/            — Workstream A: VSCode extension host
  src/extension.ts    — activation, subprocess supervisor, wiring
  src/contracts.ts    — §4 wire contract (TS mirror)
  src/daemon.ts       — typed RPC client with exponential backoff restart
  src/pack.ts         — first-run analyzer-pack downloader (workstream I)
  src/panel.ts        — webview lifecycle + message bridge + fix-apply
  src/codelens.ts     — per-function health CodeLens + red-border decos
  src/hover.ts        — IVE health hover (spec §7.7)
  src/commands.ts     — §7.8 command table
  src/diagnostics.ts  — bridge to vscode.DiagnosticCollection

webview/              — Workstream H: React UI (squarified treemap)
  src/panels/Treemap.tsx     — workspace + function drill-down
  src/panels/Diagnostics.tsx — severity groups, filter chips, j/k/Enter/.
  src/panels/Summary.tsx     — grounded-summary renderer, struck-through
                               unentailed claims, low-confidence banner
  src/panels/Slice.tsx       — intra-function slice list, truncation hint
  e2e/panels.spec.ts         — Playwright browser tests (13 cases)

mcp/                  — MCP server fronting the daemon for Claude / Cursor
  src/server.ts       — tools/list + tools/call, stdio newline framing
  src/daemon.ts       — subprocess client that reuses the JSON-RPC wire
  src/server.test.ts  — drives the server like Claude Desktop would

rules/                — Workstream E: curated AI-slop Semgrep rules (14)
test/fixtures/        — YAML-sidecar regression fixtures
                        (python, typescript, rust, crossfile, webgl,
                         semgrep, pyright, tsc)
test/grounding/       — 100-case entailment corpus (spec §8 target)
test/golden/          — deterministic snapshot fixtures (ministore, slopfest)

构建

先决条件

  • 防锈1.90+
  • 节点22+
  • 可选:Pyright(pip install pyright),tsc(npm i -g typescript),

Semgrep(pip install semgrep)PyTea(ropas/pytea)JRE 17+和 Joern(交叉文件切片),Anthropic API密钥(基础摘要)。 如果缺失,它们中的每一个都会干净地降解。

构建一切

cargo build --release                    # daemon: target/release/ive-daemon
cd webview && npm ci && npm run build    # webview → extension/dist/webview
cd ../extension && npm ci && node esbuild.mjs  # extension → extension/dist/extension.js

在VSCode中运行

打开此仓库,按 F5The build:all 任务构建守护进程+ webview+扩展按顺序排列,然后启动扩展开发 主持人与 IVE_DAEMON_PATH 有线。第二次启动配置, 跑 扩展+夹具工作区,打开根目录下的主机 test/fixtures/ai-slop/python 所以你看到一个黄色文件和一个临界文件 在几秒钟内进行诊断。

生产用户通过发布工作流获得守护进程:标签 vX.Y.Z GitHub Actions生成了一个守护进程档案和VSIX的矩阵。 首次启动时,扩展程序会从以下位置下载匹配的存档 ~/.ive// 并验证可选 ive.daemon.packSha256.

直接运行守护进程

# one-shot scan — prints a JSON summary and exits
./target/release/ive-daemon scan --workspace path/to/repo

# long-running JSON-RPC mode (what the extension uses)
./target/release/ive-daemon --workspace path/to/repo
# then drive it on stdin:
#   {"jsonrpc":"2.0","id":1,"method":"ping"}
#   {"jsonrpc":"2.0","id":2,"method":"workspace.scan"}

启用LLM摘要(可选)

export ANTHROPIC_API_KEY=sk-ant-...
# optional: export IVE_LLM_MODEL=claude-haiku-4-5

取消设置密钥以返回确定性脱机路径。离线 这条路把每一个事实都当作琐碎的要求,所以大门永远不会 击中任何东西。

测试

cargo test --release                 # 82 unit + 12 fixture + 2 golden + 1 grounding eval
./test/run_fixtures.sh               # e2e sanity against test/fixtures/ai-slop
./test/e2e-stdio.sh                  # JSON-RPC over stdio smoke

cd webview   && npx vitest run         # 13 jsdom tests
cd webview   && npx playwright test    # 13 browser tests (Chromium, built bundle)
cd extension && npx vitest run         # 11 tests: real daemon subprocess + pack + hover
cd mcp       && npx vitest run         # 4 tests: Claude-style stdio round-trip

将MCP服务器连接到克劳德桌面/光标 mcp/README.md — 服务器与扩展对话的守护进程相同,因此Claude可以 呼叫 ive_scan, ive_health, ive_diagnostics, ive_summarize, ive_slice, ive_worst, ive_capabilities等等。

CI(.github/workflows/ci.yml)运行Rust套件+夹具运行器, 通过pip安装Pyright+Semgrep,并执行TS类型检查+ 由刚刚构建的守护进程驱动的webviewbuild+扩展测试。

IVE_GOLDEN_UPDATE=1 cargo test --test golden 重新生成快照 在 test/golden/snapshots/ --把那里的每一个差异都当作是故意的。

22分状态(§0+§5+§7)

构建规范的表面积是四个不可协商的(§0),九个 工作流(§5A-I)和九个UI子部分(§7.1-7.9)。每一行是 以具体的测试或运输路径为后盾。

#状态已登录
1§0处理部分损坏的代码树状图解析语法错误的文件; daemon/src/parser/
2§0无话可说时沉默每个面板上都有空的州分支; webview/src/panels/
3§0有根据的摘要或无摘要令牌重叠蕴涵门+离线琐碎蕴涵路径; daemon/src/analyzers/grounding.rs
4§0足够快,可以处于环境中cold_scan_under_latency_budget, intra_function_backward_slice_chains_assignments, offline_summary_under_latency_budgetdaemon/tests/fixtures.rs
5§5A——扩展主机激活、监督、命令、悬停、CodeLens、修复应用; extension/src/
6§5B——守护进程核心JSON-RPC、解析器、健康、缓存、观察器; daemon/src/
7§5 C--约恩/中央人民政府函数内AST切片(默认)+后面的Joern子流程切片 IVE_ENABLE_JOERN=1 (生成CPGQL,解析分隔的JSON输出,连接到 slice.compute); daemon/src/analyzers/{slice,joern}.rs
8§5D——LSPpylight+tsc通过CLI子流程;通过最小LSP客户端(基于stdio的Content-Length框架JSON-RPC)的锈蚀分析仪; daemon/src/analyzers/{lsp,rust_analyzer}.rs
9§5 E——塞姆格雷普+派蒂14条规则CWE标记规则集,Semgrep runner,PyTea门控 import torch; daemon/src/analyzers/{semgrep,pytea}.rs
10§5 F-IVE本地检查幻觉(11种锁文件格式)+跨文件性+WebGL/WebGPU绑定+快速修复文本编辑; daemon/src/analyzers/{hallucination,crossfile,binding}.rs
11§5 G——接地+栅极离线+人类学+100个案例语料库,精确度0.965/召回率0.911; daemon/src/analyzers/grounding.rs + test/grounding/
12§5H-网页浏览四个面板端对端连接; webview/src/panels/
13§5 I——包装跨平台发布工作流+带SHA-256验证的首次运行下载器; .github/workflows/release.yml + extension/src/pack.ts
14§7.1视觉语言深色主题标记调色板,单空间,硬边; webview/src/styles.css
15§7.2面板布局4面板堆叠,带有调整大小、活动条容器; webview/src/App.tsx
16§7.3树状图带文件的方形布局→ 功能向下钻取; webview/src/panels/Treemap.tsx
17§7.4诊断严重性组、过滤芯片、AI优先排序, j/k/Enter/. 键盘; webview/src/panels/Diagnostics.tsx
18§7.5摘要事实+无细节的声明+低置信度横幅; webview/src/panels/Summary.tsx
19§7.6切片原点、链表、截断提示; webview/src/panels/Slice.tsx
20§7.7编辑器集成沟槽点(DiagnosticCollection)、CodeLens、红色边框装饰、健康悬停; extension/src/{codelens,hover,diagnostics}.ts
21§7.8命令所有8个命令均已键盘绑定; extension/package.json + extension/src/commands.ts
22§7.9每个小组的状态冷/索引/就绪/空/部分/每面板错误均已处理; webview/src/App.tsx
23§0易读性债券——Vibe feedClaude通过MCP发布观察结果/意图/问题/担忧 ive_post_note 工具;用户在锚定到文件+行的第五个侧边栏面板(Vibe)中看到它们,点击跳转,点击 resolve 当地址。 daemon/src/contracts.rs (注意), daemon/src/rpc.rs (注:发布/列表/解决/清除), webview/src/panels/Vibe.tsx, mcp/src/server.ts (4个新工具),Playwright截图 webview/e2e/screenshots/.

全部22个规格点✅, 加上规范在§0中调用的Vibe循环,但 没有给出表面: 克劳德现在回击,用户可以看到它。 我们向Pyright、tsc、Semgrep、PyTea发送的每个外部二进制文件, Joern锈迹分析仪——在没有的情况下,通过打字可以干净地降解 capabilityDegraded 事件;视图显示原因,而不是 默默地产生一幅不完整的画面。

分析仪参考

工作流今天有效的方法推迟
扩展主机激活、守护进程监督、键入RPC、四个webview面板、§7.8命令表、CodeLens、红色边框装饰、悬停、修复应用、诊断桥、首次运行包下载器--
B守护进程核心JSON-RPC,树型解析(py/ts/tsx/rust),认知复杂性,blob SHA+持久清单缓存,SHA键控解析缓存,150ms去抖动文件观察器,具有严重性下限的健康模型,git搅动新颖性Tree::edit 真正的增量重分析(需要编辑器端的编辑范围)
C Joern功能内AST切片(默认);通过Joern子流程实现跨文件切片 IVE_ENABLE_JOERN=1 (CPGQL脚本→ 分隔JSON输出→ Slice 节点);JRE+Joern存在检测翻转 cpg.available.更丰富的CPGQL(控制流边、调用边);针对固定Joern版本的脚本测试
D LSPPyright+tsc通过CLI子流程;通过最小LSP客户端(内容长度框架, initializedidOpenpublishDiagnosticsshutdown);所有这三个方面都包含在诊断合同中,并在没有时完全降级工作流F的悬停缓存
E Semgrep+PyTea14规则CWE标记的规则集,带有规则id规范化的Semgrep运行器;PyTea跑步者已开启 import torch由真正的开源垃圾公关驱动的更丰富的策划规则
F IVE原生针对11种锁文件格式的幻觉+stdlib/内置的allowlists+本地模块白名单;交叉档案;WebGL/WebGPU绑定;快速修复未知导入的TextEdits--
G接地仅对线下事实进行总结;当 ANTHROPIC_API_KEY 已设置;100例语料库的标记重叠蕴涵门(精度0.965,召回率0.911)CPG索引蕴涵;适当的NLI; 100 → 1000 语料库增长
H Webview四面板布局,带文件的方形树状图→功能深入查看、诊断(分组、过滤芯片、j/k/Enter/.keyboard)、带有已删除的无尾声明的摘要渲染、功能内切片列表编辑器同步树图悬停到行、完整的PDG切片可视化(需要C)
I打包跨平台发布工作流程(linux-x64、darwin-arm64、darwin x64、windows-x64)生成守护进程tarball+VSIX,首次运行SHA-256验证的下载器+tar/解压缩提取市场发布步骤

合同(§4)

所有跨流程类型都存在 daemon/src/contracts.rsextension/src/contracts.ts。它们是1:1的,并被序列化为camelCase 在JSON-RPC线上。任何更改都是阻止PR的审查。

设计理念

spec §0:

  1. 处理部分损坏的代码。
  2. 无话可说时保持沉默。
  3. 有根据的总结或没有总结。
  4. 速度快到足以与环境融为一体。

如果更改违反了这些,则是还原。

许可证

麻省理工学院——见许可证。

目录标签

目录标签

代码分析RustClaude本地部署AI生成代码跨文件检查安全诊断LLM摘要

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP