从用户授权的源码生成 Function、MCP 工具、工作流 Skill 与离线测试包。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:leechen298/Code2Skill
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README

English | 简体中文
Code2Skill 是一组可安装的 Agent Skills。它帮助编程 Agent 从用户授权的前端、后端或全栈代码中理解业务功能,并生成可供其他 Agent 使用的 Function、MCP Tools、业务 Skills 和离线测试。
当前正式版本:v1.2.0。
现有代码
↓ Code2Skill
Function + MCP Tools + Skills + Tests
↓
Agent 逐步取得信息并完成用户目标
Function 和 MCP 提供业务能力,Skill 负责引导 Agent 使用这些能力。是否调用、如何补问、如何理解接口响应以及下一步做什么,由实际调用的 Agent 决定。
它会做什么
- 从源码中真实存在的业务调用入口生成能力:客户端功能以客户端/Consumer 实际触发的调用为主;没有客户端时,从用户指定的公开 API、RPC、Service、消息或任务入口开始,按需读取公开请求/响应/契约结构。
- 从用户指定的页面、目录或功能中识别可以独立完成的主要目标。
- 将字段来源、选中结果的跨 Tool 交接、请求组装和确定性的格式转换写入 Function。
- 为主要目标分别生成 Skill,并复用必要的 Function 和 MCP Tool。
- 默认只做离线技术验证,不主动调用真实业务接口。
可以用哪些 Agent
可以使用 Codex、Claude Code、Kimi Code 等主流编程 Agent 运行 Code2Skill。生成后的 Skill 可以安装到 Codex、Claude Code、Cursor、OpenClaw 等支持 Agent Skills 的环境。
更多环境见 skills CLI 支持列表。需要执行真实业务操作时,还需按照生成结果中的 MCP-SETUP.md 注册 MCP。
安装
使用通用 Agent Skills CLI 一次安装三个 Skill:
npx skills add leechen298/Code2Skill \
--skill code2skill-generate code2skill-review-flow code2skill-review-source \
--agent "$AGENT_ID" \
--global \
--yes
code2skill-generate:生成 Function、MCP、业务 Skill 和离线测试。code2skill-review-flow:检查用户能否通过主要流程完成目标。code2skill-review-source:深入检查请求字段、转换和调用链是否符合源码。
日常生成只需要 code2skill-generate,两个 Review Skill 按需独立使用。三个 Skill 的执行说明和默认生成文档模板均提供中英文版本,面向用户的产物跟随请求语言。可选的旧版 strict-export-v1 兼容模式仍输出 zh-CN 文档。旧版本迁移、生成结果的依赖安装和 MCP 注册见安装说明。
DeepSeek Harness
DeepSeek Harness 用户可以把三个 Skill 作为 Bundle 安装到指定 profile:
dsh plugin --profile web add github:leechen298/Code2Skill#v1.2.0
安装、验证、headless profile 和卸载说明见 DeepSeek Harness 集成文档。生成后的业务 MCP 仍按各产物的 MCP-SETUP.md 单独注册。
使用边界
Code2Skill 生成的是可运行、可继续修改的业务能力初稿,不自动证明所有业务规则或真实环境均已验证。生成模型、源码完整度和授权范围都可能影响结果。
对于复杂写入或高价值业务,建议使用方重点抽检:跨 Tool 数据来源、同名字段语义、确定性请求转换、目标自己的前置步骤、附件上传与下游绑定。需要时再使用 code2skill-review-flow 检查主流程,或使用 code2skill-review-source 核对关键源码语义;默认离线测试不替代真实接口和部署验收。
快速使用
在目标代码仓库中调用,并明确允许搜索的源码范围:
使用 $code2skill-generate,把 <页面、目录、功能路径或公开入口> 生成为可运行的 Function、MCP 和 Skills。
允许搜索的源码根目录:<前端目录>、<后端目录>、<协议目录>、<Service/消息/任务目录>。
以源码中真实存在的业务调用入口为主要能力来源,不调用真实业务接口。
需要复核时:
使用 $code2skill-review-flow,审核 <生成结果路径> 的主要目标是否能够完成。
使用 $code2skill-review-source,审核 <生成结果路径> 中 <指定 Skill 或能力> 与授权源码是否一致。
生成结果
默认产物的逻辑组成保持不变,具体扩展名、依赖清单和启动方式跟随目标技术栈的 runtime profile。当前 core-export-v1 默认格式由 node-stdio profile 实现:
generated/code2skill/<feature-id>/
├── SKILL.md 或 skills/*/SKILL.md
├── function-core/index.mjs # node-stdio profile 示例
├── mcp-tool/index.mjs # node-stdio profile 示例
├── portable-agent-result.mjs # HTTP 场景辅助库
├── tests/
├── package.json
├── MCP-SETUP.md
└── references/feature-context.md # 复杂业务才生成
每个生成目录的 MCP-SETUP.md 会说明实际运行语言、依赖安装、启动方式、环境变量、未满足条件和 MCP 注册方法。Skill 已安装、MCP 已连接和真实业务已验证是三个独立状态。
生成效果参考
同一份匿名、多目标源码的三次生成记录:
| 生成模型/运行配置 | 生成日期 | 生成耗时 | 综合参考分 |
|---|---|---|---|
| GPT-5.6 Sol(Ultra 模式) | 2026-07-24 | 47 分 45 秒 | 9.4 |
| Kimi K3(Max 推理档位) | 2026-07-24 | 约 93 分钟 | 8.9 |
| GPT-5.6 Sol(High 推理档位) | 2026-07-24 | 20 分 29 秒 | 8.4 |
耗时统计到生成和当轮离线验证完成,不包含之后单独进行的评分、目录调整、安装或部署。评分方法、两套评分体系和隐私边界见完整评估报告。
文档
- 安装 Skill、生成结果依赖与注册 MCP
- 生成结果的结构和设计原则
- 调用方式与语言中立化迭代设计
- 业务工作流识别与 Tool 拆分设计
- 可选的高级验证流程
- 生成模型、评分方法与匿名评估结果
- 完整文档索引
Skill 遵循 Agent Skills specification,安装使用 vercel-labs/skills。生成的 MCP 使用标准 stdio 或 Streamable HTTP 传输。
链接
同类插件
yjh051108/dsh-routing-suite★ 7000
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3663
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 325
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
weijiafu14/pi2dsh★ 206
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
lire1131/dsh-undo-savepoint★ 165
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
Fishquito7/dsh-skill-mcp-panel★ 152
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。