ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

graphify VS Code 常驻指令:让 Copilot Chat 优先走知识图谱 query/path/explain 的接线指南

graphify VS Code 常驻指令:让 Copilot Chat 优先走知识图谱 query/path/explain 的接线指南 graphify VS Code 常驻指令让 Copilot Chat 优先走知识图谱 query/path/explain 的接线指南【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphify本文以 vscode-instructions.md 这份常驻指令always-on instructions文档为主体完整解读 graphify 为 VS Code Copilot Chat 编写的行为契约AI 助手在回答架构、结构、组件归属类问题时应如何以graphify query / path / explain三个子命令为第一动作按什么优先级读取graphify-out/下的图产物以及什么条件下才允许回退到直接读源码。读完后你能理解这套指令如何被graphify vscode install写入.github/copilot-instructions.md、各产物的角色边界以及如何为团队仓库正确接线与拆除。1. 文档定位这是一份写给 AI 的第一动作契约vscode-instructions.md 是 graphify 打包在graphify/always_on/目录下的一组平台常驻指令之一专门面向 VS Code Copilot Chat 场景。它的核心主张只有一句话即文档开头的规则对于任何关于本仓库架构、结构、组件或如何新增/修改/查找代码的问题只要graphify-out/graph.json存在你的第一个动作就应该是graphify query question。这份文件不是给人阅读的操作手册而是会原样注入 Copilot 上下文的规则文本——它的写作特点是全部使用祈使句和明确的条件分支when … exists便于 LLM 直接执行。同目录下的 claude-md.md、agents-md.md 等文件是同一规则体系针对不同平台的变体Claude Code 版本额外附带改完代码后运行graphify update .保持图谱最新的维护规则而 VS Code 版本则聚焦于提问路径本身。指令中定义的触发场景Triggers覆盖了开发者向 AI 提问的典型形态how do I…怎么做……where is………在哪里what does … do……是干什么的add/modify a component新增/修改某个组件explain the architecture解释架构以及一切依赖于文件或类之间如何关联的问题判断逻辑很直接只要问题涉及文件、类之间的关联关系就属于图谱问题而不是 grep 问题。2. 三条查询命令的分工query、path、explain文档将三种子命令按问题类型做了明确分工命令适用问题形式graphify query question任意架构/结构/组件问题默认第一动作自然语言问题graphify path A B两个实体之间的关系问题A 和 B 怎么关联两个节点名graphify explain concept聚焦于单个概念的解释单个概念名文档强调这三条命令的共同优势返回的是作用域受限的子图scoped subgraph通常比完整报告或原始 grep 输出小得多。这一点是整份指令的收益来源——把 AI 需要消化上下文的篇幅从全仓库搜索结果压缩到恰好覆盖该问题的一小片图。结合 CLI 帮助文本main.py 中graphify --help的输出可以补充这些命令的实际参数与默认值graphify query question # --dfs 改用深度优先而非广度优先遍历 # --context C 显式边上下文过滤可重复 # --budget N 输出 token 上限默认 2000 # --graph path 指定 graph.json 路径默认 graphify-out/graph.json graphify path A B # 图中两节点间的最短路径 graphify explain X # 某节点及其邻居的白话解释 # 后两者同样支持 --graph path从源码结构看query被描述为对graph.json的 BFS 遍历帮助文本BFS traversal of graph.json for a questionpath求两节点最短路径explain展开节点及其邻居。也就是说三条命令读的是同一份图数据只是遍历策略不同query 按问题广度展开、path 沿最短链路走、explain 只做单点邻域展开。这解释了文档中focused-concept questions 用 explain的分工——概念类问题只需要一跳邻域不必让 BFS 铺开。3. 读取优先级从 wiki 到 GRAPH_REPORT 再到源码的四级降级文档的后半段规定了信息源的选择顺序这是一条严格的降级链graphify-out/wiki/index.md如存在用于宽泛导航broad navigation。即当问题是这个项目大致有哪些部分这类无明确目标的浏览型请求时先翻 wiki 索引而不是逐目录扫源码。graphify-out/GRAPH_REPORT.md仅在两种情况下读取——做宽泛的架构评审或者query/path/explain都没有给出足够上下文时。直接读源文件只有三个条件之一成立时才允许——(a) 正在修改/调试具体代码必须看到真实代码(b) 图谱缺少所需的细节(c) 图谱缺失或已过期stale。这条链路的工程含义是AI 的每一步扩大搜索面都必须付出明确的理由成本。GRAPH_REPORT.md是全量架构报告token 开销大所以被压到第三级源码是全量真相但无差别读源码正是图谱工具要消灭的低效模式所以被压到最后且附带三个准入条件。对团队的实际价值在于AI 的回答过程从grep 随机翻文件变成查图 → 看邻域 → 定点验证上下文更省、引用更可追溯每条边都有来源。补充一个运维细节文档中写的graphify-out/是默认输出目录名。从 paths.py 可以看到目录名可通过环境变量GRAPHIFY_OUT覆盖接受相对名或绝对路径用于 worktree 或共享输出场景且该值在进程启动时读取一次。如果项目做了此配置指令文本中出现的graphify-out/graph.json等路径需按实际输出目录理解——这是文档未展开、但由源码确认的前提。4. 指令如何进入 VS Codegraphify vscode install的完整链路文档最后一行写着 Type/graphifyin Copilot Chat to build or update the graph这句话的前提是安装步骤已完成。实现入口在 install.py 的vscode_install()流程如下安装 Skill把graphify/skill-vscode.md缺失时回退到skill-copilot.md复制到~/.copilot/skills/graphify/SKILL.md采用临时文件 os.replace的原子写方式若存在打包的references/侧车目录一并安装并在 skill 目录写.graphify_version版本戳用于后续版本漂移告警见main.py 的_check_skill_version。写入常驻指令向项目内.github/copilot-instructions.md写入本文件vscode-instructions.md的内容。关键逻辑在 install.pyinstructions (project_dir or Path(.)) / .github / copilot-instructions.md instructions.parent.mkdir(parentsTrue, exist_okTrue) if instructions.exists(): new_content _replace_or_append_section( content, _VSCODE_INSTRUCTIONS_MARKER, _always_on(vscode-instructions) ) ... else: instructions.write_text(_always_on(vscode-instructions), encodingutf-8)其中标记常量_VSCODE_INSTRUCTIONS_MARKER ## graphifyinstall.py。_replace_or_append_section的行为是幂等的文件里已有## graphify章节就整体替换该章节没有就追加并打印already configured (no change)/updated/created三种状态之一。这意味着团队成员重复执行安装不会产生重复段落。命令行形态来自main.py 帮助文本graphify vscode install # 配置 VS Code Copilot Chatskill .github/copilot-instructions.md graphify vscode uninstall # 移除 VS Code Copilot Chat 配置对应地vscode_uninstall()install.py会删除用户级 skill 文件、版本戳与references/目录并仅移除.github/copilot-instructions.md中## graphify标记覆盖的章节——章节之外用户自有的指令内容会被保留章节移除后文件若为空才整体删除。一个容易混淆的点在main.py 的帮助文本中已经区分开vscode install面向VS Code 内的 Copilot Chat写项目内.github/copilot-instructions.md而copilot install面向GitHub Copilot CLI终端把 skill 复制到~/.copilot/skills。两者共享同一份 skill 内容源但配置落点不同。5. 片段来源与一致性保证这份指令文本并不是手写在 install 逻辑里的字符串字面量。main.py 的注释说明了机制always-on 指令块是打包在graphify/always_on/下的 markdown由tools/skillgen生成并由skillgen --check守护。即 graphify/always_on/vscode-instructions.md 与生成工具 tools/skillgen 及其期望输出 tools/skillgen/expected/graphify__always_on__vscode-instructions.md 之间受测试守护见 tests/test_skillgen.py、tests/test_install_strings.py任何一处改动都需要同步另一处否则校验失败。运行时则通过_always_on(vscode-instructions)按名读取片段别名映射见main.py 的_ALWAYS_ON_ALIASES_VSCODE_INSTRUCTIONS_SECTION: vscode-instructions。对使用者的意义是.github/copilot-instructions.md里的这段文字应与仓库中graphify/always_on/vscode-instructions.md逐字节一致排查为什么 AI 没有遵守规则时可以直接对照这两处。6. 实操清单为 VS Code 项目接线 graphify 的最小步骤安装 CLI 后在项目根目录执行graphify vscode install生成~/.copilot/skills/graphify/SKILL.md与.github/copilot-instructions.md中的## graphify章节即本文主体文档内容。在 VS Code 的 Copilot Chat 面板输入/graphify构建graphify-out/graph.json、graphify-out/wiki/与graphify-out/GRAPH_REPORT.md对应文档第 4 与 12 行引用的三个产物。之后的架构类提问按文档规则自动走query/path/explain宽泛浏览走graphify-out/wiki/index.md只有改代码或图谱缺细节时才落到源文件。若使用GRAPHIFY_OUT自定义了输出目录需确保 AI 侧理解的产物路径与实际一致。拆除时执行graphify vscode uninstallskill 与指令章节会按上文第 4 节描述的幂等逻辑被干净移除。7. 小结vscode-instructions.md 虽然只有十余行但定义了 graphify 在 VS Code 场景下的完整提问协议存在 graph.json → 先查图关系问题用 path概念问题用 explain导航走 wiki报告最后读源码只在三个明确条件下读。配合graphify vscode install的幂等写入与 skillgen 的字节级一致性守护这套契约可以随仓库分发、可重复安装、可干净卸载使团队里任何一位开发者的 Copilot Chat 都以相同的方式利用同一份知识图谱。【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表