Deepagents扩展开发:创建自定义Deepagents插件

【免费下载链接】deepagents Deepagents is an agent harness built on langchain and langgraph. Deep agents are equipped with a planning tool, a filesystem backend, and the ability to spawn subagents - making them well-equipped to handle complex agentic tasks. 【免费下载链接】deepagents 项目地址: https://gitcode.com/GitHub_Trending/de/deepagents

Deepagents是基于langchain和langgraph构建的智能代理框架,通过规划工具、文件系统后端和子代理生成能力,能够处理复杂的代理任务。本文将详细介绍如何为Deepagents创建自定义插件(技能),帮助开发者扩展其功能,实现特定领域的自动化任务。

插件开发基础:认识Deepagents技能系统

Deepagents的插件系统以"技能"(Skill)为核心,每个技能都是一个独立的功能模块,可被主代理动态加载和使用。技能系统采用三级加载机制,确保上下文高效管理:

  1. 元数据层(名称+描述):始终保持在上下文(约100词)
  2. 技能主体(SKILL.md):技能触发时加载(<5k词)
  3. 资源文件:根据需要动态加载(无限制,可执行脚本无需加载到上下文)

Deepagents技能系统架构 Deepagents技能系统架构示意图,展示了技能与主代理的交互流程

技能文件结构遵循标准化设计,主要包含:

skill-name/
├── SKILL.md (必需)
│   ├── YAML头信息 (必需)
│   │   ├── name: (必需)
│   │   └── description: (必需)
│   └── Markdown指令 (必需)
└── 资源文件 (可选)
    ├── scripts/          - 可执行代码
    ├── references/       - 参考文档
    └── assets/           - 输出资源

快速开始:创建你的第一个技能

环境准备

首先克隆Deepagents项目仓库:

git clone https://gitcode.com/GitHub_Trending/de/deepagents
cd deepagents

Deepagents提供两种创建技能的方式,适用于不同场景:

方法一:使用init_skill.py(推荐用于复杂技能)

# 创建用户级技能
scripts/init_skill.py my-first-skill --path ~/.deepagents/agent/skills

# 或创建项目级技能
scripts/init_skill.py my-first-skill --path .deepagents/skills

此脚本会自动生成完整的技能目录结构,包括:

  • 标准化的SKILL.md模板
  • 示例脚本目录(scripts/)
  • 参考文档目录(references/)
  • 资源文件目录(assets/)

方法二:使用CLI命令(快速创建简单技能)

# 创建用户级技能
deepagents skills create my-first-skill

# 或创建项目级技能
deepagents skills create my-first-skill --project

这种方式仅生成基础的SKILL.md文件,适合仅需简单指令的技能。

Deepagents CLI操作界面 Deepagents CLI界面展示了技能创建命令的使用方法

技能开发详解:构建功能完善的插件

编写SKILL.md文件

SKILL.md是技能的核心,包含元数据和执行指令。YAML头信息决定技能何时被触发,需精心设计:

---
name: my-first-skill
description: "用于处理文本文件的基本技能,支持格式转换、内容提取和简单分析。当用户需要处理.txt、.md或.csv文件时自动触发。"
---

技能主体部分应遵循"渐进式披露"原则,保持简洁同时提供必要指导:

  1. 概述:1-2句话说明技能功能
  2. 核心功能:分点列出主要能力
  3. 使用示例:提供具体用例
  4. 资源说明:指引到相关脚本和参考文档

开发配套资源

根据技能需求,可添加三类资源文件:

  1. 脚本(scripts/):存放可执行代码,如Python脚本处理特定任务
#!/usr/bin/env python3
"""文本分析工具,提取关键词和摘要"""
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

def analyze_text(text):
    # 实现文本分析逻辑
    pass

if __name__ == "__main__":
    analyze_text(input("请输入文本: "))
  1. 参考文档(references/):存放API文档、数据模式等详细信息

  2. 资源文件(assets/):存放模板、图片等输出资源

技能验证与测试

使用Deepagents提供的验证工具检查技能格式:

scripts/quick_validate.py <path/to/skill-folder>

验证工具会检查:

  • YAML头信息格式和必填字段
  • 技能命名规范
  • 描述完整性
  • 允许的头信息字段

技能部署与使用

Deepagents从五个位置加载技能,优先级从低到高:

  1. <package>/built_in_skills/ - 内置技能
  2. ~/.deepagents/<agent>/skills/ - 用户级技能
  3. ~/.agents/skills/ - 用户共享技能
  4. .deepagents/skills/ - 项目级技能
  5. .agents/skills/ - 项目共享技能

将开发好的技能放置在相应目录后,Deepagents会自动发现并加载。可通过以下命令查看已安装技能:

deepagents skills list

技能工作流程 Deepagents技能工作流程示意图,展示了技能选择和执行过程

高级技巧:优化技能性能

  1. 上下文管理:保持SKILL.md精简,将详细信息移至reference目录
  2. 资源组织:按功能或场景组织资源,如按云平台分类部署脚本
  3. 版本控制:对技能进行版本管理,方便迭代和回滚
  4. 错误处理:在脚本中添加完善的错误处理,提高鲁棒性
  5. 技能组合:设计可组合的小型技能,而非单一大型技能

总结

通过本文介绍的方法,你可以为Deepagents创建功能丰富的自定义插件,扩展其在特定领域的能力。无论是文本处理、数据分析还是自动化工作流,技能系统都能提供灵活而强大的扩展机制。

开始你的Deepagents插件开发之旅,释放AI代理的全部潜力!如需更多帮助,请参考项目中的示例技能:

通过这些示例,你可以学习更高级的技能设计模式和最佳实践。

【免费下载链接】deepagents Deepagents is an agent harness built on langchain and langgraph. Deep agents are equipped with a planning tool, a filesystem backend, and the ability to spawn subagents - making them well-equipped to handle complex agentic tasks. 【免费下载链接】deepagents 项目地址: https://gitcode.com/GitHub_Trending/de/deepagents

Logo

更多推荐