WorkBuddy跨文件代码补全已启用,其依赖符号索引、AST/CFG语义分析、RAG文档检索、MCP协议协同及云端-本地双模建模五大机制实现精准补全。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 WorkBuddy 进行代码开发时,发现其能在当前文件中引用其他未打开文件的函数、类或变量并完成补全,则说明已触发跨文件代码补全功能。该能力依赖于对项目结构的深度解析与上下文建模。以下是实现此功能的具体方法及对应的核心算法逻辑:
一、基于项目符号索引(Symbol Indexing)的静态分析
WorkBuddy 在首次加载项目时,会启动后台符号索引进程,扫描整个工作区目录下的源码文件,提取所有可导出的标识符(如函数名、类名、接口定义、常量等),构建内存中的符号数据库。该数据库支持快速反向查询,是跨文件补全的基础支撑。
1、确保项目根目录下存在有效的配置文件(如 package.json、pyproject.toml 或 tsconfig.json),以便 WorkBuddy 自动识别语言类型与模块边界。
2、关闭所有编辑器标签页,右键点击项目文件夹,选择“重新构建符号索引”。
3、等待状态栏右下角显示 索引完成(X 个符号) 后,再进行跨文件调用测试。
二、利用 AST 与控制流图(CFG)的语义感知补全
WorkBuddy 不仅识别符号名称,还通过抽象语法树(AST)解析变量作用域、导入路径与类型声明,并结合控制流图推断可能的执行路径,从而在条件分支、循环嵌套等复杂结构中提供精准补全建议。
1、在 TypeScript/Python 文件中,编写含 import 语句的代码,例如 from utils.helper import format_date。
2、在新行输入 format_ 并触发补全,系统将匹配已导入模块中的函数前缀。
3、若 import 语句被注释或缺失,WorkBuddy 将主动提示 检测到未导入但可用的符号,是否自动添加 import?。
三、融合 RAG 增强的上下文检索机制
当标准符号索引无法覆盖动态导入、运行时生成代码或第三方库内部结构时,WorkBuddy 启用基于检索增强生成(RAG)的辅助策略:从本地缓存的文档切片中召回相似函数签名与使用示例,注入当前 LLM 上下文以生成补全候选。
1、确认设置中已启用 RAG 辅助补全 开关(路径:设置 → 智能补全 → 高级选项)。
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
2、在代码中调用一个无显式 import 的第三方方法(如 pandas.DataFrame.groupby),输入点号后暂停。
3、观察补全弹窗底部是否出现 [来自文档] groupby(key, axis=0, ...) 类似提示。
四、MCP 协议驱动的工具调用协同补全
WorkBuddy 通过 MCP(Model Calling Protocol)协议与外部语言服务器(如 Pyright、tsserver)通信,在补全过程中实时交换类型信息与作用域快照。该机制使补全结果兼具静态准确性与动态响应性。
1、安装对应语言的官方语言服务器插件(如 Python 扩展需启用 Pylance)。
2、在设置中将 补全引擎 切换为 MCP + 本地 LSP 模式。
3、打开两个文件:A.py 定义 class User;B.py 中输入 User.,验证是否列出 A.py 中定义的所有实例方法。
五、双模底座协同:云端推理与本地符号联合建模
跨文件补全请求被拆分为两部分处理:本地客户端实时提供符号位置与作用域快照,云端底座运行混元大模型完成语义理解与候选排序。两者通过加密信道同步,保障低延迟与高精度。
1、检查网络连接状态,确保右下角显示 在线(双模协同) 而非 离线(仅本地)。
2、在大型 monorepo 项目中,手动指定 主入口文件路径(设置 → 项目 → 入口点),帮助底座聚焦关键依赖链。
3、执行一次 刷新远程上下文 操作(快捷键 Ctrl+Alt+R),强制云端重建当前工作区语义图谱。

















