[{"data":1,"prerenderedAt":349},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fguides\u002Fcode-graph":3,"doc-surround-\u002Fdocs\u002Fguides\u002Fcode-graph":255,"doc-nav-zh":264},{"id":4,"title":5,"body":6,"description":245,"extension":246,"meta":247,"navigation":248,"order":249,"path":250,"section":251,"seo":252,"stem":253,"__hash__":254},"docs_zh\u002Fdocs\u002F02.guides\u002F08.code-graph.md","语义代码图谱",{"type":7,"value":8,"toc":238},"minimark",[9,12,21,25,28,52,59,109,112,115,118,172,175,178,181,185,197,211,221,224],[10,11,5],"h1",{"id":5},[13,14,15,16,20],"p",{},"语义代码图谱在符号索引（SymbolIndex）之上构建",[17,18,19],"strong",{},"关系层","，并辅以本地向量检索，让 AI 在规划与改写前理解跨文件的调用关系与模块依赖。当项目增长到数百个文件、单靠上下文窗口无法看清全貌时，代码图谱就是 AI 的「全局视野」。",[22,23,24],"h2",{"id":24},"索引构建",[13,26,27],{},"索引以项目根目录为单位构建与查询，不同项目之间相互隔离。内核会为项目构建两类索引：",[29,30,31,46],"ul",{},[32,33,34,37,38,41,42,45],"li",{},[17,35,36],{},"符号关系索引","：解析代码中的符号及其关系，覆盖",[17,39,40],{},"调用（Calls）","、",[17,43,44],{},"接口实现（Implements）","、**模块依赖（DependsOn）**三类关系。每条关系记录都包含源符号、目标符号与关系类型。",[32,47,48,51],{},[17,49,50],{},"向量索引","：使用本地嵌入模型将代码片段编码为向量（默认启用 L2 归一化），以余弦相似度检索语义相近的代码。每条向量记录都携带来源文件与文本预览，检索结果可直接定位到具体文件。",[13,53,54,55,58],{},"嵌入模型全程",[17,56,57],{},"本地运行","，代码无需出网即可完成索引与检索：",[60,61,62,78],"table",{},[63,64,65],"thead",{},[66,67,68,72,75],"tr",{},[69,70,71],"th",{},"模型",[69,73,74],{},"维度",[69,76,77],{},"适用场景",[79,80,81,96],"tbody",{},[66,82,83,90,93],{},[84,85,86],"td",{},[87,88,89],"code",{},"static-code-embed",[84,91,92],{},"256",[84,94,95],{},"代码片段（默认启用归一化）",[66,97,98,103,106],{},[84,99,100],{},[87,101,102],{},"static-bert-tiny",[84,104,105],{},"128",[84,107,108],{},"通用文本",[13,110,111],{},"两类场景使用不同维度，维度在索引创建时即固定；检索按余弦距离排序，值越小越相似。",[22,113,114],{"id":114},"跨文件引用查询",[13,116,117],{},"所有查询都以项目根目录为边界、按符号名发起：",[60,119,120,130],{},[63,121,122],{},[66,123,124,127],{},[69,125,126],{},"查询",[69,128,129],{},"说明",[79,131,132,140,148,156,164],{},[66,133,134,137],{},[84,135,136],{},"调用方查询",[84,138,139],{},"谁调用了这个符号",[66,141,142,145],{},[84,143,144],{},"被调用方查询",[84,146,147],{},"这个符号调用了谁",[66,149,150,153],{},[84,151,152],{},"接口实现查询",[84,154,155],{},"某个接口 \u002F trait 的全部实现",[66,157,158,161],{},[84,159,160],{},"模块依赖查询",[84,162,163],{},"模块依赖了哪些下游",[66,165,166,169],{},[84,167,168],{},"关系子图",[84,170,171],{},"以某符号为中心、按深度 N 逐层扩展的关系网络",[13,173,174],{},"两类索引协同工作：向量检索负责「语义上相关」的模糊查找，关系图谱负责「引用链上确定」的精确追踪。子图查询从中心符号出发，以深度优先方式同时向调用方与被调用方两侧扩展，常用于评估改动的爆炸半径。",[13,176,177],{},"关系层是语义代码图谱 Phase 1 的核心成果：先由符号索引完成函数、类型与模块的抽取，再在其上建立三类关系边，所有查询均为只读操作，不会修改项目代码。查询实现直接借用符号索引做只读访问；子图扩展带访问去重，即使存在循环调用也不会陷入死循环。",[13,179,180],{},"图谱与 LSP 集成同步建设，为后续的诊断、导航与补全能力提供统一基础。",[22,182,184],{"id":183},"与-rush-配合","与 RUSH 配合",[13,186,187,192,193,196],{},[188,189,191],"a",{"href":190},"\u002Fdocs\u002Fguides\u002Frush","RUSH 深度任务","的 Planner 在规划阶段会查询代码图谱，评估改动影响面并输出",[17,194,195],{},"影响文件清单","与潜在风险——这是 RUSH 能够安全执行跨文件重构的基础。规划结果的每个子任务都带有依赖关系与风险等级，执行顺序据此确定。典型场景：",[29,198,199,202,205,208],{},[32,200,201],{},"重命名一个被多处调用的函数前，先确认全部调用方。",[32,203,204],{},"修改模块接口前，列出依赖该模块的全部下游。",[32,206,207],{},"评估改动爆炸半径：以目标符号为中心取两层关系子图。",[32,209,210],{},"熟悉陌生代码库时，从入口符号逐层展开关系子图。",[212,213,215],"callout",{"type":214},"tip",[13,216,217,220],{},[17,218,219],{},"大型项目建议","：跨仓库或首次使用的大型项目，先让索引构建完成再发起 RUSH 任务，规划质量会显著提升。",[13,222,223],{},"图谱的查询接口同时通过内核 API 暴露。相关文档：",[29,225,226,231],{},[32,227,228,230],{},[188,229,191],{"href":190},"：图谱的最大消费者。",[32,232,233,237],{},[188,234,236],{"href":235},"\u002Fdocs\u002Freference\u002Fkernel-api","内核 API","：查询接口的 HTTP 形态。",{"title":239,"searchDepth":240,"depth":240,"links":241},"",2,[242,243,244],{"id":24,"depth":240,"text":24},{"id":114,"depth":240,"text":114},{"id":183,"depth":240,"text":184},"为项目构建符号关系图谱与本地向量索引，支持跨文件调用查询，让 AI 理解代码全貌","md",{},true,8,"\u002Fdocs\u002Fguides\u002Fcode-graph","功能指南",{"title":5,"description":245},"docs\u002F02.guides\u002F08.code-graph","zYdDDg08E_6TwXhWORAqkGZS7jgVS6w08GosD4dW6yc",[256,260],{"title":257,"path":258,"stem":259,"children":-1},"FIM 代码补全","\u002Fdocs\u002Fguides\u002Ffim-completion","docs\u002F02.guides\u002F07.fim-completion",{"title":261,"path":262,"stem":263,"children":-1},"MCP 工具与市场","\u002Fdocs\u002Fguides\u002Fmcp","docs\u002F02.guides\u002F09.mcp",[265],{"title":266,"path":267,"stem":268,"children":269,"page":291},"Docs","\u002Fdocs","docs",[270,292,313,330],{"title":271,"path":272,"stem":273,"children":274,"page":291},"快速上手","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started",[275,279,283,287],{"title":276,"path":277,"stem":278},"安装与下载","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F01.getting-started\u002F01.installation",{"title":280,"path":281,"stem":282},"注册与登录","\u002Fdocs\u002Fgetting-started\u002Fregister-login","docs\u002F01.getting-started\u002F02.register-login",{"title":284,"path":285,"stem":286},"首次配置","\u002Fdocs\u002Fgetting-started\u002Ffirst-setup","docs\u002F01.getting-started\u002F03.first-setup",{"title":288,"path":289,"stem":290},"从 VS Code 迁移","\u002Fdocs\u002Fgetting-started\u002Fmigrate-from-vscode","docs\u002F01.getting-started\u002F04.migrate-from-vscode",false,{"title":251,"path":293,"stem":294,"children":295,"page":291},"\u002Fdocs\u002Fguides","docs\u002F02.guides",[296,300,302,303,304,305,309],{"title":297,"path":298,"stem":299},"AI 对话与内联编辑","\u002Fdocs\u002Fguides\u002Fai-chat","docs\u002F02.guides\u002F05.ai-chat",{"title":191,"path":190,"stem":301},"docs\u002F02.guides\u002F06.rush",{"title":257,"path":258,"stem":259},{"title":5,"path":250,"stem":253},{"title":261,"path":262,"stem":263},{"title":306,"path":307,"stem":308},"调试与 DAP","\u002Fdocs\u002Fguides\u002Fdebugging","docs\u002F02.guides\u002F10.debugging",{"title":310,"path":311,"stem":312},"集成终端","\u002Fdocs\u002Fguides\u002Fterminal","docs\u002F02.guides\u002F11.terminal",{"title":314,"path":315,"stem":316,"children":317,"page":291},"模型与计费","\u002Fdocs\u002Fmodels-billing","docs\u002F03.models-billing",[318,322,326],{"title":319,"path":320,"stem":321},"支持的模型","\u002Fdocs\u002Fmodels-billing\u002Fmodels","docs\u002F03.models-billing\u002F12.models",{"title":323,"path":324,"stem":325},"套餐与配额","\u002Fdocs\u002Fmodels-billing\u002Fplans-quota","docs\u002F03.models-billing\u002F13.plans-quota",{"title":327,"path":328,"stem":329},"自带 API Key（BYOK）","\u002Fdocs\u002Fmodels-billing\u002Fbyok","docs\u002F03.models-billing\u002F14.byok",{"title":331,"path":332,"stem":333,"children":334,"page":291},"参考与 FAQ","\u002Fdocs\u002Freference","docs\u002F04.reference",[335,339,343,345],{"title":336,"path":337,"stem":338},"快捷键","\u002Fdocs\u002Freference\u002Fshortcuts","docs\u002F04.reference\u002F15.shortcuts",{"title":340,"path":341,"stem":342},"配置项","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F04.reference\u002F16.configuration",{"title":236,"path":235,"stem":344},"docs\u002F04.reference\u002F17.kernel-api",{"title":346,"path":347,"stem":348},"常见问题","\u002Fdocs\u002Freference\u002Ffaq","docs\u002F04.reference\u002F18.faq",1786077825607]