companion-vscode
将团队编码规范转化为 LLM 可用上下文,让 AI 代码助手真正「懂」项目
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将团队编码规范转化为 LLM 可用上下文,让 AI 代码助手真正「懂」项目
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你加入了一个开源项目的维护团队,面对一份完全陌生的代码库,面对数千行自己从未见过的函数和模块,你是否也曾感到无从下手?这时你多么希望身边有一个「老员工」,能随时解答:这个模块遵循什么规范?某个函数的设计意图是什么?两段看起来相似的代码为什么要用不同的写法?
Quack Companion 正是为解决这一痛点而生的 VSCode 扩展——它将团队积累的编码规范和经验知识,转化为可供 LLM 直接调用的上下文信息,让 AI 真正「懂」你的项目。

图1:Quack Companion 的 Guideline 管理界面——团队成员可在此创建和分享编码规范
Quack Companion 由法国初创公司 Quack AI 开发并维护(GitHub 组织 quack-ai,成立于 2023 年)。项目的核心理念是:让团队的代码规范知识成为 AI 编程的「即插即用」上下文,从而降低团队成员的学习门槛、提升代码审查效率。
Quack AI 成立于 2023 年,其使命宣言是「让协作式软件开发规模化高效」(Make collaborative software development scale efficiently)。公司得到了 Y Combinator 的支持,团队规模虽小但在开源社区中较为活跃。除 VSCode 扩展外,Quack AI 还提供配套的后端 API 服务(FastAPI + Ollama)。
值得注意的是,虽然 companion-vscode 扩展仓库目前处于**归档(Archived)**状态,但其后端 API 项目 quack-ai/companion 同样已归档,官方文档(docs.quackai.com)仍在线。团队的主要工作已转向其他方向。
Quack Companion 的 VSCode 扩展提供三大核心功能:
1. 代码聊天(Code Chat)
用户可以在 VSCode 侧边栏的专属面板中,与 AI 助手进行关于当前代码库的自然语言对话。与通用 ChatGPT 不同,这里的 AI 能够访问团队预先配置的编码规范和文档,理解特定项目的上下文,生成更贴合团队风格的代码建议。聊天界面基于 marked 库渲染 Markdown,并通过 Webview 与扩展核心通信,消息历史存储在 VSCode 的 workspaceState 中。

图2:Quack Companion 的 GitHub OAuth 认证流程
2. 编码规范管理(Guideline Curation)
这是 Quack Companion 最具差异化的功能模块。团队成员可以通过树形视图(TreeView)管理团队的编码规范条目(Guidelines),每个条目包含 ID、内容、创建者和时间戳等信息。规范内容通过 HTTP 请求发送到后端 API,AI 在处理代码时会将这些规范作为系统提示词(System Prompt)的一部分注入,从而实现真正的「团队定制化」AI 辅助。
规范以 JSON 格式存储在 VSCode 的 globalState 中,持久化到用户工作区。
3. 智能代码检查(Smart Linting) ⚠️ 暂时禁用
根据 README 的说明,这一功能目前处于暂时禁用状态。其设计理念是将代码片段与团队规范进行对比检查,标记不合规的代码位置,通过 VSCode 的 Diagnostic API 在编辑器中直接展示问题。
Quack Companion VSCode 扩展采用模块化分层架构,源码结构清晰:
src/
├── extension.ts # 扩展入口,生命周期管理
├── activation/
│ ├── activate.ts # 核心激活逻辑(4174行)
│ └── environmentSetup.ts # 版本和环境信息
├── commands/ # VSCode 命令注册
│ ├── assistant.ts # AI 对话逻辑
│ ├── authentication.ts # 认证与 API 端点管理
│ ├── diagnostics.ts # 诊断命令
│ └── guidelines.ts # 规范 CRUD 操作
├── webviews/ # Webview 面板
│ ├── chatView.ts # 聊天界面(6907行)
│ └── guidelineView.ts # 规范树形视图
└── util/ # 工具函数
├── analytics.ts # PostHog 遥测
├── github.ts # GitHub API 封装
├── quack.ts # Quack API 封装(含 SSE 流式响应)
├── session.ts # 会话管理
└── vscode.ts # VSCode 工具函数
关键技术选型:
clipboardy、marked、node-machine-id、posthog-node、typescript、uuid),devDeps 占主导fetch API(非 axios 等库),支持 SSE(Server-Sent Events)流式响应api endpoint(默认为 https://api.quackai.com)与后端通信,支持自定义 Ollama 实例AI 集成方式:
项目通过 quack-ai/companion 后端 API 桥接到 Ollama,支持Phi 3、Llama 3、CodeQwen、Mistral 等开源模型。用户也可以自行部署后端服务,将 Ollama 实例换成任何兼容的模型 API。这意味着 Quack Companion 本质上是一个模型无关的中间层,不绑定任何特定 LLM。
安装方式:
vsce package 打包为 .vsix 文件,手动安装环境要求:
quack-ai/companion 后端 API部署难度评估:
扩展本身作为 VSCode 插件安装门槛极低,但完整功能需要配套后端服务。官方文档提供了详细的快速入门指南。无 Docker 支持,无一键部署脚本,仅提供 Makefile 辅助本地构建。综合部署难度:中等。
⚠️ 重要提示:当前扩展仓库已归档,未来可能不再更新维护。
项目已归档:GitHub 仓库和配套后端均已归档,意味着项目可能不再活跃维护,有需求的用户需评估长期使用风险。
部分功能暂不可用:Smart Linting 功能明确标注「暂时禁用」,代码审查体验不完整。
后端依赖:扩展必须依赖配套 API 才能正常工作,Ollama 推理的延迟对体验影响较大。
数据隐私:集成了 PostHog 遥测,用户数据(GitHub 用户名或 UUID)会被上传,默认实名模式。
Quack Companion 代表了 AI 编程助手领域的一个细分方向:团队知识驱动的上下文感知。与 GitHub Copilot 的通用补全不同,它专注于将团队编码规范显式化,并让 LLM 在推理时充分考虑这些规范。
这一思路与近期兴起的企业知识库 RAG(检索增强生成)高度一致,只不过应用场景从文档问答缩小到了代码规范层面。尽管项目已归档,其「团队上下文注入」的架构设计仍值得借鉴——特别是对那些希望自建代码规范 LLM 系统、或在企业内部推广 AI 编程工具的团队来说,Quack Companion 的模块化设计和 API-first 架构是很好的参考范例。
分析时间:2026-07-11 | 数据来源:GitHub API v3 | 仓库状态:已归档