ワンクリックで
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 職業分類に基づく
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"。
| 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({});