Просмотр исходного кода

feat(agent): allow mode selection during creation (#1699)

Erick Christian 6 месяцев назад
Родитель
Сommit
b789844b9c
1 измененных файлов с 24 добавлено и 0 удалено
  1. 24 0
      packages/opencode/src/cli/cmd/agent.ts

+ 24 - 0
packages/opencode/src/cli/cmd/agent.ts

@@ -73,6 +73,29 @@ const AgentCreateCommand = cmd({
       })
       if (prompts.isCancel(selectedTools)) throw new UI.CancelledError()
 
+      const modeResult = await prompts.select({
+        message: "Agent mode",
+        options: [
+          {
+            label: "All",
+            value: "all" as const,
+            hint: "Can function in both primary and subagent roles",
+          },
+          {
+            label: "Primary",
+            value: "primary" as const,
+            hint: "Acts as a primary/main agent",
+          },
+          {
+            label: "Subagent",
+            value: "subagent" as const,
+            hint: "Can be used as a subagent by other agents",
+          },
+        ],
+        initialValue: "all",
+      })
+      if (prompts.isCancel(modeResult)) throw new UI.CancelledError()
+
       const tools: Record<string, boolean> = {}
       for (const tool of availableTools) {
         if (!selectedTools.includes(tool)) {
@@ -82,6 +105,7 @@ const AgentCreateCommand = cmd({
 
       const frontmatter: any = {
         description: generated.whenToUse,
+        mode: modeResult,
       }
       if (Object.keys(tools).length > 0) {
         frontmatter.tools = tools