← Vytvářejte agenty na Cloudflare / agents / harnesses / think
Konfigurace
Think se konfiguruje přepsáním metod a vlastností u vašeho Think podtřída. Většina agentů přepisuje pouze getModel().
Přepsání konfigurace
| Metoda / Vlastnost | Výchozí | Popis |
|---|---|---|
getModel() |
vyvolává výjimku | Vrátit LanguageModel k použití |
getSystemPrompt() |
"You are a helpful assistant." |
Systémový prompt (záložní varianta, pokud nejsou žádné kontextové bloky) |
getTools() |
{} |
AI SDK ToolSet pro agentní smyčku |
getScheduledTasks() |
{} |
Kódem deklarované opakující se prompty nebo handlery: viz Naplánované úlohy |
getDefaultTimezone() |
undefined |
Výchozí časové pásmo pro úlohy plánované podle reálného času |
getMessengers() |
{} |
Deklarace vstupu a doručování Messengeru: viz Messengery |
maxSteps |
10 |
Maximální počet kol volání nástrojů na turn |
sendReasoning |
true |
Odesílat části uvažování klientům chatu |
configureSession() |
identita | Přidejte kontextové bloky, komprimaci, vyhledávání, skills: viz Relace |
getSkills() |
[] |
Vraťte zdroje Agent Skills pro aktivaci dovedností na vyžádání: viz Agent Skills |
getSkillScriptRunner() |
null |
Povolte volitelnou run_skill_script nástroj |
workspaceBash |
true |
Zahrňte nebo nakonfigurujte výchozí pracovní prostor bash nástroj: viz Nástroje |
messageConcurrency |
"queue" |
Jak se chovají překrývající se odeslání: viz Klientské nástroje |
includeMcpTools |
true |
Převeďte připojené nástroje MCP na nástroje AI SDK a přidejte je do kol modelu. Viz Nástroje MCP |
waitForMcpConnections |
false |
Počkejte na servery MCP před inferencí |
chatRecovery |
Vždy aktivní | Konfigurace trvalého obnovení. Viz Trvalé obnovení pro všechny možnosti a výchozí hodnoty |
chatStreamStallTimeoutMs |
0 (vypnuto) |
Volitelný watchdog neaktivity: přeruší turn, jehož model stream po tuto dobu nevytvoří žádný chunk (měří mezeru mezi chunky, včetně spouštění nástrojů). Zaseknutí se přesměruje do ohraničeného recovery |
contextOverflow |
undefined |
Volitelné zpracování přetečení kontextu uprostřed turnu pomocí reactive, maxRetries, a proactive možnosti. Vyžaduje classifyChatError a funkci komprimace relace, viz Obnovení po přetečení kontextového okna |
Pro chatRecovery a chatStreamStallTimeoutMs chování naleznete v Trvalé obnovení.
Dynamická konfigurace
Generika třídy Think odpovídají Agent<Env, State, Props>. Trvale uložená konfigurace runtime je typována na úrovni configure<T>() a getConfig<T>() míst volání, ukládá se do SQLite a přežije hibernaci i restarty.
export class MyAgent extends Think {
getModel() {
const tier = this.getConfig()?.modelTier ?? "fast";
const models = {
fast: "@cf/moonshotai/kimi-k2.6",
capable: "@cf/meta/llama-4-scout-17b-16e-instruct",
};
return createWorkersAI({ binding: this.env.AI })(models[tier]);
}
}type MyConfig = { modelTier: "fast" | "capable"; theme: string };
export class MyAgent extends Think<Env> {
getModel() {
const tier = this.getConfig<MyConfig>()?.modelTier ?? "fast";
const models = {
fast: "@cf/moonshotai/kimi-k2.6",
capable: "@cf/meta/llama-4-scout-17b-16e-instruct",
};
return createWorkersAI({ binding: this.env.AI })(models[tier]);
}
}| Metoda | Popis |
|---|---|
configure<T>(config: T) |
Uložit typovaný konfigurační objekt |
getConfig<T>(): T | null |
Přečíst uloženou konfiguraci, případně null, pokud nebyla nikdy nastavena |
Zpřístupní konfiguraci klientovi prostřednictvím @callable:
import { callable } from "agents";
export class MyAgent extends Think {
getModel() {
/* ... */
}
@callable()
updateConfig(config) {
this.configure(config);
}
}import { callable } from "agents";
export class MyAgent extends Think<Env> {
getModel() {
/* ... */
}
@callable()
updateConfig(config: MyConfig) {
this.configure<MyConfig>(config);
}
}Integrace Session
Think ukládá konverzace do Relace : vrstva úložiště, která uchovává vaše zprávy a dává modelu zapisovatelnou paměť. Zde se objevují dva pojmy: kontextové bloky jsou označené sekce systémového promptu, které model může číst a aktualizovat (například memory blok faktů o uživateli) a komprimace sumarizuje starší zprávy, aby se dlouhé konverzace vešly do kontextového okna modelu. Přepište configureSession pro přidání trvalé paměti, komprese, vyhledávání a skills:
import { Think, Session } from "@cloudflare/think";
export class MyAgent extends Think {
getModel() {
/* ... */
}
configureSession(session) {
return session
.withContext("soul", {
provider: { get: async () => "You are a helpful coding assistant." },
})
.withContext("memory", {
description: "Important facts learned during conversation.",
maxTokens: 2000,
})
.withCachedPrompt();
}
}import { Think, Session } from "@cloudflare/think";
export class MyAgent extends Think<Env> {
getModel() {
/* ... */
}
configureSession(session: Session) {
return session
.withContext("soul", {
provider: { get: async () => "You are a helpful coding assistant." },
})
.withContext("memory", {
description: "Important facts learned during conversation.",
maxTokens: 2000,
})
.withCachedPrompt();
}
}Když configureSession přidá bloky kontextu, Think z těchto bloků sestaví systémový prompt namísto použití getSystemPrompt(). Think má this.messages getter čte přímo ze stromové struktury úložiště objektu Session.
Úplné API Session, tedy kontextové bloky, kompakci, vyhledávání, skills a podporu více relací, najdete v Dokumentace Sessions.
Exporty balíčku
| Export | Popis |
|---|---|
@cloudflare/think |
Think, Session, Workspace, skills namespace |
@cloudflare/think/messengers |
Kontrakty Messengeru, most Chat SDK, stavový agent, doručování |
@cloudflare/think/messengers/telegram |
Poskytovatel messengeru Telegram a pomocné nástroje pro doručování |
@cloudflare/think/workflows |
ThinkWorkflow, step.prompt() : Prompty workflow |
@cloudflare/think/tools/workspace |
createWorkspaceTools() : pro vlastní úložné backendy |
@cloudflare/think/tools/execute |
createExecuteTool() : spouštění kódu v sandboxu prostřednictvím Code Mode |
@cloudflare/think/tools/browser |
createBrowserTools() : Nástroje Chrome DevTools Protocol |
@cloudflare/think/tools/extensions |
createExtensionTools() : Načítání rozšíření řízené modelem LLM |
@cloudflare/think/extensions |
ExtensionManager, HostBridgeLoopback : runtime rozšíření |
Závislosti
Peer dependencies, které poskytujete:
| Balíček | Povinné | Poznámky |
|---|---|---|
agents |
ano | Cloudflare Agents SDK |
ai |
ano | AI SDK v6 |
zod |
ano | Validace schématu (v4) |
@chat-adapter/telegram |
volitelné | Povinné pro messengery Telegram |
Sbaleno s @cloudflare/think:
| Balíček | Poznámky |
|---|---|
@cloudflare/shell |
Workspace souborový systém |
@cloudflare/codemode |
Spouštění kódu pro createExecuteTool() |
just-bash |
Sandboxovaný shell pro výchozí pracovní prostor bash nástroj |
Modul Agent Skills a jeho spouštěč skriptů se nachází v agents/skills, takže skripty dovedností čerpají @cloudflare/worker-bundler a just-bash přes agents, nikoli Think.