首页 / 资讯中心 / 文章详情

OpenHands Software Agent SDK技能与插件实战:3步加载AgentSkills让Agent更强大

OpenHands Software Agent SDK技能与插件实战:3步加载AgentSkills让Agent更强大 ★ FEATURED ARTICLE
【免费下载链接】software-agent-sdkA clean, modular SDK for building AI agents with OpenHands V1.项目地址https://gitcode.com/gh_mirrors/so/software-agent-sdk点击查看免费下载OpenHands Software Agent SDKsoftware-agent-sdk是 OpenHands V1 官方推出的模块化 AI Agent 开发套件支持 Python、TypeScript 与 REST API。本文用 3 步带你完成AgentSkills 技能加载并讲解插件Plugin的安装、启用与生命周期管理让你的 Agent 快速获得加密代码检查等专属能力。什么是 Skill 与 Plugin在动手之前先厘清两个核心概念概念定位典型形态核心源码Skill技能给 Agent 注入专业知识与工作流SKILL.md 可选的scripts/、references/、assets/目录openhands-sdk/openhands/sdk/skills/skill.pyPlugin插件打包分发单元一次带来技能、钩子、MCP 配置、命令plugin.json清单 skills/hooks/.mcp.jsonopenhands-sdk/openhands/sdk/plugin/plugin.py技能按激活方式分为三类Repo 技能triggerNone内容常驻系统提示词全程生效Knowledge 技能关键词触发用户消息命中triggers中的关键词时自动注入AgentSkills 技能SKILL.md格式以渐进披露方式列出在available_skills中Agent 需要时通过内置的 invoke_skill 工具按需读取全文不浪费上下文。 AgentSkills 是跨平台的开放标准意味着你在本仓库写好的技能目录结构上与其他主流 Agent 生态兼容。第1步理解 AgentSkills 标准目录结构一个规范的技能就是一个目录 一个 SKILL.md。以仓库自带的 ROT13 加密技能为例rot13-encryption/ ├── SKILL.md # 必须frontmatter 元数据 Markdown 正文 ├── scripts/ │ └── encrypt.sh # 可选Agent 可执行的脚本 └── references/ └── examples.md # 可选参考文档SKILL.md由两部分组成YAML frontmattername、description1~1024 字符、license、compatibility、metadata以及可选的triggers关键词列表Markdown 正文写给 Agent 看的操作指南。完整示例见 rot13-encryption/SKILL.md其中triggers声明了encrypt、decrypt、cipher三个关键词——只要用户消息中出现这些词技能内容就会自动注入上下文。无触发的技能如 code-style-guide/SKILL.md则只登记在技能目录中由 Agent 按需调用。⚠️ 技能目录名必须与name字段保持一致否则严格模式下会抛出SkillValidationError校验逻辑位于 validate_skill_name。第2步从目录批量加载 AgentSkills 技能SDK 在 openhands-sdk/openhands/sdk/skills/ 模块中提供了统一的加载 API最常用的两个函数load_skills_from_dir()扫描指定目录自动识别SKILL.md与旧版.md技能返回(repo_skills, knowledge_skills, agent_skills)三类字典单个技能加载失败只告警不中断discover_skill_resources()发现技能内的scripts/、references/、assets/资源目录。参考官方示例 examples/05_skills_and_plugins/01_loading_agentskills/main.pyfrom openhands.sdk.skills import load_skills_from_dir repo_skills, knowledge_skills, agent_skills load_skills_from_dir(example_skills_dir) # 输出agent_skills {code-style-guide, rot13-encryption}加载时 SDK 还会自动做几件幕后工作解析triggers推断触发类型KeywordTrigger/TaskTrigger/PathTrigger、读取技能目录下.mcp.json挂载外部工具、截断超长description并附上来源路径提示。这些细节都封装在 Skill.load() 类方法中。第3步挂载到 Agent一句话触发技能把技能装进AgentContext再交给Agent即可agent_context AgentContext(skillslist(agent_skills.values())) agent Agent(llmllm, toolstools, agent_contextagent_context) conversation Conversation(agentagent, workspaceos.getcwd()) conversation.send_message(Encrypt the message hello world.) conversation.run()消息中的encrypt命中触发词后Agent 会拿到加密脚本的使用说明并直接执行./scripts/encrypt.sh完成任务。完整可运行脚本见 main.py设置LLM_API_KEY环境变量后运行python main.py即可。除了磁盘技能SDK 还支持多种技能来源可组合使用项目级load_project_skills()读取项目下的.agents/skills/用户级load_user_skills()读取~/.agents/skills/等目录同名技能按目录优先级合并纯代码定义在代码中直接构造Skill(name..., content..., trigger...)示例见 03_activate_skill.py无需任何文件。进阶用 Plugin 打包技能 钩子 MCP 工具当你需要把一整套能力技能 事件钩子 MCP 服务器一起分发时就轮到Plugin出场了。SDK 兼容 Claude Code 插件结构典型布局code-quality/ ├── .plugin/ │ └── plugin.json # 清单name / version / description ├── skills/ │ └── linting/ │ └── SKILL.md # 打包在插件里的技能 ├── hooks/ │ └── hooks.json # 事件钩子如 PostToolUse 日志 └── .mcp.json # 外部 MCP 工具配置仓库示例 code-quality 插件就演示了这种组合linting/SKILL.md 教会 Agent 用 ruff 检查代码hooks/hooks.json 则在每次工具调用后自动追加日志。插件支持从本地路径或远程 Git 仓库可指定分支、tag、commit加载核心 API 都在 openhands-sdk/openhands/sdk/plugin/ 模块from openhands.sdk.plugin import PluginSource, install_plugin, load_installed_plugins # 会话级直接把插件传给 Conversation conversation Conversation(agentagent, plugins[ PluginSource(source/path/to/code-quality) ])更多玩法可参考 02_loading_plugins/main.py。技能生命周期管理安装、启用、卸载技能与插件都支持包管理器式运维元数据统一记录在.installed.json中操作技能 API插件 API安装install_skill()install_plugin()列出list_installed_skills()list_installed_plugins()启用/停用enable_skill()/disable_skill()enable_plugin()/disable_plugin()卸载uninstall_skill()uninstall_plugin()停用的技能/插件不会被加载但可随时再启用而无需重新安装——完整生命周期演示安装 → 列表 → 停用 → 重装验证 → 卸载见 03_managing_installed_skills/main.py。如果是团队场景还可以创建Marketplace市场目录通过.plugin/marketplace.json声明一批本地与远程技能的来源一行install_skills_from_marketplace()即可批量安装示例见 04_mixed_marketplace_skills/main.py。快速上手清单按 AgentSkills 标准编写技能目录技能名/SKILL.md 可选资源目录用load_skills_from_dir()加载或写入项目.agents/skills/实现自动发现通过AgentContext(skills[...])挂载给 Agent发送含触发词的消息验证生效需要分发时用 Plugin 打包技能 hooks MCP用install_plugin()做版本化管理。 核心模块速查技能模型与加载 → openhands-sdk/openhands/sdk/skills/插件模型与分发 → openhands-sdk/openhands/sdk/plugin/全部实战示例 → examples/05_skills_and_plugins/。掌握这 3 步加载流程你的 Agent 就能像手机装 App 一样持续获得可插拔的专业能力。赞分享【免费下载链接】software-agent-sdkA clean, modular SDK for building AI agents with OpenHands V1.项目地址https://gitcode.com/gh_mirrors/so/software-agent-sdk点击查看免费下载相关推荐MCP协议集成实战用OpenHands Software Agent SDK连接任意外部工具生态MCP协议集成实战用OpenHands Software Agent SDK连接任意外部工具生态 如果你正在用 OpenHands Software AgenClaude Code 插件实战用 agent-sdk-verifier-ts 全面验证 TypeScript Agent SDK 应用Claude Code 插件实战用 agent sdk verifier ts 全面验证 TypeScript Agent SDK 应用 导读 agent sAI 应用AI 技能/插件开发工具5大技术优化让OpenHands Agent消息处理效率提升300%5大技术优化让OpenHands Agent消息处理效率提升300% 你是否遇到过AI Agent在处理复杂任务时反应迟缓是否因消息格式混乱导致工具调用失败人工智能AI Agent代码智能体前端后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站