From b1bb6cbedc7a226cf7f0c133f9700073fcc640ff Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Mon, 25 May 2026 16:53:36 +0700 Subject: [PATCH] feat: add deepseek-agents extension (auto-injects deepseek model) --- extensions/deepseek-agents.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 extensions/deepseek-agents.ts diff --git a/extensions/deepseek-agents.ts b/extensions/deepseek-agents.ts new file mode 100644 index 0000000..46e5c31 --- /dev/null +++ b/extensions/deepseek-agents.ts @@ -0,0 +1,31 @@ +// ABOUTME: DeepSeek Agent Default — auto-injects deepseek-v4-flash model into subagent_create calls +// ABOUTME: Intercepts tool_call events and patches the model parameter when not explicitly set + +import type { ExtensionAPI, ExtensionContext, ToolCallEvent, ToolCallEventResult } from "@mariozechner/pi-coding-agent"; + +export default function (pi: ExtensionAPI) { + pi.on("tool_call", (event: ToolCallEvent, _ctx: ExtensionContext): ToolCallEventResult | void => { + // Only intercept subagent_create calls + if (event.toolName === "subagent_create") { + const input = event.input as Record; + + // Only inject model if not explicitly set by the user + if (!input.model) { + input.model = "deepseek-v4-flash"; + } + } + + // Also intercept subagent_create_batch to inject model into each agent + if (event.toolName === "subagent_create_batch") { + const input = event.input as Record; + const agents = input.agents as Array> | undefined; + if (agents) { + for (const agent of agents) { + if (!agent.model) { + agent.model = "deepseek-v4-flash"; + } + } + } + } + }); +}