news 2026/9/3 13:08:49

OpenHands技能与插件体系深度解析:Skills与Plugins如何为你的AI开发团队扩展能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenHands技能与插件体系深度解析:Skills与Plugins如何为你的AI开发团队扩展能力

OpenHands技能与插件体系深度解析:Skills与Plugins如何为你的AI开发团队扩展能力

【免费下载链接】OpenHands🙌 OpenHands: AI-Driven Development项目地址: https://gitcode.com/GitHub_Trending/ope/OpenHands

OpenHands 是一个 AI 驱动开发(AI-Driven Development)控制中心,它把编码 Agent 变成一支 7×24 小时在线的自托管工程团队。而让这支团队不断变强的关键,正是它的技能(Skills)与插件(Plugins)体系——技能为 AI Agent 安装一个个"专业能力模块",插件则把这些能力打包成可安装、可更新、可共享的扩展单元。本文将用最短的篇幅,帮你搞懂这两套扩展机制如何分工、如何协同,以及如何在新手级别就快速用起来。

一、先分清概念:技能与插件到底是什么?

在 OpenHands 中,两者是"零件"与"集装箱"的关系:

技能(Skill)插件(Plugin)
定位单一的能力单元(提示词、知识、工作流)包含多个技能与文件的可安装扩展包
类型repo/knowledge/agentskills三种市场插件 + 本地插件
管理方式启用 / 禁用安装 / 启用 / 禁用 / 卸载 / 刷新
入口设置 → Customize → Skills设置 → Customize → Plugins

技能的三种类型定义在 src/types/settings.ts 中,每个技能都带有名称、描述、触发条件(triggers)、分类、许可协议等元数据,AI Agent 正是根据这些信息决定"什么时候调用哪个技能"。

二、技能(Skills):给 AI Agent 装上专业模块

技能从哪里来?

OpenHands 的技能来自三个渠道,前端由 src/api/skills-service.ts 统一聚合:

  1. 官方公共技能目录:来自@openhands/extensionsnpm 包,在构建时打包进前端,无需联网即可使用;
  2. 用户与项目技能:放在本地.agents/skills/目录下的自定义技能,会由 Agent 服务器自动发现;
  3. 云端技能:当后端为 Cloud 时,直接拉取云端技能列表。

也就是说,你既可以开箱即用官方技能,也可以把自己的团队经验写成技能文件放进项目里——技能即代码(Skill as Code)。

技能管理页面:搜索、筛选、一键启停

技能页面(路由定义见 src/routes/skills-settings.tsx)提供了完整的筛选维度:

  • STATE(状态):按 Enabled / Disabled 过滤,被禁用的技能不会加载进 Agent 上下文;
  • RECOMMENDATION(推荐):区分官方"推荐"技能与其他技能;
  • CATEGORY(类别):如 Writing & docs(写作文档)、Environment & tooling(环境工具)、Code hosting & CI(代码托管与 CI)、Agent authoring(Agent 编写)等。

点击技能卡片即可查看详情、触发词与安装方式;Add Skill按钮支持从 GitHub 仓库直接导入新技能(见 add-skill-modal.tsx)。技能的启用状态通过设置项enabled_skills/disabled_skills持久化,前端逻辑集中在 src/hooks/use-skill-enablement.ts 中。

技能如何进入对话?

技能不只是设置项:在会话面板中可以直接查看与启用技能(skill-item.tsx、skills-modal.tsx),通过斜杠命令快速发起(slash-command-menu.tsx),甚至点击技能即可在聊天中启动对应工作流(use-launch-skill-in-chat.ts)。当 Agent 调用了某个技能,对话流会展示"技能就绪"卡片,帮助你看清 AI 到底用了什么能力(skill-ready-content-list.tsx)。

三、插件(Plugins):可安装、可更新的能力包

如果说技能是"散装"能力,插件就是装好货的集装箱——一个插件目录里包含SKILL.md形式的技能定义和配套文件,安装一次,能力全套就位。

插件的两大来源

插件数据模型定义在 src/api/plugins-service.ts 中:

  • 市场插件(Marketplace):运行时从本地 Agent 服务器动态拉取目录,列表始终最新,无需重新构建前端;
  • 本地插件(Local):扫描~/.agents/plugins~/.openhands/plugins等用户级目录自动发现,作为只读分组展示。

插件全生命周期管理

安装、启用/禁用、卸载、刷新等操作由 src/api/plugins-management-service.ts 负责,已安装插件存放在本地 Agent 服务器的~/.openhands/plugins/installed/下。核心操作一览:

操作说明
安装支持从 Git 源(含指定分支 ref 与子路径)或本地路径安装
启用 / 禁用不删除文件,只切换是否加载进会话
卸载移除本地已安装的插件
刷新重新拉取插件最新内容

插件页面(src/routes/skills-plugins.tsx)支持搜索、查看详情与文件内容。点击插件卡片打开详情弹窗(plugin-detail-modal.tsx),其中 plugin-files-section.tsx 能直接在线预览插件内的文本文件——装之前先"验货",透明可审计。

四、新手上手:3 步扩展你的 AI 开发团队

  1. 逛技能市场:进入 Customize → Skills,先勾选Recommended筛选器,浏览官方推荐技能,按需开启(例如code-reviewagent-memory);
  2. 让技能进对话:在聊天输入框输入/唤起技能菜单,或在会话侧栏直接点击技能卡片启用;
  3. 安装插件打包能力:进入 Customize → Plugins,在市场列表中搜索目标插件 → 查看详情与文件 → 安装并启用。

整个过程无需写代码、无需重启服务,插件安装后会自动进入新会话。

五、关键源码地图

想深入这套扩展体系,可以从以下入口读起:

  • 技能数据模型:src/types/settings.ts
  • 技能聚合服务:src/api/skills-service.ts
  • 插件目录与本地插件:src/api/plugins-service.ts
  • 插件安装管理:src/api/plugins-management-service.ts
  • 技能 UI 组件:src/components/features/skills/
  • 插件 UI 组件:src/components/features/plugins/
  • 架构总览:docs/architecture.md
  • 开发指南:docs/DEVELOPMENT.md

总结

OpenHands 的扩展哲学非常清晰:技能负责"AI 会做什么",插件负责"能力如何分发"。技能以轻量元数据驱动 Agent 的行为,插件以目录为单位实现能力的一键分发与更新。两者叠加,让 OpenHands 不只是一个单点编码工具,而是一个可持续进化的 AI 开发团队底座——今天装一个代码审查技能,明天加一个 CI 插件,团队的战斗力随之平滑生长。

【免费下载链接】OpenHands🙌 OpenHands: AI-Driven Development项目地址: https://gitcode.com/GitHub_Trending/ope/OpenHands

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 13:08:18

基于RVB2601与YoC平台打造网络时钟:从Wi-Fi对时到OLED显示的物联网实践

简介:本资源是面向嵌入式与物联网开发者的RVB2601平台网络闹钟实战项目,解决传统闹钟时间不准、无法远程同步等痛点,适用于初学者入门IoT设备开发及工程师拓展NTP时间同步、Wi-Fi联网、低功耗外设控制等综合能力。压缩包共2777个文件&#xf…

作者头像 李华
网站建设 2026/9/3 13:07:20

Coze工作流实战:从零构建自动化数据分析报告流水线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 13:07:06

Gin框架凭什么快40倍?Benchmark数据揭秘零分配路由的极致性能

Gin框架凭什么快40倍?Benchmark数据揭秘零分配路由的极致性能 【免费下载链接】gin Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to …

作者头像 李华
网站建设 2026/9/3 13:02:51

本地部署AI情感叙事项目:从环境搭建到API集成的全流程指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 13:02:48

Python模拟音乐榜单走势:以洛德Billboard Hot 100为例的数据分析实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华