AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
Open-source TypeScript framework for production AI agents. 40+ LLM providers, 100+ tools, multi-agent teams, RAG, guardrails, circuit breakers, budget enforcement, OTLP tracing. CrewAI / LangChain alt
翻譯準備中
開發工具TypeScript · JavaScriptGitHub @confused-ai上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證TypeScript AI agent framework — 40+ LLM providers, 100+ tools, multi-agent orchestration, RAG, guardrails, circuit breakers, HITL, budget enforcement. Open-source CrewAI / LangChain alternative. — For Building Production-Grade Multi Agents in Minutes at Scale
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Ship production AI agents in TypeScript.
One package. Start with a one-line agent, then add tools, sessions, retrieval,
orchestration, serving, and production controls — without ever switching frameworks.
Every agent framework can spin up an agent. personaforge is the only TypeScript framework that ships durability, multi-agent orchestration, guardrails, eval, and a control-plane dashboard in a single npm install.
bash
npm install personaforge
or
bun add personaforge檢視完整 README ↗Every agent framework can spin up an agent. personaforge is the only TypeScript framework that ships durability, multi-agent orchestration, guardrails, eval, and a control-plane dashboard in a single npm install.
| Against | personaforge wins on |
|---|---|
| LangChain | Single package (not 200+). Built-in checkpoint/replay. MCP + A2A protocols. SSRF-protected tools. τ-bench cross-framework benchmarks. |
| Vercel AI SDK | Full agent runtime (not just streaming primitives). Sessions, memory, knowledge, teams, durability, guardrails, eval, control plane. |
| CrewAI | TypeScript-native. 6 team modes vs 2. Event-sourced durability. Built-in eval. 120+ tools. Graph DAG engine. |
| LangGraph | Same graph semantics in TypeScript — plus budget enforcement, guardrails, OTLP tracing, eval, and control plane in one install. |
| Mastra | Durable DAG engine, circuit breakers, USD budget caps, multi-tenancy, 100+ tools, and enterprise audit logging. |
| AutoGen / Agno | TypeScript-native. Durable interrupts + resume. Built-in guardrails + budget enforcement. OTLP tracing. Control plane dashboard. |
import { agent } from 'personaforge/lite';
import { tool } from 'personaforge/tool';
import { z } from 'zod';
const getQuote = tool({
name: 'get_quote',
description: 'Return a stock quote for a ticker symbol.',
parameters: z.object({ symbol: z.string() }),
execute: async ({ symbol }) => ({ symbol, price: 927.5, changePct: 1.4 }),
});
const financeAgent = agent({
name: 'finance-agent',
model: 'gpt-4o-mini',
instructions: 'Use the tool to answer market questions in one concise sentence.',
tools: [getQuote],
});
const result = await financeAgent.run("What's NVDA trading at today?");
console.log(result.text); // "NVDA is trading at $927.50, up 1.4% today."
npm install personaforge
# or
bun add personaforge
Zero-config. Treeshakeable. No peer dependencies required for basic use.
@ai-sdk/provider model and morecompose, pipe, parallel, fallback, retry, timeout, map, filterAgentRunResult. Zero instrumentation.maxConcurrency.createKnowledgeBase with text splitters, BM25 indexing, hybrid RRF fusion, rerankers (Cohere, Jina, LLM), multi-query, contextual compression, parent-document, self-query, time-weighted retrievers| Mode | What it does |
|---|---|
| Supervisor | Manager delegates to specialists, reviews output |
| Swarm | Dynamic sub-agent scaling (up to 100 agents) |
| Consensus | Majority-vote, unanimous, or weighted voting across agents |
| Handoff | Agent-to-agent transfer with context |
| Router | Instruction/tool-based agent routing |
| Pipeline | Sequential agent composition |
| GSD | Goal-Strategy-Decomposition pattern |
| Team | Role-based team creation with permission isolation |
addConditionalEdges('classify', { map: { positive: 'handle', negative: 'escalate' }, default: 'review' })verifyChain()interrupt() / resume() / fork() — durable checkpoints with DurableExecutor| Capability | What it does |
|---|---|
| Guardrails | PII detection/redaction, prompt injection detection (pattern + heuristic + LLM), content moderation (OpenAI Moderation API), allowlists for tools/hosts/output |
| HITL | Human-in-the-loop approval hooks with interrupt() / resume() |
| Budget enforcement | Per-user, per-session, and global token/cost caps |
| Rate limiting | Sliding-window (in-memory + Redis) |
| Circuit breaker | Provider failure detection and recovery |
| Idempotency | Deduplication of tool calls and agent runs |
| Graceful shutdown | Drain active executions before shutdown |
| Health checks | Readiness, liveness, and dependency probes |
| Secret management | Pluggable backends with live secret watching |
benchmarks/tau-bench/PROTOCOL.mdreplayDataset, diffResults for eval regressionspanToSample converts production traces to eval datasetscreateHttpService with OpenAPI generation, admin API, WebSocket transporttext/event-stream for real-time agent responsesnpx personaforge for quick agent runsOne declarative config turns on authentication, multi-tenant isolation, RBAC, budget enforcement, rate limiting, and durable audit — plus a board-ready compliance dashboard (SOC 2, HIPAA, GDPR, ISO 27001).
import { createAgent } from 'personaforge';
import { createEnterpriseGateway } from 'personaforge/gateway';
import { apiKeyAuth } from 'personaforge/runtime';
import { createSqliteAuditStore, createSqliteRunStore } from 'personaforge/production';
const support = createAgent({ name: 'support', instructions: 'You are a support agent.' });
const billing = createAgent({ name: 'billing', instructions: 'You handle billing questions.' });
const gateway = createEnterpriseGateway({
agents: { support, billing },
auth: apiKeyAuth([process.env.GATEWAY_API_KEY!]),
runStore: createSqliteRunStore('./runs.db'), // ← every run persisted (cost, status, tenant)
maxConcurrency: 25, // ← at most 25 concurrent agent executions
tenants: [
{
id: 'acme',
monthlyBudgetUsd: 500,
maxRpm: 60,
allowedAgents: ['support', 'billing'],
},
],
policy: { monthlyBudgetUsd: 5000, requestTimeoutMs: 60_000 },
auditStore: createSqliteAuditStore('./audit.db'),
});
await gateway.start(8787);
// → http://localhost:8787/compliance (compliance dashboard)
| Capability | What it does |
|---|---|
| Multi-tenant | Per-tenant budgets, rate limits, agent allowlists, RBAC |
| Policy engine | Global + per-tenant USD caps, RPM limits, timeouts |
| Audit trail | Hashed prompts, IPs, costs, tools called — SOC 2 ready |
| Compliance dashboard | /compliance — live SOC 2 / HIPAA / GDPR / ISO 27001 controls |
Built-in AgentOS dashboard served by createControlPlane():
| Tab | What it shows |
|---|---|
| Overview | Session count, eval runs, traces, pending approvals |
| Sessions | Browse with search, view full conversation history |
| Memory | Inspect vector and graph memory stores |
| Evals | Pass/fail rates, score distribution, run history |
| Traces | Waterfall timeline visualization |
| Approvals | HITL queue with approve/reject buttons |
| Knowledge | Document browser with search |
| Chat | Interactive playground with agent selector |
| Graph | DAG workflow visualizer with SVG rendering |
pipe(), batch(), stream(), withRetry(), withFallbacks(), assign()values | updates | messages | debug | custom modesthink / analyze scratchpad toolsonReasoning, result.reasoning, reasoning-delta stream events for Anthropic, Bedrock, Gemini, Ollama, and OpenAI-compatible thinking modelscreateDeepAgent plan-research-synthesize recipe| Primitive | When to use |
|---|---|
| Agent | One model-backed worker can handle the task |
| Team | Specialists should coordinate, delegate, or vote |
| Workflow | Execution path should be staged, deterministic, or branching |
Each layer is optional. Most projects only need a subset.
| From | Guide |
|---|---|
| LangChain | docs/guide/migration-langchain.md |
| Vercel AI SDK | docs/guide/migration-vercel.md |
| CrewAI | docs/guide/migration-crewai.md |
| LangGraph | docs/guide/migration-langgraph.md |
| Mastra | docs/guide/migration-mastra.md |
| Agno | docs/guide/migration-agno.md |
| All frameworks | docs/guide/comparisons.md |
| Trust & reliability | docs/guide/trust.md |
| Metric | Count |
|---|---|
| Source files | 570+ |
| Lines of TypeScript | 112,000+ |
| Test files | 92 |
| Lines of test code | 15,800+ |
| Built-in tools | 120+ (across 20 categories) |
| LLM provider integrations | 30+ native + 300+ via AI SDK adapter |
| Production primitives | 20+ (run store, error taxonomy, concurrency, circuit breaker, rate limiter, ...) |
| Graph DAG engine | 5,200+ lines |
| Entry points (treeshakeable) | 75+ |
Using personaforge in production? Add yourself to ADOPTERS.md.
MIT