GrayCode
August 21, 2026 · View on GitHub
一个面向 VS Code 的 AI 编程助手
多模型渠道 · 代码工具 · MCP · Skills · Sub-Agents · 永久记忆
GrayCode 把 AI 编程能力带进 VS Code:理解工作区、搜索和修改代码、执行命令、调用语言服务,并通过原生 Diff 让你在落盘前检查改动。它既适合快速问答与 Bug 定位,也支持从设计、计划、实现到审查的完整工程流程。
所有核心数据保存在本地;你可以接入不同模型渠道,通过 MCP、Skills 和 Sub-Agents 扩展能力,并让永久记忆跨会话保存项目约定与关键决策。
快速开始
- 在 VS Code 插件市场 搜索 Gray Code 并安装;也可以从 Releases 下载 VSIX。
- 点击活动栏中的 Gray Code 图标,进入右上角 设置 → 渠道,添加 Gemini、OpenAI Compatible、OpenAI Responses 或 Anthropic 渠道。
- 回到聊天页,选择渠道、模型和 Code / Design / Plan / Ask / Review 模式,然后直接描述任务。
第一次可以试试:
请阅读这个项目的结构,解释主要模块,并给出上手建议。
或者:
请定位这个异常的原因。先搜索相关代码并说明证据,确认方案后再修改和测试。
核心亮点
- 多模型渠道 —— 支持 Gemini、OpenAI Chat Completions 兼容接口、OpenAI Responses 与 Anthropic,每个渠道可独立配置模型、工具模式、思考、重试和 Token 计数。
- 真实代码操作 —— 读取、搜索和修改文件,运行终端命令,调用 VS Code LSP,支持图片、PDF 等多模态上下文;写入可通过 Diff 审阅。
- 结构化工作流 —— 内置 Design、Plan、Progress、Review 与 TODO 工具,让复杂任务从方案到验证都有可追踪记录。
- 可扩展代理能力 —— 连接 MCP Server,加载可复用 Skills,并通过前台或后台 Sub-Agents 并行处理专门任务。
- 本地永久记忆 —— 全局与工作区记忆彼此隔离,跨会话保存约定、知识和决策,不依赖外部记忆服务。
- 长任务与长对话 —— 支持消息队列、自动总结、存档点、后台结果回流,以及 Token、成本和使用时间统计。
- 树状分支对话 —— 重试与编辑不再覆盖旧回答:每个候选分支都可切换、独立继续发展,切换时可选联动工作区存档,让不同方案并行探索而不丢任何思路。
DeepSeek 视觉模型支持
GrayCode 针对 DeepSeek 视觉模型(如 deepseek-v4-flash-vision-exp)的接口限制提供专用图像预处理,可在渠道设置的「DeepSeek Vision 预处理」开关中启用(OpenAI Chat Completions、OpenAI Responses 与 Anthropic 渠道均可用):
- PDF 逐页栅格化 —— 将 PDF 每页渲染为图片后发送,规避纯文本抽取的局限;渲染使用可选的
pdfjs-dist与@napi-rs/canvas。 - 大图分块 —— 对大图按 800×800 总像素预算切割成多块(单块长边不超过 4096),避免图片被 DeepSeek 压缩或拒收。
- GIF 动画拆帧 —— DeepSeek 只取 GIF 第一帧,GrayCode 按时间轴采样(每秒最多 5 帧)拆成逐帧 PNG 后发送。
- 官方格式规范化 ——
read_file支持 PNG/JPEG/JFIF/GIF/WebP/BMP/SVG/ICO/TIFF/HEIC/HEIF/AVIF 等图片格式,发送前统一转为 DeepSeek 官方格式(使用可选的sharp)。 - 拆分 / 压缩切换 —— 输入框提供复选框(默认拆分):勾选保持分块防压缩;取消勾选则把图片等比例压缩进 800×800 总像素预算,可逐次按清晰度与体积偏好选择。
- 请求前校验 —— 发送前校验 800×800 分块、4096 长边、600 张图片、32 MiB 单图与 48 MiB 请求体等上限。
相关依赖(sharp / pdfjs-dist / @napi-rs/canvas)可在扩展的「依赖管理」面板 DeepSeek Vision 分组中一键安装或卸载。
常用工作流
| 目标 | 推荐方式 |
|---|---|
| 理解陌生项目或定位 Bug | 使用 Ask / Code 模式,让 AI 先搜索、读取并给出证据 |
| 实现复杂需求 | Design 明确方案 → Plan 拆分步骤 → Code 实现与测试 |
| 检查已有改动 | Review 模式结合 Git Diff,生成结构化审查结论 |
| 扩展专用能力 | 配置 MCP、编写 Skill,或派发专用 Sub-Agent |
文档
完整用户手册已迁移到 GrayCode Wiki:
| 指南 | 内容 |
|---|---|
| 快速开始 | 安装、渠道配置、模式选择、Diff 确认与更新 |
| 功能概览 | 核心能力、对话体验、分支、存档点与统计 |
| 模型与渠道 | 四类渠道、工具模式、思考与 Token 计数 |
| 工具与工作流 | 内置工具、自动执行、Diff 和工程工作流 |
| 上下文与提示词 | Prompt 模式、模板、动态上下文与变量 |
| MCP、Skills、Sub-Agents 与记忆 | 扩展能力与本地永久记忆 |
| 设置、存储与同步 | 设置索引、备份、迁移、导入导出与同步 |
| 常见问题 | 工具、上下文、Diff、通知等问题排查 |
开发环境、项目结构和提交规范见 CONTRIBUTING.md,版本变化见 CHANGELOG.md。
安装与更新
GrayCode 要求 VS Code ^1.84.0 或更高版本。推荐从 VS Code 插件市场 安装;也可以从 GitHub Releases 下载 graycode-*.vsix,在命令面板执行 Extensions: Install from VSIX...。
扩展支持自动检查 GitHub Releases,并可在 设置 → 通用 → 自动更新 中手动检查或一键更新。源码构建和 VSIX 打包步骤见 贡献指南。
社区
- 通过 Issues 报告问题或提出建议。
- 欢迎提交 Pull Request;开始前请阅读 贡献指南。
- 社区维护的 GrayCode Desktop 提供独立 Electron 桌面版,支持 Windows、macOS 和 Linux;其发布节奏以对应仓库为准。
鸣谢
感谢 1b0t3、czocelot 和 NebulaRaven 对模型资源、图标、测试、问题排查、修复与项目协作的帮助。
许可证
本项目采用 MIT License。