YDS KeKai
扩展技术名称与 VS Code UI 标识:YDS Hyperion(npm 包名 yds-hyperion)
YDS KeKai 是一款面向 VS Code 的 AI 开发助手。它以 Skills 技能 和 Agent 多步执行 为核心,能够理解代码库、调用开发工具、生成待审查的代码变更,并通过模型 Provider、MCP 和多模态输入扩展工作范围。
核心能力
- Skills 技能体系:旗舰版 / 高级版两套技能集,支持工作区、用户全局和扩展内置多目录加载,同名技能按优先级覆盖;技能可包含指令、引用资料、工具提示和配套脚本。
- Agent 多步执行:分析任务、检索代码、调用工具、修改文件、运行诊断或构建,多轮推进任务;支持 Todo 进度跟踪与
/plan 规划。
- 可审查的代码变更与回滚:默认所有写入进入待审查变更区,按文件或 hunk 接受 / 拒绝,批量采纳记录回滚点,可回滚最近一次采纳。
- 多模型、多协议、多模态:支持 OpenAI 兼容、Anthropic Messages、YonBIP 原生协议;支持图片、PDF、Word、Excel 作为输入。
- MCP 与扩展工具:多服务管理、Streamable HTTP / SSE / stdio 传输、Registry 搜索安装、JSON 导入;可接入 Bash、Terminal、构建、联网检索等内置工具。
快速开始
- 安装扩展后,在活动栏找到 YDS Hyperion 入口,打开侧边栏。
- 打开配置面板,选择内置模型,或在"大模型配置"中新增自定义 Provider(Endpoint / API Key / Model)。
- 打开一个工作区,在聊天面板描述任务。
- 对 Agent 生成的待审查变更,逐文件或逐 hunk 检查、接受或拒绝。
- 按需在配置面板启用 Skills、MCP、向量模型或 OpenSpec。
前置要求:VS Code ^1.85.0。部分内置模型、旗舰版业务能力或登录能力依赖对应账号和网络环境;自定义 Provider 的工具调用、图片等能力取决于所接模型和 API 的实际兼容性。
Skills 技能
是什么
Skills 是可加载的任务说明和能力包,可包含:
SKILL.md 或技能 JSON 定义
- 针对特定业务、框架或开发流程的指令
- 引用资料
- 工具提示(
allowed-tools,作为提示,不授予额外权限)
scripts/ 配套脚本(仅在技能配置和工作区信任条件满足时自动运行,否则由 Agent 显式调用)
旗舰版与高级版
| 产品模式 |
工作区目录 |
用户全局目录 |
| 旗舰版 |
.hyperion/flagship_skills |
~/.hyperion/flagship_skills |
| 高级版 |
.hyperion/premium_skills |
~/.hyperion/premium_skills |
切换产品模式后会加载对应技能集合;扩展包内也分别包含两套内置技能,激活时会同步到工作区。旧 .hyperion/skills 仅作为兼容回退路径。
技能来源与优先级
同名技能按以下顺序覆盖(高优先级在前):
- 工作区
.hyperion/flagship_skills 或 .hyperion/premium_skills
- 工作区
.agents/skills/<name>/SKILL.md
- 用户全局
~/.hyperion/flagship_skills 或 ~/.hyperion/premium_skills
- 扩展内置
docs/.hyperion/...
多根工作区按 VS Code workspaceFolders 顺序扫描,先扫描到的定义生效。未受信任工作区不会读取 .agents/skills 的正文和脚本。
最小示例
.hyperion/
└── flagship_skills/
└── my-skill/
├── SKILL.md
└── scripts/
└── run.py
在配置面板的"Skill 技能"页可查看已加载技能、来源、诊断信息,并执行 YDS Hyperion: Reload User Skills 重新加载。
Agent 执行与代码变更审查
多步执行流程
- 理解请求与工作区上下文
- 按需检索代码、读取文件或调用 Skills / MCP
- 修改内容进入待审查变更区
- 使用 LSP 诊断或真实构建检查结果
- 用户检查并采纳、拒绝或回滚
Agent 支持会话级 Todo 进度和 /plan 规划命令。autoPlanForComplexTasks 默认关闭;usePlanExecutor 为实验开关,不应视为默认执行机制。
待审查 diff 与 hunk
- 文件写入默认暂存在待审查变更区,不会直接覆盖工作区文件
- 可查看原内容与候选内容之间的 diff
- 支持接受 / 拒绝单个 hunk、批量采纳
- 批量采纳会建立回滚点,可在回滚历史中恢复
ydshyperion.agent.directWriteToWorkspace 默认为 false(推荐)。开启后部分文件工具会直接写入工作区并记录回滚点,但仍建议先确认再采纳。
编辑器入口与快捷键
| 操作 |
macOS |
Windows / Linux |
| 将选区添加为对话引用 |
Cmd+Shift+U |
Ctrl+Shift+U |
| 截图到对话 |
Cmd+Shift+S |
Ctrl+Shift+S |
| 下一个 diff 变更 |
Alt+F3 |
Alt+F3 |
| 上一个 diff 变更 |
Alt+Shift+F3 |
Alt+Shift+F3 |
| 接受当前 hunk |
Cmd+Y |
Ctrl+Y |
| 拒绝当前 hunk |
Cmd+N |
Ctrl+N |
| 接受全部待审查变更 |
Cmd+Shift+Y |
Ctrl+Shift+Y |
| 回滚最近一次采纳 |
Cmd+Shift+Z |
Ctrl+Shift+Z |
以上为默认快捷键,可能与用户自定义配置冲突。macOS 截图调用系统 screencapture 进行区域框选(需屏幕录制权限),Windows / Linux 读取剪贴板图片。
模型 Provider 与协议
- 支持协议:OpenAI 兼容、Anthropic Messages、YonBIP 原生
- 扩展启动时自动同步内置 Provider 列表,可直接选择,也可新增自定义 Provider
- 支持保存多个 Provider、一键切换、连接测试
- Anthropic 路径支持 prompt caching(
cache_control: ephemeral)
- 统一 LLM 引擎受
ydshyperion.experimental.unifiedLLMEngine 控制,默认关闭
凭据存储:自定义模型 Provider 对象(含 API Key)保存在 VS Code 扩展 globalState 中;MCP 敏感值另走 SecretStorage,两者不同。
MCP 与 Registry
- 支持同时连接多个 MCP 服务
- 传输方式:Streamable HTTP、SSE、stdio(HTTP 优先 Streamable,失败可回退 SSE)
- Registry 搜索安装、JSON 导入、用户级 / 工作区级作用域、连接测试、查看工具列表
- 敏感 Header / 环境变量写入 VS Code
SecretStorage,配置中只保留 Secret 引用
- stdio 服务会启动本地命令,首次或配置变化时存在独立的启动确认逻辑
迁移说明:旧前缀 yds-hyperion.mcp.*(endpoint / transportType / headers / env)已标记 deprecated,新前缀为 ydshyperion.mcp.*。推荐通过配置面板管理多服务,不再使用单服务 Settings。
图片与文档输入
- 图片:粘贴、从剪贴板读取、截图到对话,以多模态内容传给所选模型。是否支持取决于模型的多模态能力。
- 文档:提取 PDF、Word(
.docx)、Excel(.xlsx / .xls)的文本内容供 Agent 使用,不等同于模型原生文件 API。
项目理解、语义索引与开发工具
- 代码检索:文本搜索、符号、Git 上下文、语义检索
- 语义索引:代码分块、向量索引、混合检索,可配置独立向量模型(本地 Ollama 或 OpenAI 兼容
/v1/embeddings),支持重建索引
ydshyperion.experimental.useHybridVectorStore 与 backgroundIndexing 为实验开关,默认关闭
- Bash:默认启用,block 级危险命令硬拦(如
rm -rf / mkfs / dd)
- LSP:定义、引用、符号、诊断
- 真实构建:自动检测或调用 Maven、Gradle、tsc、npm、pnpm、Yarn;与 LSP 诊断互补
Slash Commands、会话、记忆与 Todo
Slash Commands
/review /test /explain /plan /optimize /search /openspec /memory /todo
会话管理
支持新建、恢复、搜索、重命名、删除、导出(JSON / Markdown)、Fork、Rewind;工作区隔离,本地备份可恢复。
项目记忆与 Todo
- 项目规范记忆:首选
.hyperion/HYPERION.md,兼容 HYPERION.md、.hyperion/CLAUDE.md、CLAUDE.md、.claude/CLAUDE.md、.ai/CLAUDE.md、AGENTS.md,沿父目录向上查找
- 会话 / 主动记忆:
.hyperion/memory/,受记忆设置控制
- Todo:Agent 创建和更新当前会话任务清单,
/todo 查看进度
OpenSpec
通过 /openspec 查看 OpenSpec 运行环境、版本、活跃变更状态和工作流指引,支持 version、status [change]、instructions <artifact> <change>、apply [change]、archive [change]。apply 和 archive 当前返回工作流指引,而非由扩展自动完成。
运行依赖:Node.js ≥ 20.19.0,OpenSpec 兼容版本 1.10.x;可配置可信绝对路径(ydshyperion.openSpec.executablePath)、工作区 node_modules/.bin/openspec 或 PATH 中的可执行文件。
安全、权限与数据使用
当前权限模型
当前版本不对普通 Agent 工具逐次弹出权限确认。请在可信工作区中使用,并在执行任务前检查模型 Provider、MCP 服务和 Bash 能力配置。
- 普通读 / 写 / 命令执行一律放行
- 仅 block 级危险 Bash 命令硬拦
ask / acceptEdits / yolo 模式入口仍存在,但当前不改变普通工具放行行为
- stdio MCP 启动确认、工作区信任、待审查变更采纳属于其他独立安全边界
数据可能发送到哪里
根据启用和实际调用的能力,数据可能发送到:
- 当前模型 Provider 或内置模型服务
- 已连接的 MCP Server
- MCP Registry
- 用户请求访问的网站或搜索服务
- YonBIP 登录、令牌或业务服务
- 自定义向量模型服务
可能涉及的内容包括:用户输入、选中的代码和工作区文件片段、图片或提取后的文档文本、工具调用参数及结果、项目记忆和检索上下文。实际目的地取决于当前 Provider、已连接 MCP、用户请求和 Agent 调用的工具。
本地存储
| 数据 |
主要存储位置 |
| 模型 Provider 配置及 API Key |
VS Code 扩展 globalState |
| MCP 敏感 Header / 环境变量 |
VS Code SecretStorage |
| MCP 普通服务定义 |
扩展状态 |
| 回滚记录 |
工作区 workspaceState |
| 项目规范记忆 |
工作区或父目录 Markdown 文件 |
| 主动记忆 |
.hyperion/memory/ |
| Skills |
工作区、用户目录或扩展包内目录 |
| 语义索引 |
扩展本地索引存储 |
常用配置
完整配置以 package.json 为准,以下为常用类别:
- Agent:
ydshyperion.agent.directWriteToWorkspace、ydshyperion.agent.speedMode、ydshyperion.agent.enableFastApply、ydshyperion.agent.fastApplyModel
- Bash 与构建:
ydshyperion.bash.enabled、ydshyperion.bash.defaultTimeout、ydshyperion.build.enabled、ydshyperion.build.compileCommand
- 内联补全:
ydshyperion.inlineCompletion.enabled(默认关闭)
- OpenSpec:
ydshyperion.openSpec.executablePath
- Java 编码:
ydshyperion.fileEncoding.java(utf-8 / gbk)
- OAuth / YonBIP:
ydshyperion.yhtOAuthBaseUrl、ydshyperion.yhtBipBaseUrl、ydshyperion.yhtSingleScanLogin
实验性配置(默认均为关闭,可能改变运行路径):
ydshyperion.experimental.unifiedLLMEngine
ydshyperion.experimental.usePlanExecutor
ydshyperion.experimental.useHybridVectorStore
ydshyperion.experimental.backgroundIndexing
命令与默认快捷键
常用命令(前缀 YDS Hyperion:):
Open Chat Panel —— 打开侧边栏对话
Open Configuration Panel —— 打开配置面板(需求 / 大模型 / 向量模型 / MCP / Skills / 系统 / 旗舰版)
Check MCP Status —— 查看 MCP 连接状态与可用工具
Reload User Skills —— 重新加载用户 Skills
Explain / Optimize Selected Code、Generate Code with AI —— 选中代码处理
Add Selection to Chat、Screenshot to Chat、Capture Clipboard Image to Chat
Accept / Reject Hunk、Accept All Staged (With Rollback)、Rollback Last Adoption、Show Rollback History
Set Agent Permission Mode 命令仍注册,但当前不改变普通工具放行行为,仅作为模式入口保留。
开发与构建
npm install
npm run compile # TypeScript 编译到 out/,并复制测试资源
npm run build:ui # 构建 src/ui/webview-ui
npm run webpack # 生产模式打包扩展到 dist/extension.js
npm run lint # ESLint 检查
npm run test:unit # 单元测试
npm test # 编译 + lint + VS Code 集成测试
调试:在 VS Code 中按 F5,选择 Launch NexaCodeAgent 或 Launch NexaCodeAgent (Debug Webviews);全新检出时建议先执行 npm run build:ui 以确保 Webview 产物存在。
npm run package 当前等同 package:yds-mac-arm64,包含 Electron 35.5.1 arm64 原生模块重建与 /Applications/YDS Code.app 冒烟测试,为 macOS arm64 / YDS Code 专用流程,非通用跨平台打包命令。通用手动打包可使用 npx vsce package --allow-missing-repository。
反馈、许可证与更新日志