INTEGRITY Dokumentace

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.