代理
配置和使用专门的代理。
代理是可以针对特定任务和工作流进行配置的专门 AI 助手。它们允许您创建具有自定义提示、模型和工具访问权限的专注工具。
提示:
使用计划代理来分析代码和审查建议,而不进行任何代码更改。
您可以在会话期间在代理之间切换,或使用 @ 提及来调用它们。
类型
Dropstone 中有两种类型的代理:主代理和子代理。
主代理
主代理是您直接交互的主要助手。您可以使用 Tab 键或配置的 switch_agent 快捷键在它们之间循环切换。这些代理处理您的主要对话。工具访问通过权限进行配置:例如,Build 启用了所有工具,而 Plan 受到限制。
提示:
您可以使用 Tab 键在会话期间在主代理之间切换。
Dropstone 附带两个内置主代理,Build 和 Plan。我们将在下面查看这些。
子代理
子代理是专门的助手,主代理可以为特定任务调用它们。您也可以通过在消息中 @ 提及 它们来手动调用它们。
Dropstone 附带两个内置子代理,General 和 Explore。我们将在下面查看这些。
内置
Dropstone 附带两个内置主代理和两个内置子代理。
使用 build
模式: primary
Build 是启用了所有工具的默认主代理。这是标准的开发工作代理,您需要对文件操作和系统命令拥有完全访问权限。
使用 plan
模式: primary
一个为规划和分析而设计的受限代理。我们使用权限系统为您提供更多控制权并防止意外更改。
默认情况下,以下所有内容都设置为 ask:
file edits:所有写入、补丁和编辑bash:所有 bash 命令
当您希望 LLM 分析代码、建议更改或创建计划而不对代码库进行任何实际修改时,此代理很有用。
使用 general
模式: subagent
用于研究复杂问题和执行多步任务的通用代理。具有完整的工具访问权限(除了 todo),因此在需要时可以进行文件更改。使用此功能可以并行运行多个工作单元。
使用 explore
模式: subagent
用于探索代码库的快速、只读代理。无法修改文件。当您需要快速按模式查找文件、搜索代码中的关键字或回答有关代码库的问题时,请使用此功能。
使用 compaction
模式: primary
隐藏的系统代理,将长上下文压缩为较小的摘要。它在需要时自动运行,在 UI 中不可选择。
使用 title
模式: primary
隐藏的系统代理,生成简短的会话标题。它自动运行,在 UI 中不可选择。
使用 summary
模式: primary
隐藏的系统代理,创建会话摘要。它自动运行,在 UI 中不可选择。
使用
-
对于主代理,在会话期间使用 Tab 键循环切换它们。您也可以使用配置的
switch_agent快捷键。 -
子代理可以通过以下方式调用:
-
自动由主代理根据其描述为专门任务调用。
-
通过在消息中 @ 提及 子代理来手动调用。例如。
@general help me search for this function
-
-
会话之间的导航:当子代理创建子会话时,使用
session_child_first(默认:<Leader>+Down)从父会话进入第一个子会话。 -
进入子会话后,使用:
session_child_cycle(默认:Right)循环到下一个子会话session_child_cycle_reverse(默认:Left)循环到上一个子会话session_parent(默认:Up)返回到父会话
这让您可以在主对话和专门的子代理工作之间切换。
配置
您可以通过配置自定义内置代理或创建自己的代理。代理可以通过两种方式进行配置:
JSON
在 dropstone.json 配置文件中配置代理:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "dropstone/dropstone-pro",
"prompt": "{file:./prompts/build.txt}",
"permission": {
"edit": "allow",
"bash": "allow"
}
},
"plan": {
"mode": "primary",
"model": "dropstone/dropstone-fast",
"permission": {
"edit": "deny",
"bash": "deny"
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"permission": {
"edit": "deny"
}
}
}
}
Markdown
您也可以使用 markdown 文件定义代理。将它们放在:
- 全局:
~/.config/dropstone/agents/ - 按项目:
.dropstone/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.
markdown 文件名成为代理名称。例如,review.md 创建一个 review 代理。
选项
让我们详细查看这些配置选项。
描述
使用 description 选项提供代理功能的简要描述以及何时使用它。
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}
这是一个必需的配置选项。
温度
使用 temperature 配置控制 LLM 响应的随机性和创意性。
较低的值使响应更专注和确定性,而较高的值增加创意性和可变性。
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
温度值通常范围从 0.0 到 1.0:
- 0.0-0.2:非常专注和确定性的响应,理想用于代码分析和规划
- 0.3-0.5:平衡的响应,具有一定的创意性,适合一般开发任务
- 0.6-1.0:更具创意和多样化的响应,适用于头脑风暴和探索
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
如果未指定温度,Dropstone 将使用为每个层级调整的合理默认值。
最大步数
控制代理在被迫仅以文本响应之前可以执行的最大代理迭代次数。这允许希望控制成本的用户设置代理操作的限制。
如果未设置此项,代理将继续迭代,直到模型选择停止或用户中断会话。
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}
达到限制时,代理会收到一个特殊的系统提示,指示它用其工作的总结和建议的剩余任务进行响应。
已弃用:
旧版 maxSteps 字段已弃用。请改用 steps。
禁用
设置为 true 以禁用代理。
{
"agent": {
"review": {
"disable": true
}
}
}
提示
使用 prompt 配置为此代理指定自定义系统提示文件。提示文件应包含特定于代理目的的说明。
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
此路径相对于配置文件所在的位置。因此这适用于全局 Dropstone 配置和项目特定配置。
模型
使用 model 配置覆盖此代理的模型。适用于使用针对不同任务优化的不同模型。例如,用于规划的更快模型,用于实现的更强大模型。
提示:
如果您未指定模型,主代理将使用全局配置的模型,而子代理继承调用它们的主代理的模型。
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
模型 ID 使用格式 dropstone/<tier>。使用 dropstone/dropstone-fast、dropstone/dropstone-pro 或 dropstone/dropstone-heavy。
工具(已弃用)
tools 已弃用。对于新配置、更新和更细粒度的控制,请优先使用代理的 permission 字段。
允许您控制此代理中可用的工具。您可以通过将它们设置为 true 或 false 来启用或禁用特定工具。在代理的 tools 配置中,true 等同于 {"*": "allow"} 权限,false 等同于 {"*": "deny"} 权限。
{
"$schema": "https://dropstone.io/schema/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
Note:
代理特定的配置覆盖全局配置。
您也可以在旧版 tools 条目中使用通配符来一次控制多个工具。例如,要禁用来自 MCP 服务器的所有工具:
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
权限
您可以配置权限来管理代理可以执行的操作。每个权限键可以设置为:
"ask":在运行工具前提示批准"allow":允许所有操作而无需批准"deny":禁用工具
可用的权限键为:
| 键 | 它控制的工具 |
|---|---|
read | read |
edit | write, edit, apply_patch |
glob | glob |
grep | grep |
list | list |
bash | bash |
task | task |
external_directory | 任何读取或写入项目工作树外文件的工具 |
todowrite | todowrite, todoread |
webfetch | webfetch |
websearch | websearch |
lsp | lsp |
skill | skill |
question | question |
doom_loop | 当代理似乎卡住时的恢复提示 |
read、edit、glob、grep、list、bash、task、external_directory、lsp 和 skill 接受简写操作("allow" | "ask" | "deny")或 glob/模式 → 操作的对象以进行细粒度控制。其余键仅接受简写操作。
Note:
权限键作为通配符模式与底层工具名称匹配,因此相同的语法适用于内置工具、自定义工具和 MCP 工具。例如 "mymcp_*": "deny" 拒绝来自 MCP 服务器的每个工具,"mymcp_search": "ask" 针对单个工具。
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
}
}
您可以覆盖每个代理的这些权限。
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
您也可以在 Markdown 代理中设置权限。
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.
您可以为特定 bash 命令设置权限。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
这可以采用 glob 模式。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
您也可以使用 * 通配符来管理所有命令的权限。
由于最后匹配的规则优先,请先放置 * 通配符,然后放置特定规则。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
模式
使用 mode 配置控制代理的模式。mode 选项用于确定代理的使用方式。
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
mode 选项可以设置为 primary、subagent 或 all。如果未指定 mode,则默认为 all。
隐藏
使用 hidden: true 从 @ 自动完成菜单中隐藏子代理。适用于应仅由其他代理通过 Task 工具以编程方式调用的内部子代理。
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
这仅影响自动完成菜单中的用户可见性。如果权限允许,隐藏的代理仍然可以由模型通过 Task 工具调用。
Note:
仅适用于 mode: subagent 代理。
任务权限
使用 permission.task 控制代理可以通过 Task 工具调用的子代理。使用 glob 模式进行灵活匹配。
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
设置为 deny 时,子代理将从 Task 工具描述中完全删除,因此模型不会尝试调用它。
提示:
规则按顺序评估,最后匹配的规则获胜。在上面的示例中,orchestrator-planner 同时匹配 *(拒绝)和 orchestrator-*(允许),但由于 orchestrator-* 在 * 之后,结果是 allow。
提示:
用户始终可以通过 @ 自动完成菜单直接调用任何子代理,即使代理的任务权限会拒绝它。
颜色
使用 color 选项自定义代理在 UI 中的视觉外观。这影响代理在界面中的显示方式。
使用有效的十六进制颜色(例如 #FF5733)或主题颜色:primary、secondary、accent、success、warning、error、info。
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
Top P
使用 top_p 选项控制响应多样性。控制随机性的温度替代方案。
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
值范围从 0.0 到 1.0。较低的值更专注,较高的值更多样化。
其他
您在代理配置中指定的任何其他选项都直接传递为模型选项。对于 Dropstone 的层级,支持的传递选项是推理深度和文本冗长性:
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
提示:
运行 dropstone models 查看可用的层级。
创建代理
您可以使用以下命令创建新代理:
dropstone agent create
此交互式命令将:
- 询问保存代理的位置;全局或项目特定。
- 代理应执行的操作的描述。
- 生成适当的系统提示和标识符。
- 让您选择代理应被允许的权限(您未选择的任何内容都被拒绝)。
- 最后,创建一个带有代理配置的 markdown 文件。
用例
以下是不同代理的一些常见用例。
- Build 代理:启用所有工具的完整开发工作
- Plan 代理:分析和规划而不进行更改
- Review 代理:代码审查,具有只读访问权限加文档工具
- Debug 代理:专注于调查,启用 bash 和读取工具
- Docs 代理:文档编写,具有文件操作但没有系统命令
示例
以下是您可能会发现有用的一些示例代理。
提示:
有想要分享的代理吗?联系我们,我们会推荐它。
文档代理
---
description: Writes and maintains project documentation
mode: subagent
permission:
bash: deny
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language
安全审计员
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
permission:
edit: deny
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues