Skip to content

设计总览 ​

面向 AI 编码 agent 的加固版 VS Code 发行版——受控扩展、私有模型网关、按项目沙箱、iCode 一等公民。

完整设计文档见仓库 docs/design.md(v1.0,2026-10-23 审核通过)。

背景与目标 ​

背景:区域银行 AI Coding 落地受三方面约束——信创内网要求代码与数据不出网;金发〔2026〕8号要求模型备案、人工复核、日志留存不低于业务存续期;预算有限,倾向开源与自主可控方案。主流编码 agent 依赖公有云与国外服务(Copilot、Claude Code、Codex),SDK 与遥测和银行合规边界冲突,且不可裁剪。iCode 具备银行侧友好属性(全开源、BYO 模型、无遥测、OTel 就绪、workflow 与审批内建),但无现成 IDE 宿主与渠道。

目标:

编号目标验收口径
G1干净二进制:无遥测、无微软品牌、无微软市场产物反查无遥测端点与微软标识
G2默认离线:不内置任何联网扩展扩展最小集(32 保留 + 3 构建期)
G3无国外 agent:产物不含 Copilot / Claude / Codex 的 provider 与 SDK产物反查无三套 SDK 依赖
G4iCode 一等公民:AgentHost 注册 iCode,聊天面板可用P3 验证门:picker 出现 iCode,hello 往返成功
G5合规内建:人工审批、审计日志、数据不出网金发〔2026〕8号关键条款映射可追溯
G6构建可重复:钉版 + 补丁体系 + CI 四段流水线L1 关键产物哈希一致(分级验收)

Non-goals(P0 不做):不做自有模型(模型一律 BYO);不做云托管沙箱(devcontainer + 出站防火墙实现);不兼容微软官方市场(Open VSX,可指向自建镜像);不做 iOS/Android 等非常规平台(MVP 为 Linux x64 + Windows x64)。

设计原则 ​

#原则说明
P1复用上游、减法优先不重写 VS Code;沿 VSCodium 验证过的构建路径做减法,先删后补
P2对齐 VSCodium 机制钉版 + prepare 脚本 + 分层补丁 + compile/package 分离
P3补丁锚点断言每个补丁断言锚点文本;锚点失效时显式报错,不静默错补
P4证据驱动关键设计决策标注 confirmed / inferred / unknown
P5默认离线、默认无遥测无遥测是出厂配置而非开关
P6iCode 是唯一内置 agent不保留国外 agent 的任何注册路径
P7合规是产品属性人工审批、审计日志、数据边界在架构层内建

分层架构(To Be) ​

┌─────────────────────────────────────────────────┐
│ 发行层:picket-code 品牌、Open VSX 市场、更新通道     │  ← P1 已落地
├─────────────────────────────────────────────────┤
│ 扩展层:最小内置集(32+3)+受控市场按需安装     │  ← P1 已落地
├─────────────────────────────────────────────────┤
│ Workbench 核心:聊天 shell、设置、编辑器         │  ← 保留(含 agentHost 会话 UI)
├─────────────────────────────────────────────────┤
│ AgentHost 平台层:provider 注册、会话、审批、日志 │  ← 裁剪为"零 provider + 编排核心"
├─────────────────────────────────────────────────┤
│ 适配层:node/icode/(IAgent 实现)               │  ← P3–P4 新增
├─────────────────────────────────────────────────┤
│ iCode 引擎:Python CLI、workflow、审批、OTel     │  ← 外部进程,BYO 模型
└─────────────────────────────────────────────────┘

保留 / 删除边界(要点) ​

模块处置依据
src/vs/platform/agentHost/common/ 协议层保留零 provider 容忍
src/vs/platform/agentHost/node/ 编排器保留核心能力(providerService、sessionLifecycle、AHP)
src/vs/workbench/contrib/chat/.../agentHost/ 聊天 UI保留属 workbench 核心,52/53 不碰
node/copilot、node/claude、node/codex、node/otel、node/clientTools、common/otel删除复用 VSCodium 52 号清单(177 路径)
三套 SDK 依赖 + gulp copilot 任务 + product 注入删除复用 VSCodium 53 号补丁(26 文件)
extensions/copilot 前端扩展删除52 号清单整目录删除
遥测 / 云 / 更新 / 登录 / 签名 / onboarding删除复用 VSCodium 00/10/11/60/80 系列补丁

分阶段实施路线 ​

阶段目标验证门
P0钉版与补丁体系落地执行器与 52 已落地;53 rebase 后全量构建通过
P1品牌与微软绑定裁剪(已大部分完成)构建产物抓包无遥测 / 市场 / 更新出网
P2零 provider 核心:52/53 对齐host 启动正常、产物无三套 SDK
P2.5核心 UI 验证内置聊天面板可显示会话;通过则 UI 走核心面板直连
P3iCode 骨架注册picker 出现 iCode,hello 往返成功
P4常驻 app-server多轮、工具审批、diff、中断全链路
P5UI / 分发与品牌安装包无国外 agent 字节;双平台冒烟

风险与未决问题 ​

风险等级缓解
53 号补丁跨 26 文件,上游重构引发 rebase 成本中钉版节奏固定;补丁锚点断言显式报错
内置聊天面板对非 copilot provider 兼容性未知中P2.5 用 mockAgent 先验证
扩展删除清单误删银行所需语言服务(SQL/Python)中发布前按数据开发场景复核清单
无头 run 硬编码绕过审批(上游机制)高Picket Code 配置层禁用;合同与部署规范双重约束
iCode 无认证 / SLA / 供应链台账中商务尽调 + 行内自建 SBOM / 依赖审计

MIT License · 与微软无关,仅基于开源 Code - OSS 构建