mirror of
https://github.com/mark3labs/kit.git
synced 2026-06-14 03:30:26 +00:00
Deploying to gh-pages from @ mark3labs/kit@f36166bee5 🚀
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
{"version":"1.4.0","languages":{"en":{"hash":"en_6352fc3c3c","wasm":"en","page_count":21}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
|
||||
{"version":"1.4.0","languages":{"en":{"hash":"en_8ffd7ed64b","wasm":"en","page_count":21}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
|
||||
Binary file not shown.
Binary file not shown.
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Machine-readable JSON output for scripting and automation.">
|
||||
<link rel="canonical" href="/advanced/json-output">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"JSON Output","description":"Machine-readable JSON output for scripting and automation.","url":"https://go-kit.dev/advanced/json-output","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Multi-agent orchestration with Kit subagents.">
|
||||
<link rel="canonical" href="/advanced/subagents">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Subagents","description":"Multi-agent orchestration with Kit subagents.","url":"https://go-kit.dev/advanced/subagents","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -42,12 +42,12 @@ Key flags for subprocess usage:
|
||||
|
||||
Positional arguments are the prompt. `@file` arguments attach file content as context.
|
||||
|
||||
## Built-in spawn_subagent tool
|
||||
## Built-in subagent tool
|
||||
|
||||
Kit includes a built-in `spawn_subagent` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
Kit includes a built-in `subagent` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
|
||||
```
|
||||
spawn_subagent(
|
||||
subagent(
|
||||
task: "Analyze the test files and summarize coverage",
|
||||
model: "anthropic/claude-haiku-latest", // optional
|
||||
system_prompt: "You are a test analysis expert.", // optional
|
||||
@@ -71,7 +71,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents from extensions
|
||||
|
||||
When the LLM (not the extension itself) spawns a subagent using the `spawn_subagent` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
When the LLM (not the extension itself) spawns a subagent using the `subagent` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
|
||||
```go
|
||||
// Track active subagents and display their output
|
||||
@@ -157,11 +157,11 @@ result, err := host.Subagent(ctx, kit.SubagentConfig{
|
||||
|
||||
### Real-time subagent events
|
||||
|
||||
Use `SubscribeSubagent` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the `spawn_subagent` tool). Register inside an `OnToolCall` handler using the tool call ID:
|
||||
Use `SubscribeSubagent` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the `subagent` tool). Register inside an `OnToolCall` handler using the tool call ID:
|
||||
|
||||
```go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
switch ev := event.(type) {
|
||||
case kit.MessageUpdateEvent:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Test Kit's TUI non-interactively using tmux.">
|
||||
<link rel="canonical" href="/advanced/testing">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Testing with tmux","description":"Test Kit's TUI non-interactively using tmux.","url":"https://go-kit.dev/advanced/testing","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -56,9 +56,9 @@ const s={frontmatter:{title:"Callbacks",description:"Monitor tool calls and stre
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
|
||||
<p>The first argument is a priority (lower = runs first).</p>
|
||||
<h2 id="subagent-event-monitoring"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#subagent-event-monitoring"><span class="icon icon-link"></span></a>Subagent event monitoring</h2>
|
||||
<p>Monitor real-time events from LLM-initiated subagents (when the model uses the <code>spawn_subagent</code> tool):</p>
|
||||
<p>Monitor real-time events from LLM-initiated subagents (when the model uses the <code>subagent</code> tool):</p>
|
||||
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">host.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">OnToolCall</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#D73A49;--shiki-dark:#F97583">func</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#E36209;--shiki-dark:#FFAB70">e</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> kit</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">ToolCallEvent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> if</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> e.ToolName </span><span style="color:#D73A49;--shiki-dark:#F97583">==</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> "spawn_subagent"</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> if</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> e.ToolName </span><span style="color:#D73A49;--shiki-dark:#F97583">==</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> "subagent"</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> host.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">SubscribeSubagent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(e.ToolCallID, </span><span style="color:#D73A49;--shiki-dark:#F97583">func</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#E36209;--shiki-dark:#FFAB70">event</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> kit</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">Event</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#6A737D;--shiki-dark:#6A737D"> // Receives the same event types as Subscribe(), scoped to the child agent</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> switch</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> ev </span><span style="color:#D73A49;--shiki-dark:#F97583">:=</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> event.(</span><span style="color:#D73A49;--shiki-dark:#F97583">type</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
@@ -142,11 +142,11 @@ The first argument is a priority (lower = runs first).
|
||||
|
||||
## Subagent event monitoring
|
||||
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the \`spawn_subagent\` tool):
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the \`subagent\` tool):
|
||||
|
||||
\`\`\`go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
// Receives the same event types as Subscribe(), scoped to the child agent
|
||||
switch ev := event.(type) {
|
||||
@@ -237,7 +237,7 @@ const s={frontmatter:{title:"Capabilities",description:"All extension capabiliti
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> SystemPrompt: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">"You are a test analysis expert."</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
|
||||
<h3 id="monitoring-subagents-spawned-by-the-main-agent"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#monitoring-subagents-spawned-by-the-main-agent"><span class="icon icon-link"></span></a>Monitoring subagents spawned by the main agent</h3>
|
||||
<p>When the LLM uses the built-in <code>spawn_subagent</code> tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:</p>
|
||||
<p>When the LLM uses the built-in <code>subagent</code> tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:</p>
|
||||
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6A737D;--shiki-dark:#6A737D">// Subagent started</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">api.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">OnSubagentStart</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#D73A49;--shiki-dark:#F97583">func</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#E36209;--shiki-dark:#FFAB70">e</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> ext</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">SubagentStartEvent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, </span><span style="color:#E36209;--shiki-dark:#FFAB70">ctx</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> ext</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">Context</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#6A737D;--shiki-dark:#6A737D"> // e.ToolCallID — unique ID for this subagent invocation</span></span>
|
||||
@@ -647,7 +647,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents spawned by the main agent
|
||||
|
||||
When the LLM uses the built-in \`spawn_subagent\` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
When the LLM uses the built-in \`subagent\` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
|
||||
\`\`\`go
|
||||
// Subagent started
|
||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@ const n={frontmatter:{title:"Kit",description:"Kit is a powerful, extensible AI
|
||||
<h2 id="features"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#features"><span class="icon icon-link"></span></a>Features</h2>
|
||||
<ul>
|
||||
<li><strong>Multi-Provider LLM Support</strong> — Anthropic, OpenAI, Google Gemini, Ollama, Azure OpenAI, AWS Bedrock, OpenRouter, and more</li>
|
||||
<li><strong>Built-in Core Tools</strong> — bash, read, write, edit, grep, find, ls, spawn_subagent with no MCP overhead</li>
|
||||
<li><strong>Built-in Core Tools</strong> — bash, read, write, edit, grep, find, ls, subagent with no MCP overhead</li>
|
||||
<li><strong>MCP Integration</strong> — Connect external MCP servers for expanded capabilities</li>
|
||||
<li><strong>Extension System</strong> — Write custom tools, commands, widgets, and UI modifications in Go</li>
|
||||
<li><strong>Interactive TUI</strong> — Rich terminal interface powered by Bubble Tea with streaming, syntax highlighting, and custom rendering</li>
|
||||
@@ -54,7 +54,7 @@ A powerful, extensible AI coding agent CLI with multi-provider support, built-in
|
||||
## Features
|
||||
|
||||
- **Multi-Provider LLM Support** — Anthropic, OpenAI, Google Gemini, Ollama, Azure OpenAI, AWS Bedrock, OpenRouter, and more
|
||||
- **Built-in Core Tools** — bash, read, write, edit, grep, find, ls, spawn_subagent with no MCP overhead
|
||||
- **Built-in Core Tools** — bash, read, write, edit, grep, find, ls, subagent with no MCP overhead
|
||||
- **MCP Integration** — Connect external MCP servers for expanded capabilities
|
||||
- **Extension System** — Write custom tools, commands, widgets, and UI modifications in Go
|
||||
- **Interactive TUI** — Rich terminal interface powered by Bubble Tea with streaming, syntax highlighting, and custom rendering
|
||||
@@ -40,9 +40,9 @@ const s={frontmatter:{title:"Subagents",description:"Multi-agent orchestration w
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Positional arguments are the prompt. <code>@file</code> arguments attach file content as context.</p>
|
||||
<h2 id="built-in-spawn_subagent-tool"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#built-in-spawn_subagent-tool"><span class="icon icon-link"></span></a>Built-in spawn_subagent tool</h2>
|
||||
<p>Kit includes a built-in <code>spawn_subagent</code> tool that the LLM can use to delegate tasks to independent child agents:</p>
|
||||
<pre><code>spawn_subagent(
|
||||
<h2 id="built-in-subagent-tool"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#built-in-subagent-tool"><span class="icon icon-link"></span></a>Built-in subagent tool</h2>
|
||||
<p>Kit includes a built-in <code>subagent</code> tool that the LLM can use to delegate tasks to independent child agents:</p>
|
||||
<pre><code>subagent(
|
||||
task: "Analyze the test files and summarize coverage",
|
||||
model: "anthropic/claude-haiku-latest", // optional
|
||||
system_prompt: "You are a test analysis expert.", // optional
|
||||
@@ -58,7 +58,7 @@ const s={frontmatter:{title:"Subagents",description:"Multi-agent orchestration w
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> SystemPrompt: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">"You are a security auditor."</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
|
||||
<h3 id="monitoring-subagents-from-extensions"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#monitoring-subagents-from-extensions"><span class="icon icon-link"></span></a>Monitoring subagents from extensions</h3>
|
||||
<p>When the LLM (not the extension itself) spawns a subagent using the <code>spawn_subagent</code> tool, extensions can monitor its activity in real-time using three lifecycle event handlers:</p>
|
||||
<p>When the LLM (not the extension itself) spawns a subagent using the <code>subagent</code> tool, extensions can monitor its activity in real-time using three lifecycle event handlers:</p>
|
||||
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6A737D;--shiki-dark:#6A737D">// Track active subagents and display their output</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583">var</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> subagentWidgets </span><span style="color:#D73A49;--shiki-dark:#F97583">map</span><span style="color:#24292E;--shiki-dark:#E1E4E8">[</span><span style="color:#D73A49;--shiki-dark:#F97583">string</span><span style="color:#24292E;--shiki-dark:#E1E4E8">]</span><span style="color:#D73A49;--shiki-dark:#F97583">*</span><span style="color:#6F42C1;--shiki-dark:#B392F0">SubagentWidget</span></span>
|
||||
<span class="line"></span>
|
||||
@@ -129,9 +129,9 @@ const s={frontmatter:{title:"Subagents",description:"Multi-agent orchestration w
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> Timeout: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">5</span><span style="color:#D73A49;--shiki-dark:#F97583"> *</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> time.Minute,</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
|
||||
<h3 id="real-time-subagent-events"><a class="heading-anchor" aria-hidden="" tabindex="-1" href="#real-time-subagent-events"><span class="icon icon-link"></span></a>Real-time subagent events</h3>
|
||||
<p>Use <code>SubscribeSubagent</code> to receive real-time events from LLM-initiated subagents (i.e., when the model uses the <code>spawn_subagent</code> tool). Register inside an <code>OnToolCall</code> handler using the tool call ID:</p>
|
||||
<p>Use <code>SubscribeSubagent</code> to receive real-time events from LLM-initiated subagents (i.e., when the model uses the <code>subagent</code> tool). Register inside an <code>OnToolCall</code> handler using the tool call ID:</p>
|
||||
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">host.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">OnToolCall</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#D73A49;--shiki-dark:#F97583">func</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#E36209;--shiki-dark:#FFAB70">e</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> kit</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">ToolCallEvent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> if</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> e.ToolName </span><span style="color:#D73A49;--shiki-dark:#F97583">==</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> "spawn_subagent"</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> if</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> e.ToolName </span><span style="color:#D73A49;--shiki-dark:#F97583">==</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> "subagent"</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> host.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">SubscribeSubagent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(e.ToolCallID, </span><span style="color:#D73A49;--shiki-dark:#F97583">func</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(</span><span style="color:#E36209;--shiki-dark:#FFAB70">event</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> kit</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">Event</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> switch</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> ev </span><span style="color:#D73A49;--shiki-dark:#F97583">:=</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> event.(</span><span style="color:#D73A49;--shiki-dark:#F97583">type</span><span style="color:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
|
||||
<span class="line"><span style="color:#D73A49;--shiki-dark:#F97583"> case</span><span style="color:#6F42C1;--shiki-dark:#B392F0"> kit</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">MessageUpdateEvent</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
|
||||
@@ -145,7 +145,7 @@ const s={frontmatter:{title:"Subagents",description:"Multi-agent orchestration w
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
|
||||
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">})</span></span></code></pre>
|
||||
<p>The listener receives the same event types as <code>Subscribe()</code> (<code>ToolCallEvent</code>, <code>MessageUpdateEvent</code>, <code>ReasoningDeltaEvent</code>, etc.) but scoped to the child agent's activity. Listeners are cleaned up automatically when the subagent completes.</p>
|
||||
<p>If no listeners are registered for a tool call, no event dispatching overhead is incurred.</p>`,headings:[{depth:2,text:"Subprocess pattern",id:"subprocess-pattern"},{depth:2,text:"Built-in spawn_subagent tool",id:"built-in-spawn_subagent-tool"},{depth:2,text:"Extension subagents",id:"extension-subagents"},{depth:3,text:"Monitoring subagents from extensions",id:"monitoring-subagents-from-extensions"},{depth:2,text:"Go SDK subagents",id:"go-sdk-subagents"},{depth:3,text:"Real-time subagent events",id:"real-time-subagent-events"}],raw:`
|
||||
<p>If no listeners are registered for a tool call, no event dispatching overhead is incurred.</p>`,headings:[{depth:2,text:"Subprocess pattern",id:"subprocess-pattern"},{depth:2,text:"Built-in subagent tool",id:"built-in-subagent-tool"},{depth:2,text:"Extension subagents",id:"extension-subagents"},{depth:3,text:"Monitoring subagents from extensions",id:"monitoring-subagents-from-extensions"},{depth:2,text:"Go SDK subagents",id:"go-sdk-subagents"},{depth:3,text:"Real-time subagent events",id:"real-time-subagent-events"}],raw:`
|
||||
# Subagents
|
||||
|
||||
Kit supports multi-agent orchestration through both subprocess spawning and in-process subagents.
|
||||
@@ -175,12 +175,12 @@ Key flags for subprocess usage:
|
||||
|
||||
Positional arguments are the prompt. \`@file\` arguments attach file content as context.
|
||||
|
||||
## Built-in spawn_subagent tool
|
||||
## Built-in subagent tool
|
||||
|
||||
Kit includes a built-in \`spawn_subagent\` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
Kit includes a built-in \`subagent\` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
|
||||
\`\`\`
|
||||
spawn_subagent(
|
||||
subagent(
|
||||
task: "Analyze the test files and summarize coverage",
|
||||
model: "anthropic/claude-haiku-latest", // optional
|
||||
system_prompt: "You are a test analysis expert.", // optional
|
||||
@@ -204,7 +204,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents from extensions
|
||||
|
||||
When the LLM (not the extension itself) spawns a subagent using the \`spawn_subagent\` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
When the LLM (not the extension itself) spawns a subagent using the \`subagent\` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
|
||||
\`\`\`go
|
||||
// Track active subagents and display their output
|
||||
@@ -290,11 +290,11 @@ result, err := host.Subagent(ctx, kit.SubagentConfig{
|
||||
|
||||
### Real-time subagent events
|
||||
|
||||
Use \`SubscribeSubagent\` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the \`spawn_subagent\` tool). Register inside an \`OnToolCall\` handler using the tool call ID:
|
||||
Use \`SubscribeSubagent\` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the \`subagent\` tool). Register inside an \`OnToolCall\` handler using the tool call ID:
|
||||
|
||||
\`\`\`go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
switch ev := event.(type) {
|
||||
case kit.MessageUpdateEvent:
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Complete reference for all Kit CLI subcommands.">
|
||||
<link rel="canonical" href="/cli/commands">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Commands","description":"Complete reference for all Kit CLI subcommands.","url":"https://go-kit.dev/cli/commands","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Complete reference for all Kit CLI flags.">
|
||||
<link rel="canonical" href="/cli/flags">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Global Flags","description":"Complete reference for all Kit CLI flags.","url":"https://go-kit.dev/cli/flags","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Configure Kit using config files, environment variables, and CLI flags.">
|
||||
<link rel="canonical" href="/configuration">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Configuration","description":"Configure Kit using config files, environment variables, and CLI flags.","url":"https://go-kit.dev/configuration","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Build, test, and contribute to Kit.">
|
||||
<link rel="canonical" href="/development">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Development","description":"Build, test, and contribute to Kit.","url":"https://go-kit.dev/development","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="All extension capabilities — lifecycle events, tools, commands, widgets, and more.">
|
||||
<link rel="canonical" href="/extensions/capabilities">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Capabilities","description":"All extension capabilities — lifecycle events, tools, commands, widgets, and more.","url":"https://go-kit.dev/extensions/capabilities","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -249,7 +249,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents spawned by the main agent
|
||||
|
||||
When the LLM uses the built-in `spawn_subagent` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
When the LLM uses the built-in `subagent` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
|
||||
```go
|
||||
// Subagent started
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Catalog of example extensions included with Kit.">
|
||||
<link rel="canonical" href="/extensions/examples">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Examples","description":"Catalog of example extensions included with Kit.","url":"https://go-kit.dev/extensions/examples","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="How Kit discovers and loads extensions.">
|
||||
<link rel="canonical" href="/extensions/loading">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Loading Extensions","description":"How Kit discovers and loads extensions.","url":"https://go-kit.dev/extensions/loading","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Overview of Kit's Go-based extension system.">
|
||||
<link rel="canonical" href="/extensions/overview">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Extension System","description":"Overview of Kit's Go-based extension system.","url":"https://go-kit.dev/extensions/overview","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Write unit tests for your Kit extensions using the test package.">
|
||||
<link rel="canonical" href="/extensions/testing">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Testing Extensions","description":"Write unit tests for your Kit extensions using the test package.","url":"https://go-kit.dev/extensions/testing","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
::-webkit-scrollbar-track { background: transparent; }
|
||||
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
|
||||
</style>
|
||||
<script type="module" crossorigin src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-Ena_EbZm.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Di_r5hA0.css">
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Kit","url":"https://go-kit.dev","description":"Documentation site powered by Tome","potentialAction":{"@type":"SearchAction","target":"https://go-kit.dev/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
|
||||
</head>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Install Kit using npm, bun, pnpm, Go, or build from source.">
|
||||
<link rel="canonical" href="/installation">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Installation","description":"Install Kit using npm, bun, pnpm, Go, or build from source.","url":"https://go-kit.dev/installation","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
+10
-10
@@ -128,12 +128,12 @@ Key flags for subprocess usage:
|
||||
|
||||
Positional arguments are the prompt. `@file` arguments attach file content as context.
|
||||
|
||||
## Built-in spawn_subagent tool
|
||||
## Built-in subagent tool
|
||||
|
||||
Kit includes a built-in `spawn_subagent` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
Kit includes a built-in `subagent` tool that the LLM can use to delegate tasks to independent child agents:
|
||||
|
||||
```
|
||||
spawn_subagent(
|
||||
subagent(
|
||||
task: "Analyze the test files and summarize coverage",
|
||||
model: "anthropic/claude-haiku-latest", // optional
|
||||
system_prompt: "You are a test analysis expert.", // optional
|
||||
@@ -157,7 +157,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents from extensions
|
||||
|
||||
When the LLM (not the extension itself) spawns a subagent using the `spawn_subagent` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
When the LLM (not the extension itself) spawns a subagent using the `subagent` tool, extensions can monitor its activity in real-time using three lifecycle event handlers:
|
||||
|
||||
```go
|
||||
// Track active subagents and display their output
|
||||
@@ -243,11 +243,11 @@ result, err := host.Subagent(ctx, kit.SubagentConfig{
|
||||
|
||||
### Real-time subagent events
|
||||
|
||||
Use `SubscribeSubagent` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the `spawn_subagent` tool). Register inside an `OnToolCall` handler using the tool call ID:
|
||||
Use `SubscribeSubagent` to receive real-time events from LLM-initiated subagents (i.e., when the model uses the `subagent` tool). Register inside an `OnToolCall` handler using the tool call ID:
|
||||
|
||||
```go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
switch ev := event.(type) {
|
||||
case kit.MessageUpdateEvent:
|
||||
@@ -1058,7 +1058,7 @@ result := ctx.SpawnSubagent(ext.SubagentConfig{
|
||||
|
||||
### Monitoring subagents spawned by the main agent
|
||||
|
||||
When the LLM uses the built-in `spawn_subagent` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
When the LLM uses the built-in `subagent` tool, extensions can monitor the subagent's activity in real-time using three lifecycle events:
|
||||
|
||||
```go
|
||||
// Subagent started
|
||||
@@ -2023,7 +2023,7 @@ A powerful, extensible AI coding agent CLI with multi-provider support, built-in
|
||||
## Features
|
||||
|
||||
- **Multi-Provider LLM Support** — Anthropic, OpenAI, Google Gemini, Ollama, Azure OpenAI, AWS Bedrock, OpenRouter, and more
|
||||
- **Built-in Core Tools** — bash, read, write, edit, grep, find, ls, spawn_subagent with no MCP overhead
|
||||
- **Built-in Core Tools** — bash, read, write, edit, grep, find, ls, subagent with no MCP overhead
|
||||
- **MCP Integration** — Connect external MCP servers for expanded capabilities
|
||||
- **Extension System** — Write custom tools, commands, widgets, and UI modifications in Go
|
||||
- **Interactive TUI** — Rich terminal interface powered by Bubble Tea with streaming, syntax highlighting, and custom rendering
|
||||
@@ -2424,11 +2424,11 @@ The first argument is a priority (lower = runs first).
|
||||
|
||||
## Subagent event monitoring
|
||||
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the `spawn_subagent` tool):
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the `subagent` tool):
|
||||
|
||||
```go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
// Receives the same event types as Subscribe(), scoped to the child agent
|
||||
switch ev := event.(type) {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Supported LLM providers and model configuration.">
|
||||
<link rel="canonical" href="/providers">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Providers","description":"Supported LLM providers and model configuration.","url":"https://go-kit.dev/providers","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Get up and running with Kit in minutes.">
|
||||
<link rel="canonical" href="/quick-start">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Quick Start","description":"Get up and running with Kit in minutes.","url":"https://go-kit.dev/quick-start","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Monitor tool calls and streaming output with the Kit Go SDK.">
|
||||
<link rel="canonical" href="/sdk/callbacks">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Callbacks","description":"Monitor tool calls and streaming output with the Kit Go SDK.","url":"https://go-kit.dev/sdk/callbacks","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -84,11 +84,11 @@ The first argument is a priority (lower = runs first).
|
||||
|
||||
## Subagent event monitoring
|
||||
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the `spawn_subagent` tool):
|
||||
Monitor real-time events from LLM-initiated subagents (when the model uses the `subagent` tool):
|
||||
|
||||
```go
|
||||
host.OnToolCall(func(e kit.ToolCallEvent) {
|
||||
if e.ToolName == "spawn_subagent" {
|
||||
if e.ToolName == "subagent" {
|
||||
host.SubscribeSubagent(e.ToolCallID, func(event kit.Event) {
|
||||
// Receives the same event types as Subscribe(), scoped to the child agent
|
||||
switch ev := event.(type) {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Configuration options for the Kit Go SDK.">
|
||||
<link rel="canonical" href="/sdk/options">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"SDK Options","description":"Configuration options for the Kit Go SDK.","url":"https://go-kit.dev/sdk/options","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Embed Kit in your Go applications.">
|
||||
<link rel="canonical" href="/sdk/overview">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Go SDK","description":"Embed Kit in your Go applications.","url":"https://go-kit.dev/sdk/overview","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Session management in the Kit Go SDK.">
|
||||
<link rel="canonical" href="/sdk/sessions">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"SDK Sessions","description":"Session management in the Kit Go SDK.","url":"https://go-kit.dev/sdk/sessions","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@
|
||||
"description": "Multi-agent orchestration with Kit subagents.",
|
||||
"headings": [
|
||||
"Subprocess pattern",
|
||||
"Built-in spawn_subagent tool",
|
||||
"Built-in subagent tool",
|
||||
"Extension subagents",
|
||||
"Monitoring subagents from extensions",
|
||||
"Go SDK subagents",
|
||||
|
||||
+2
-2
@@ -1566,7 +1566,7 @@ a:hover { text-decoration: underline; }
|
||||
'grep': '🔍',
|
||||
'find': '📁',
|
||||
'ls': '📂',
|
||||
'spawn_subagent': '🤖',
|
||||
'subagent': '🤖',
|
||||
'fetch': '🌐',
|
||||
'todo': '✅'
|
||||
};
|
||||
@@ -1612,7 +1612,7 @@ a:hover { text-decoration: underline; }
|
||||
headerLabel = formatLsHeader(input);
|
||||
bodyHtml = renderGenericBody(input, result);
|
||||
break;
|
||||
case 'spawn_subagent':
|
||||
case 'subagent':
|
||||
headerLabel = formatSubagentHeader(input);
|
||||
bodyHtml = renderSubagentBody(input, result);
|
||||
break;
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="How Kit persists and manages conversation sessions.">
|
||||
<link rel="canonical" href="/sessions">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Session Management","description":"How Kit persists and manages conversation sessions.","url":"https://go-kit.dev/sessions","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<meta name="description" content="Customize Kit's appearance with built-in themes, custom theme files, and the extension theme API.">
|
||||
<link rel="canonical" href="/themes">
|
||||
<link rel="stylesheet" href="/assets/index-Di_r5hA0.css">
|
||||
<script type="module" src="/assets/index-CYZSlfnb.js"></script>
|
||||
<script type="module" src="/assets/index-Ena_EbZm.js"></script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Themes","description":"Customize Kit's appearance with built-in themes, custom theme files, and the extension theme API.","url":"https://go-kit.dev/themes","isPartOf":{"@type":"WebSite","name":"Kit","url":"https://go-kit.dev"}}</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user