بنقرة واحدة
deepagents-overview
理解 Deep Agents 框架 - 它们是什么、如何使用 createDeepAgent 创建,以及 agent harness 架构,包括内置的规划、文件系统和子代理中间件。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
理解 Deep Agents 框架 - 它们是什么、如何使用 createDeepAgent 创建,以及 agent harness 架构,包括内置的规划、文件系统和子代理中间件。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | deepagents-overview |
| description | 理解 Deep Agents 框架 - 它们是什么、如何使用 createDeepAgent 创建,以及 agent harness 架构,包括内置的规划、文件系统和子代理中间件。 |
| language | js |
Deep Agents 是一个基于 LangChain 和 LangGraph 构建的自有代理框架,专为复杂的多步骤任务而设计。它们"开箱即用",具有内置功能:
Deep Agents 使用"agent harness"架构 - 与其他框架相同的核心工具调用循环,但具有预配置的中间件和工具。
| 使用 Deep Agents 当 | 使用 LangChain 的 createAgent 当 |
|---|---|
| 需要规划的多步骤任务 | 简单、单一用途的任务 |
| 需要文件管理的大上下文 | 上下文适合单个提示 |
| 需要专用子代理 | 单个代理足够 |
| 跨会话持久化内存 | 临时的单会话工作 |
| CLI 或编码助手用例 | 简单 API 或聊天应用 |
import { createDeepAgent } from "deepagents";
// 具有默认设置的最小代理
const agent = await createDeepAgent({});
// 调用代理
const result = await agent.invoke({
messages: [
{ role: "user", content: "东京的天气怎么样?" }
]
});
import { createDeepAgent } from "deepagents";
import { tool } from "langchain";
import { z } from "zod";
const getWeather = tool(
({ city }) => `${city} 总是晴天!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string(),
}),
}
);
const agent = await createDeepAgent({
tools: [getWeather],
systemPrompt: "你是一个有用的天气助手"
});
const result = await agent.invoke({
messages: [
{ role: "user", content: "东京的天气怎么样?" }
]
});
import { createDeepAgent } from "deepagents";
import { ChatOpenAI } from "@langchain/openai";
// 使用 provider:model 格式
const agent = await createDeepAgent({
model: "openai:gpt-4"
});
// 或传递模型实例
const model = new ChatOpenAI({ model: "gpt-4", temperature: 0 });
const agent2 = await createDeepAgent({
model
});
Deep Agents 在创建时自动附加中间件:
import { createDeepAgent } from "deepagents";
// 此代理自动具有:
// - TodoListMiddleware(任务规划)
// - FilesystemMiddleware(文件操作)
// - SubAgentMiddleware(任务委托)
// - SummarizationMiddleware(历史管理)
// - AnthropicPromptCachingMiddleware(缓存)
// - PatchToolCallsMiddleware(工具调用修复)
const agent = await createDeepAgent({});
每个 deep agent 都可以访问:
write_todos - 跟踪多步骤任务ls、read_file、write_file、edit_file、glob、greptask - 将工作委托给专用代理import { createDeepAgent, FilesystemBackend } from "deepagents";
import { MemorySaver, InMemoryStore } from "@langchain/langgraph";
const agent = await createDeepAgent({
name: "my-assistant", // 可选:代理名称
model: "claude-sonnet-4-5-20250929", // 要使用的模型
tools: [customTool1, customTool2], // 附加工具
systemPrompt: "自定义指令", // 自定义系统提示
middleware: [customMiddleware], // 附加中间件
subagents: [researchAgent, codeAgent], // 自定义子代理
backend: new FilesystemBackend({ rootDir: "." }), // 存储后端
interruptOn: { write_file: true }, // 人工干预配置
skills: ["/path/to/skills/"], // 技能目录
checkpointer: new MemorySaver(), // 中断所需
store: new InMemoryStore() // 用于长期内存
});
| 如果你需要... | 使用此中间件 | 何时自定义 |
|---|---|---|
| 跟踪复杂的多步骤任务 | todoListMiddleware | 默认工作;需要时自定义提示 |
| 管理文件上下文 | createFilesystemMiddleware | 更改后端或工具描述 |
| 委托专门工作 | createSubAgentMiddleware | 添加具有特定工具的自定义子代理 |
| 防止上下文溢出 | summarizationMiddleware | 默认工作;自定义摘要策略 |
| 缓存提示(Anthropic) | anthropicPromptCachingMiddleware | 默认自动工作 |
| 添加人工审批 | humanInTheLoopMiddleware | 配置哪些工具需要审批 |
| 按需加载技能 | skillsMiddleware | 提供技能目录 |
| 访问持久化内存 | memoryMiddleware | 提供 Store 实例 |
✅ 模型选择和参数 ✅ 附加的自定义工具 ✅ 系统提示自定义 ✅ 后端存储策略 ✅ 哪些工具需要审批 ✅ 具有专用工具的自定义子代理 ✅ 技能目录和内容 ✅ 中间件顺序和配置
❌ 核心中间件移除(TodoList、Filesystem、SubAgent 始终存在) ❌ write_todos、task 或文件系统工具名称 ❌ 基本工具调用循环 ❌ LangGraph 的运行时执行模型 ❌ Agent Skills 协议格式
// ❌ 如果设置了 interruptOn 将会出错
const agent = await createDeepAgent({
interruptOn: { write_file: true }
});
// ✅ Checkpointer 是必需的
import { MemorySaver } from "@langchain/langgraph";
const agent = await createDeepAgent({
interruptOn: { write_file: true },
checkpointer: new MemorySaver()
});
// ❌ StoreBackend 需要 Store
import { StoreBackend } from "deepagents";
const agent = await createDeepAgent({
backend: (config) => new StoreBackend(config)
});
// ✅ 传递 Store 实例
import { InMemoryStore } from "@langchain/langgraph";
const agent = await createDeepAgent({
backend: (config) => new StoreBackend(config),
store: new InMemoryStore()
});
// ❌ 没有正确的后端技能不会加载
const agent = await createDeepAgent({
skills: ["/path/to/skills/"]
});
// ✅ 使用 FilesystemBackend 进行本地技能
import { FilesystemBackend } from "deepagents";
const agent = await createDeepAgent({
backend: new FilesystemBackend({ rootDir: ".", virtualMode: true }),
skills: ["./skills/"]
});
// ❌ 没有 thread_id 每次调用都是隔离的
await agent.invoke({ messages: [{ role: "user", content: "嗨" }] });
await agent.invoke({ messages: [{ role: "user", content: "我说了什么?" }] });
// ✅ 使用一致的 thread_id 保持对话连续性
const config = { configurable: { thread_id: "user-123" } };
await agent.invoke({ messages: [{ role: "user", content: "嗨" }] }, config);
await agent.invoke({ messages: [{ role: "user", content: "我说了什么?" }] }, config);
// 默认使用 claude-sonnet-4-5-20250929
const agent = await createDeepAgent({});
// 需要 ANTHROPIC_API_KEY 环境变量
// 如果使用 OpenAI 模型,设置 OPENAI_API_KEY
process.env.ANTHROPIC_API_KEY = "your-key";
// ❌ 缺少 await
const agent = createDeepAgent({});
// ✅ createDeepAgent 是异步的
const agent = await createDeepAgent({});
Mac 系统深度清理和优化工具。使用 Mole (mo 命令) 执行系统清理、磁盘分析、应用卸载、系统优化等任务。 触发场景(当用户提到以下任一内容时使用此 skill): - 清理 Mac、清理磁盘、释放空间、清理缓存、清理系统 - 卸载应用、删除应用、移除应用及其残留 - 磁盘分析、查看磁盘占用、大文件查找、空间分析 - 系统优化、系统维护、刷新系统、重建缓存 - 系统状态、系统监控、CPU/内存/磁盘监控 - 清理 node_modules、清理构建产物、清理项目依赖 - 清理安装包、删除 dmg/pkg 文件 - Mac 清理工具、类似 CleanMyMac 的功能 - "我的 Mac 太慢了"、"磁盘空间不足"、"电脑卡顿" - 即使没有明确说 "Mole",只要涉及上述场景就应使用
快速搭建和配置 pnpm monorepo 项目结构,包含 TypeScript、tsup 构建、私有 npm registry 配置。当用户需要"创建 monorepo"、"初始化 monorepo 项目"、"配置 pnpm workspace"、"设置 monorepo 构建"、"monorepo setup"时使用。特别适合需要统一管理多个包、配置构建工具、处理 TypeScript 路径问题的场景。即使用户只是说"帮我搭建项目结构"或"配置构建",如果涉及多包管理也应该使用此 skill。
智能拆分暂存区的代码变更为多个符合 Conventional Commits 规范的逻辑提交。当用户需要将大量变更按逻辑关系分组提交时使用,比如"拆分这些提交"、"把暂存区的变更分成多个 commit"、"按功能分别提交"、"split commits"等场景。特别适合处理包含多个模块、多种类型文件(配置、代码、测试、文档)的复杂变更集。
OKR 优化与质量评估专家。当用户需要:(1) 评估现有 OKR 的质量,(2) 优化模糊或不可量化的关键结果,(3) 检查 OKR 是否符合核心原则(聚焦、可量化、有挑战),(4) 将任务型 KR 转化为结果型 KR,(5) 提供具体的改进建议时使用。触发词包括"帮我优化 OKR"、"检查这个 OKR"、"这个 KR 写得好吗"、"如何量化这个目标"。
基于 git commits 自动生成 CHANGELOG.md 变更日志。支持语义化版本、分类整理、多格式输出。触发场景包括"生成变更日志"、"更新 CHANGELOG"、"版本记录"。
GitHub PR 代码审查技能。检查代码质量、安全性、性能和最佳实践,生成结构化审查报告。触发场景包括"审查 PR"、"代码检查"、"review pull request"。