Dev & Engineering typescript-sdkcognitive-memorymulti-agent-orchestrationruntime-tool-forgingragguardrailsvoice-telephonyvector-search

AgentOS

A TypeScript agent framework for persistent sessions, multi-agent orchestration, and runtime-generated tools.

FollowAgents review · FARS-2.0
Not yet reviewed
See the full review method →

What does this agent do, and when should you use it?

AgentOS is a TypeScript framework delivered as an npm package, with agent(), agency(), workflow(), AgentGraph, and mission() as its primary authoring surfaces. Its session() API preserves conversation transcripts and can combine episodic, semantic, and working memory; a SOUL.md workspace can also use a Markdown wiki as the source of truth for long-term memory. When a capability gap is detected, an agent can generate a TypeScript function with a Zod schema, submit it to an LLM judge, and run the approved result in a restricted node:vm sandbox for the current session. The framework documents 11 LLM providers alongside RAG, guardrails, voice and telephony, and six coordination strategies for agent teams. It is a developer library intended to be embedded in a Node.js application, not a separately hosted chat product described by the repository.

A developer creates an agent with agent({...}), opens a named conversation through agent.session('id'), and submits work with session.send('...'). Sessions retain assistant tool calls, tool results, and thinking blocks; by default, history is evicted in whole blocks beyond an approximately 120K-token estimate, while session.reseed(snapshot) replaces history atomically and session.messages() provides checkpoint material. agent() invokes a configured LLM provider with memory and tools, while agency() coordinates roles using sequential, parallel, debate, review-loop, hierarchical, or graph strategies. With emergent tooling enabled, the runtime produces a TypeScript function and Zod schema, sends it to a separate LLM judge, and executes approved code in node:vm with a five-second wall-clock limit and no eval, require, or process.

  1. A learning-product engineer building a tutor that follows one learner over multiple turns with session('student-1') plus episodic, semantic, and working memory.
  2. An engineering team assembling a research-to-draft-to-review pipeline with agency(), graph coordination, and dependsOn relationships between researcher, writer, and reviewer roles.
  3. A developer prototyping an automation flow whose static toolset has gaps, using judged TypeScript tools with Zod input schemas that can be reused during the session.
  4. A builder of personal or workspace agents who wants inspectable long-term memory in a SOUL.md directory and memory/ Markdown wiki, wired through souledAgent().
  5. A TypeScript application team that needs one runtime surface for provider selection, RAG, guardrails, or voice and telephony integrations.

What are this agent's strengths and limitations?

Pros
  • agent(), agency(), workflow(), AgentGraph, and mission() cover single agents, teams, and graph-style orchestration on one runtime.
  • Runtime tool forging has a defined control path—TypeScript function, Zod schema, LLM-judge approval, and restricted node:vm execution—rather than directly running arbitrary generated code.
  • The transcript is independent of the memory subsystem and exposes reseed(), messages(), and configurable history bounds for checkpointed tool-driving loops.
  • Eleven LLM providers are documented, and cross-provider fallback is explicit through fallbackProviders rather than silently changing providers.
Limitations
  • Adoption requires API credentials or a local CLI provider; model availability, pricing, and behavior remain dependent on the selected integration.
  • Runtime tool forging adds an LLM-judge dependency and is constrained by node:vm, a five-second wall-clock limit, and disabled eval, require, and process access.
  • Default session history is evicted in blocks beyond roughly 120K estimated tokens, so applications requiring full long-lived context need to manage limits or reseed state.
  • The reported LongMemEval figures use a specified gpt-4o reader/judge and benchmark setup, so they do not establish performance for every model or production workload.

How do you install or deploy this agent?

Install with: npm install @framers/agentos. Configure credentials for the selected provider by passing apiKey inline, calling setDefaultProvider() at boot, or using environment-variable detection; the documentation explicitly names OPENAI_API_KEY and ANTHROPIC_API_KEY. The runtime tool sandbox uses node:vm, so it requires Node.js; no minimum Node.js version is documented in the supplied material.

How do you use this agent?

Minimal invocation: import { agent } from '@framers/agentos'; const tutor = agent({ provider: 'anthropic', instructions: 'You are a patient CS tutor.', personality: { openness: 0.9, conscientiousness: 0.95 }, memory: { types: ['episodic', 'semantic'], working: { enabled: true } } }); const session = tutor.session('student-1'); await session.send('Explain recursion with an analogy.'); await session.send('Can you expand on that?'); If provider is omitted, the runtime auto-detects a provider from environment variables. For a stateless session, set both memory: false and history: false; disabling memory alone does not disable the default session transcript.

How does this agent compare with similar options?

The repository positions AgentOS against LangChain/LangGraph, Vercel AI SDK, CrewAI, and Mastra, highlighting cognitive memory, HEXACO personality, runtime tool forging, six team strategies, vector backends, guardrails, and its published LongMemEval methodology. Practical fit still depends on the target model, workload, and required integrations.

FAQ

Can it work with OpenAI and Anthropic?
Yes. The README lists both as supported API-key providers, selectable through provider configuration, inline apiKey, setDefaultProvider(), or environment variables.
Will it silently switch providers if one fails?
No. Cross-provider fallback is enabled only when configured explicitly with agent({ fallbackProviders: [...] }).
Do runtime-generated tools get unrestricted Node.js access?
The README describes a hardened node:vm sandbox with a five-second wall-clock limit and no eval, require, or process. A separate LLM judge must approve a generated tool first.
What does it cost?
The repository reports $0.0090 per correct answer for one LongMemEval-S gpt-4o configuration. Actual cost depends on provider, model, call volume, and features such as tool forging.

Related agents