Agent plugin · listing tai42/agentsInstall
Permissions
Provides
langchain_deep_agent
Agent — Run a deep agent with planning, subagents, skills, and a filesystem backend.
claude_code
Agent — Run Claude Code inside a sandbox: it drives the real claude binary over a versioned exec protocol, with tools, skills, and subagents.
refine_agent
Agent — Run an Evaluator-Critic refinement loop until the Critic approves or the budget runs out.
voting_agent
Agent — Run a voting workflow — voter LLMs answer in parallel, then a judge LLM decides.
retrieval_tools_agent
Agent · group tools-agents — A tools agent that retrieves its tools on demand from a vector store.
tools_agent
Agent · group tools-agents — Run a LangGraph tools agent over tools loaded by name (and optional presets).
vqa_agent
Agent — Analyze an image and answer a query about it using a multimodal LLM.
Ready-made agent workflows, each loaded by name into a manifest’s
agents_modules. The model behind them, how to run one, and how to compose them
live in the central docs linked below; this page is the per-agent index and the
shared limits.
Configuration
Limits shared by every agent in this package:Async-park index
A park-capable run whose tool async-parks (ask_user(mode="async")) writes a durable
index that reverses a parked interaction id back to its parked run, so a later worker
can resume it. This needs the [park] extra (pip install tai42-agents[park]) and a
Redis URL:
The park index is the agents plugin’s own Redis, independent of the checkpoint provider
and the interactions store.
Tool-error resilience
A tool failure surfaces to the model as an error tool result and the agent loop continues, rather than aborting the run: aToolException — which is how an
in-process tool’s own body exception is reported — or a pydantic ValidationError
from a malformed tool call becomes an error result the model can react to. Failures
outside the tool call (agent machinery, provider or infrastructure errors) still
abort loudly. This holds across every tool-running agent in this package, including a
deep agent’s explicit and nested subagents. A thread whose previous turn was aborted
mid-tool-call is repaired at the next turn start — its unanswered tool calls get
synthetic error results so the provider accepts the thread — while a thread paused on
a real interrupt is left untouched.
langchain_deep_agent
Runs a deep agent with planning, subagents, skills, and a filesystem backend.claude_code
Runs Claude Code as a platform agent: it drives the realclaude binary through the
Claude Agent SDK inside a sandbox session over a versioned exec protocol. The plugin
server never imports the SDK — the SDK lives in the session image, and only the runner
payload (shipped as data and executed in-session) imports it.
Sandbox requirement
claude_code requires a registered sandbox provider. Install one, e.g.
tai plugins install tai42-sandbox-docker. A run on a box with no provider raises a loud
SandboxUnavailableError on every door. The session image is operator-configured and MUST
be a digest reference (a bare tag is rejected at run start).
Configuration (TAI_AGENTS_CLAUDE_*)
Session creds (
TAI_AGENTS_CLAUDE_CREDS) are a list of static values or per-caller
connection references injected into a CLEAN session env (static) or a per-turn bearer
credential-helper file (refreshable) — never the host env. A connection-reference cred
resolves per-caller and fails closed on a door with no bound execution identity.
Adapter-proxied platform tools. Granted tool_names run under the run’s own execution
identity through the same run_tool seam every agent uses — the session reaches no
platform network surface and holds no key or MCP endpoint. A non-empty tool_names on a
door with no bound execution identity is refused loudly (fail-closed).
Stated residual (security is configuration). The one injected model credential lives in
the session env, so the session’s own Bash can read it and it can reach the persisted
transcript. The credential scrub removes credential FILES on a terminal exit; when the
platform sandbox_scrub_transcript flag is on, injected credential VALUES are also redacted
from the kept transcript.
Async ask_user parks are supported on threaded (conversation) runs and use the same
[park] extra + TAI_AGENTS_REDIS_URL as the other parking agents (see
Async-park index); an async ask on a thread-less tool-face run is
refused loudly (its ephemeral workspace could never be resumed).
refine_agent
Runs an Evaluator-Critic refinement loop until the Critic approves or the budget runs out.voting_agent
Runs a voting workflow — voter LLMs answer in parallel, then a judge LLM decides. Bounded byTAI_AGENTS_MAX_VOTERS and TAI_AGENTS_VOTER_CONCURRENCY.
retrieval_tools_agent
A tools agent that retrieves its tools on demand from a vector store.tools_agent
Runs a LangGraph tools agent over tools loaded by name (and optional presets). A tool that async-parks (ask_user(mode="async")) suspends the run instead of blocking; it
resumes on a later worker when the ask is answered or expires. This needs the [park]
extra and TAI_AGENTS_REDIS_URL (see Async-park index).
vqa_agent
Analyzes an image and answers a query about it using a multimodal LLM.See also
- Agents and Deep agents — the model.
- Use the ready-made agents — running each of these.
- Author an agent — building your own.

