framerslab/agentos · 上手攻略
- 仓库:framerslab/agentos
- 链接:https://github.com/framerslab/agentos · 文档 https://docs.agentos.sh/ · npm https://www.npmjs.com/package/@framers/agentos
- 分类:AI Agent 框架 / TypeScript
- 作者:spark
- 更新:2026-10-01
是什么
AgentOS 是一个开源 TypeScript AI Agent 框架,主打三件事:①带神经科学背景的"认知记忆"(8 种机制:艾宾浩斯衰减、提取诱发遗忘、再固化、来源置信度衰减等);②运行时工具锻造(runtime tool forging)——Agent 现场写 TypeScript + Zod schema 的函数,由独立 LLM judge 审核后在加固的 node:vm 沙箱里跑;③可选的 HEXACO 人格向量(6 维人格特质)调节检索、路由与决策。除主包外还有 5 个配套包:100+ 一方扩展(@framers/agentos-extensions)、88 个 SKILL.md 技能(@framers/agentos-skills)、基准测试 harness(agentos-bench,MIT)以及 SQL 存储适配器。
⚠️ 主仓 README 把"LongMemEval-S 85.6% / LongMemEval-M 70.2%"作为差异点高调宣传,需注意:①这是项目自报基准,未与其他家在同一硬件/预算下复测;②gpt-4o reader + gpt-4o-2024-08-06 judge 是特定版本的组合,自报值不等同于最新 openai 模型可复现。
解决什么问题
Agent 落到生产里通常死在三个点上:长对话丢上下文(LongMemEval 类基准就是量化这一痛点);工具集写死、缺工具时要人工加("运行时锻造"是直接回应);多 Agent 协作要么太简单要么太重(6 种 orchestration 策略 + 共享记忆是直接回应)。AgentOS 想用一套统一 runtime 同时覆盖这三个痛点,而不是让用户拼 LangChain + LangGraph + LlamaIndex + Mastra。
快速安装
⚠️ README 未直接给出 @framers/agentos 的 latest 版本号,建议在安装前用 npm view @framers/agentos version 现场核实,避免被锁在旧版。
Node.js 20+:
mkdir agentos-quickstart && cd agentos-quickstart
npm init -y
npm install @framers/agentos
# 至少配一个 provider 的 key
export ANTHROPIC_API_KEY=sk-ant-xxx
# 或
export OPENAI_API_KEY=sk-xxx
主包是 Apache-2.0,@framers/agentos-bench 是 MIT。
核心用法
1) 单 Agent + 记忆
import { agent } from '@framers/agentos';
const tutor = agent({
provider: 'anthropic', // 默认解析到当前 provider 默认模型,可用 model: 'claude-opus-4-8' 覆盖
instructions: '你是一位耐心的计算机科学导师。',
personality: { openness: 0.9, conscientiousness: 0.95 },
memory: { types: ['episodic', 'semantic'], working: { enabled: true } },
});
const session = tutor.session('student-1');
await session.send('用类比讲一下递归。');
await session.send('能再展开讲一下吗?'); // 自动带入上文
⚠️ README 中 claude-sonnet-4-6 / claude-opus-4-8 等模型 ID 来自写作时点 Anthropic 控制台;Anthropic 模型迭代频繁,使用前请到控制台核对当前 production 模型 ID,如已下线请改用最新可用 ID。
2) Session 状态管理
Session 不开 memory 也存在,作为对话历史容器:
const stateless = agent({ model, memory: false, history: false }).session('job-1');
const bounded = agent({ model, history: { maxTokens: 60_000 } }).session('job-2');
bounded.reseed([{ role: 'user', content: '压缩后的摘要' }]); // 替换历史
默认历史上限约 120K tokens,可在 history.maxTokens 调小。
3) Multi-Agent Team
import { agency } from '@framers/agentos';
const team = agency({
strategy: 'graph', // sequential | parallel | debate | review-loop | hierarchical | graph
agents: {
researcher: { provider: 'anthropic', instructions: '搜集事实。' },
writer: { provider: 'openai', instructions: '清晰总结。', dependsOn: ['researcher'] },
reviewer: { provider: 'gemini', instructions: '校对准确性。', dependsOn: ['writer'] },
},
});
const result = await team.generate('对比 TCP 与 UDP 在游戏网络中的取舍。');
hierarchical + emergent: { enabled: true } 时,管理者会运行时"锻造"子 Agent。
4) Soul 文件 + 长期记忆
把身份 / 声音 / HEXACO 分数放进 SOUL.md,把 memory/ 当 markdown wiki 维护:
import { souledAgent } from '@framers/agentos';
const aria = await souledAgent({
provider: 'anthropic',
soul: '~/.agentos/agents/aria',
});
memory/ 下的 index.md + entities/ + concepts/ + log/ 是 source of truth,向量/图索引会自动重建。
5) Provider fallback
显式 opt-in:
const a = agent({
provider: 'anthropic',
fallbackProviders: ['openai', 'groq'],
});
默认行为是"never silently re-route",避免 quota 打满时悄悄换模型导致成本不可控。
典型适用场景
- 长程陪伴 / 教学 Agent:LongMemEval-S 85.6% 的数字对应"100+ 轮后还记得小细节",适合家教、心理陪伴、知识工作助理。
- 运行时工具不足的开放任务:传统框架要开发者提前塞好全套 tool;AgentOS 的锻造路径适合"任务一来才发现缺什么工具"的探索型 Agent。
- 多模型流水线:要把 Anthropic 强推理 + OpenAI 强写作 + Gemini 强审校串成 graph 工作流时,AgentOS 的
agency()比裸调三家 SDK 干净。 - Markdown-first 长期记忆:不愿意把记忆锁死在向量数据库的团队,可以把
memory/当 wiki 维护,人工可审计。
坑与注意
- ⚠️ 基准自报 vs 第三方复测:LongMemEval 的 85.6% / 70.2% 数字是项目方在自家 harness(
agentos-bench,MIT)跑出的,对比对象(如 Mastra OM 84.23%)也是同一团队跑的;引入前最好自己用agentos-bench在目标预算下复测一次。 - ⚠️
node:vm沙箱不等于真安全:锻造工具虽然禁了eval / require / process且有 5s wall clock 上限,但攻击面随 prompt 注入演化;对外暴露工具前必须叠加外层 guardrail pack(PII / 内容策略等)。 - ⚠️ HEXACO 不是 prompt 拼接:它是 kernel 级 trait,调的是检索权重与决策路径,不是 system prompt;引入后会让同一个 prompt 在不同 personality 下产生可观察到的差异行为——务必在 staging 跑回归。
- ⚠️ 6 种策略 ≠ 6 种配置:
graph/hierarchical的 emergent 模式会让运行时动态生成子 Agent,token 成本与延迟会比sequential高一档,预算敏感场景先用sequential / parallel。 - ⚠️ CLI 工具是 preview:
wunderland(CLI + daemon over AgentOS registries)当前标注 preview,生产环境先不要依赖。 - ⚠️ npm 供应链高危期:2026 上半年已发生 Mini Shai-Hulud 蠕虫等供应链事件,安装时建议固定版本 +
npm install --ignore-scripts+ 跑 socket.dev / aikido 扫描。
与同类对比
| 维度 | AgentOS | LangChain/LangGraph | Vercel AI SDK | CrewAI / Mastra |
|---|---|---|---|---|
| 长记忆 | 8 机制 + 自报 85.6% S / 70.2% M | 第三方 store 拼装 | 无内置 | 第三方 |
| 运行时造工具 | 是(LLM judge + node:vm) | 否 | 否 | 否 |
| 多 Agent 编排 | 6 策略 + emergent | Graph / LCEL | 无 | Crew / Mastra OM |
| HEAXCO 人格 | 是(kernel 级) | 否 | 否 | 否 |
| Provider 覆盖 | 11(含本地 CLI) | 极广 | 极广 | 中 |
| 学习曲线 | 中-高(API 较多) | 中 | 低 | 中 |
⚠️ 表格为 README 与各项目公开资料整理,未做端到端基准对比。
一句话推荐结论
如果你要构建一个"长时间陪伴 + 边做边造工具 + 多模型协作"的 TypeScript Agent,AgentOS 的认知记忆与锻造工具是当前开源里少见的差异化组合,建议先用 agent({ memory: ... }).session() 跑通单 Agent 主流程,再按需上 agency() 与 Soul 文件;预算敏感项目先复测 LongMemEval 数字再下生产决策。