daydreams
Daydreams 是一个专为构建商业级 AI 智能体(Agents)设计的开源框架,基于 TypeScript 打造。它主要解决开发者在将 AI 智能体从测试环境推向生产时面临的常见难题:随着功能增加,上下文切换容易破坏现有逻辑、状态管理变得混乱、记忆无法跨会话持久化,导致代码难以维护。
针对这些痛点,Daydreams 提出了“可组合上下文架构”。开发者可以通过模块化组件灵活组装智能体,使其具备真正的长期记忆和学习能力。其独特亮点包括:支持通过统一的 API 网关(Dreams Router)调用 OpenAI、Anthropic、Google 等多家主流模型,并集成基于 USDC 的按需微支付系统,无需订阅即可使用;同时原生支持 MCP 协议,确保智能体具备良好的扩展性与互操作性。
需要注意的是,该项目目前的战略重心已转向“代理商务”(Agentic Commerce),原有的智能体编排核心功能建议结合官方推荐的 lucid-agents 或 Pi agent harness 使用。Daydreams 非常适合希望构建可扩展、高可靠性商业应用的后端工程师和 AI 开发者,帮助他们摆脱繁琐的基础设施搭建,专注于业务逻辑的实现。
使用场景
一家电商初创团队正在构建一个能同时处理用户咨询、追踪购买行为并自动推荐商品的智能客服 Agent。
没有 daydreams 时
- 状态管理混乱:随着功能增加,用户会话记忆在不同模块间丢失,导致客服机器人经常“忘记”用户刚才提到的商品偏好。
- 代码耦合严重:为了添加新的支付或分析功能,开发者不得不修改核心逻辑,引发“牵一发而动全身”的上下文切换错误。
- 模型切换成本高:想要尝试更便宜的模型或备用提供商,需要重写大量底层 API 调用代码,无法灵活应对成本波动。
- 难以持久化记忆:用户的历史行为数据无法跨会话保存,每次对话都像是在从零开始,无法提供个性化的长期服务。
使用 daydreams 后
- 模块化上下文组合:利用
.use()机制,团队将“数据分析”和“客户支持”拆分为独立上下文模块,像搭积木一样组合,确保记忆在模块间无缝流转。 - 逻辑隔离与扩展:新增功能只需编写独立的 Context 组件,无需触碰核心代码,彻底解决了功能迭代导致的系统崩溃问题。
- 统一网关灵活调度:通过 Dreams Router,团队用一套代码即可随时切换 OpenAI、Anthropic 等模型,并支持按次微支付,大幅降低试错成本。
- 真正的长期记忆:内置的状态管理机制让 Agent 能持久化存储用户会话和事件,实现跨天数的个性化推荐和连续对话。
daydreams 通过可组合的上下文架构和统一的 AI 网关,让电商 Agent 从脆弱的实验品变成了可规模化、易维护的生产级应用。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始

Daydreams - AI 代理框架
注意: 此代理框架已不再是核心重点,因为其功能现已过时。
Daydreams 的核心重点在于代理式商业,而非代理框架。
请查看 lucid-agents 仓库:https://github.com/daydreamsai/lucid-agents
我们推荐使用 Pi 代理框架 来构建代理,并在其基础上集成 lucid-agents。
最终实现可扩展且可组合的 TypeScript 代理
🌐 官网 • ⚡ 快速入门 • 📖 文档 • 💬 Discord
🎯 每个 AI 开发者都会遇到的问题
你构建了一个 AI 代理。在测试中它运行得非常好。但当你需要添加更多功能时……
❌ 上下文切换会破坏现有功能
❌ 状态管理变得一团糟
❌ 内存无法跨会话持久化
❌ 代码变成了一团乱麻,充斥着提示词和逻辑
听起来很熟悉吧?你并不孤单。这就是为什么大多数 AI 代理都无法进入生产环境的原因。
⚡ 解决方案:可组合上下文架构
Daydreams 是首个具备可组合上下文的 AI 框架——这些隔离的工作空间可以组合起来,形成复杂的行为。通过真正的记忆、MCP 集成以及以 TypeScript 为先的设计,你可以构建出能够记忆、学习并扩展的代理。
🌐 Dreams 路由器 - 通用 AI 网关
通过一个 API 即可访问任何 AI 模型,并内置身份验证和支付功能:
import { dreamsRouter } from "@daydreamsai/ai-sdk-provider";
// 使用来自任何提供商的任意模型
const models = [
dreamsRouter("openai/gpt-4o"),
dreamsRouter("anthropic/claude-3-5-sonnet-20241022"),
dreamsRouter("google-vertex/gemini-2.5-flash"),
dreamsRouter("groq/llama-3.1-405b-reasoning"),
];
// 按使用付费,采用 USDC 微支付(无需订阅)
const { dreamsRouter } = await createDreamsRouterAuth(account, {
payments: { amount: "100000", network: "base-sepolia" }, // 每次请求 $0.10
});
特点:
- 通用访问 - OpenAI、Anthropic、Google、Groq、xAI 等多种模型
- x402 支付 - 按使用付费,支持 USDC 微支付
- 兼容 OpenAI - 可与现有的 OpenAI SDK 客户端无缝对接
- 自动回退 - 内置提供商冗余机制
🌐 在线服务: router.daydreams.systems • 📖 路由器文档 • ⚡ 路由器快速入门
🌟 上下文组合的力量
与其他框架不同,Daydreams 允许你使用 .use() 方法来组合上下文,从而从模块化组件中创建强大的代理:
import { createDreams, context, action } from "@daydreamsai/core";
import { openai } from "@ai-sdk/openai";
// 基础分析上下文 - 追踪用户行为
const analyticsContext = context({
type: "analytics",
create: () => ({ events: [], sessions: 0 }),
}).setActions([
action({
name: "trackEvent",
schema: { event: z.string() },
handler: async ({ event }, ctx) => {
ctx.memory.events.push({ event, timestamp: Date.now() });
return { tracked: true };
},
}),
]);
// 与分析上下文组合的客户支持上下文
const supportContext = context({
type: "support",
schema: z.object({
customerId: z.string(),
tier: z.enum(["free", "premium"]),
}),
create: () => ({ tickets: [] }),
})
// 🌟 神奇之处:将上下文组合在一起
.use((state) => [
{ context: analyticsContext, args: { userId: state.args.customerId } },
// 根据客户等级进行条件性组合
...(state.args.tier === "premium" ? [{ context: premiumContext }] : []),
])
.instructions(
(state) =>
`您是 ${state.args.tier} 等级的客户支持代理人。请记录所有互动。`
);
// 代理自动获得所有组合的功能
const agent = createDreams({
model: openai("gpt-4o"),
contexts: [supportContext],
});
// 客户将获得支持、分析以及高级功能(如果适用)
await agent.send({
context: supportContext,
args: { customerId: "alice", tier: "premium" },
input: "我在账单方面遇到了问题。",
});
结果:你的代理能够在一次对话中无缝结合客户支持、行为分析以及高级功能,无需手动集成。
🔌 通用 MCP 集成
连接到任何 模型上下文协议 服务器,即可即时访问外部工具:
import { createMcpExtension } from "@daydreamsai/mcp";
const agent = createDreams({
extensions: [
createMcpExtension([
{
id: "filesystem",
transport: {
type: "stdio",
command: "npx",
args: ["@modelcontextprotocol/server-filesystem", "./docs"],
},
},
{
id: "database",
transport: {
type: "stdio",
command: "npx",
args: ["@modelcontextprotocol/server-sqlite", "./data.db"],
},
},
]),
],
});
// 在任何行动中使用 MCP 工具
const searchAction = action({
name: "search-docs",
handler: async ({ query }, ctx) => {
// 通过 MCP 读取文件
const docs = await ctx.callAction("mcp.listResources", {
serverId: "filesystem",
});
// 通过 MCP 查询数据库
const results = await ctx.callAction("mcp.callTool", {
serverId: "database",
name: "query",
arguments: { sql: `SELECT * FROM docs WHERE content LIKE '%${query}%'` },
});
return { docs, results };
},
});
结果:你的代理可以通过不断发展的 MCP 生态系统,即时获得文件系统访问、数据库查询、网页抓取、3D 渲染等功能。
🚀 在 60 秒内启动你的代理
npm install @daydreamsai/core @ai-sdk/openai zod
import { createDreams, context, action } from "@daydreamsai/core";
import { openai } from "@ai-sdk/openai";
import { z } from "zod";
// 定义一个简单的天气上下文
const weatherContext = context({
type: "weather",
create: () => ({ lastQuery: null }),
}).setActions([
action({
name: "getWeather",
schema: z.object({ city: z.string() }),
handler: async ({ city }, ctx) => {
ctx.memory.lastQuery = city;
// 你的天气 API 逻辑在这里
return { weather: `晴朗,${city} 的气温为 72°F` };
},
}),
]);
// 创建你的代理
const agent = createDreams({
model: openai("gpt-4o"),
contexts: [weatherContext],
});
// 开始聊天!
await agent.send({
context: weatherContext,
input: "旧金山的天气怎么样?",
});
就是这样!你的代理已经运行起来,具备持久化记忆和类型安全的操作。
或者搭建一个完整的项目:
npx create-daydreams-agent my-agent
cd my-agent && npm run dev
🔥 为什么开发者正在转向 Daydreams
| 🏗️ 传统 AI 框架 | ⚡ Daydreams |
|---|---|
| 单体式代理设计 | 可组合的上下文架构 |
| 会话间内存重置 | 重启后仍保持持久化内存 |
| 手动状态管理 | 自动上下文隔离 |
| 复杂的集成设置 | 原生 MCP 支持 |
| JavaScript 加上类型注解 | 以 TypeScript 为首的设计 |
✨ 企业级特性
🧩可组合的上下文 - 由简单、可复用的上下文构建复杂代理
🔌原生 MCP 支持 - 通用访问外部工具和服务
💾持久化内存 - 真正的状态感知型代理,跨会话记忆
⚡完全 TypeScript - 完整的类型安全与卓越的开发体验
🎯上下文隔离 - 自动分离用户数据和对话
🔧动作作用域 - 上下文特定的能力与权限
🌐通用运行时 - 适用于 Node.js、浏览器、Deno、Bun 和边缘函数
🏗️模块化扩展 - 干净的插件架构,用于平台和服务
📊完全可解释性 - 了解你的代理所做的每一个决策
🏗️ 核心架构
上下文系统
针对不同类型的对话提供隔离的状态工作空间:
const userContext = context({
type: "user",
schema: z.object({ userId: z.string() }),
create: () => ({ preferences: {}, history: [] }),
render: (state) =>
`用户:${state.args.userId} | 历史记录:${state.memory.history.length} 条`,
});
内存系统
双层存储并自动持久化:
- 工作内存:临时执行状态(输入、输出、动作)
- 上下文内存:由
create()函数定义的持久化数据
动作系统
具有上下文访问权限和模式验证的类型安全函数:
const savePreference = action({
name: "save-preference",
description: "保存用户偏好",
schema: z.object({ key: z.string(), value: z.string() }),
handler: async ({ key, value }, ctx) => {
ctx.memory.preferences[key] = value;
return { saved: `${key} = ${value}` };
},
});
###扩展系统
用于平台和服务的模块化集成:
import { discordExtension } from "@daydreamsai/discord";
import { supabaseExtension } from "@daydreamsai/supabase";
const agent = createDreams({
extensions: [
discordExtension({ token: process.env.DISCORD_TOKEN }),
supabaseExtension({ url: process.env.SUPABASE_URL }),
],
});
🎯 上下文模式
单一上下文 - 简单而专注
非常适合简单的机器人:
const faqBot = context({
type: "faq",
instructions: "回答关于我们产品的提问",
});
多个上下文 - 分离的工作空间
当你需要隔离的功能时:
const agent = createDreams({
contexts: [
chatContext, // 用户对话
gameContext, // 游戏会话
adminContext, // 管理功能
],
});
🌟 组合上下文 - 极致强大
这正是 Daydreams 的优势所在 - 上下文协同工作:
const smartAssistant = context({
type: "assistant",
schema: z.object({ userId: z.string(), plan: z.enum(["free", "pro"]) }),
}).use((state) => [
// 始终包含用户档案
{ context: profileContext, args: { userId: state.args.userId } },
// 始终包含基础分析
{ context: analyticsContext, args: { userId: state.args.userId } },
// 为 Pro 用户添加高级功能
...(state.args.plan === "pro" ? [{ context: premiumContext }] : []),
]);
🔌 MCP 集成
Daydreams 通过扩展提供了对模型上下文协议的原生支持:
import { createMcpExtension } from "@daydreamsai/mcp";
// 连接到任何 MCP 服务器
createMcpExtension([
// 通过 stdio 连接本地服务器
{
id: "files",
transport: { type: "stdio", command: "mcp-server", args: ["./data"] },
},
// 通过 HTTP/SSE 连接远程服务器
{
id: "api",
transport: { type: "sse", serverUrl: "https://mcp-api.example.com" },
},
]);
流行的 MCP 服务器:
- 数据库访问:SQLite、PostgreSQL、MySQL
- 文件系统:本地文件、云存储、Git 仓库
- Web 服务:搜索、爬取、API、社交媒体
- 开发者工具:代码执行、测试、部署
- 专用工具:3D 渲染、图像处理、数据分析
📚 文档与学习
🏠 完整文档 - 构建生产级代理所需的一切
🏃♂️ 快速入门路径
🎯 我想亲自试一试 →
5 分钟快速入门
🛠️ 我想看示例 → 实用示例
🚀 我想构建一些东西 → 教程
💬 我需要帮助 → 加入我们的 Discord
必备指南
教程
🚀 扩展与生态系统
平台集成
- @daydreamsai/discord - Discord 机器人支持
- @daydreamsai/twitter - Twitter/X 自动化
- @daydreamsai/telegram - Telegram 机器人
- @daydreamsai/cli - 交互式终端
存储与记忆
- @daydreamsai/supabase - Supabase 向量存储
- @daydreamsai/chroma - ChromaDB 集成
- @daydreamsai/mongo - MongoDB 持久化
开发者工具
- @daydreamsai/mcp - 模型 上下文协议
- create-daydreams-agent - 项目脚手架
🎯 完美适配您的使用场景
| 电子商务 | 医疗保健 | 金融服务 | 开发者工具 |
|---|---|---|---|
| 大规模客户服务 | 符合 HIPAA 标准的代理 | 以合规为先的设计 | 代码审查自动化 |
| 订单处理自动化 | 患者数据保护 | 内置风险管理 | 文档生成 |
| 库存管理 | 治疗建议 | 交易监控 | API 测试辅助 |
🏃♂️ 示例
在 examples/ 中探索实际运行的示例:
- 基础聊天 - 简单的对话代理
- 多上下文 - 多种对话类型
- Discord 机器人 - 平台集成示例
- MCP 集成 - 外部工具连接
- x402 纳米服务 - 带有小额支付的付费 AI 服务
🌟 精选示例
每个示例包括:
- 完整的 TypeScript 源代码
- 分步设置说明
- 配置示例
- 测试和部署指南
🛠️ 开发
贡献
我们欢迎贡献!请参阅 CONTRIBUTING.md 获取指导方针。
开发环境设置:
git clone https://github.com/daydreamsai/daydreams.git
cd daydreams
pnpm install
./scripts/build.sh --watch
bun run packages/core # 运行测试
🤝 社区与支持
📈 加入 1,000+ 构建更优 AI 的开发者
使用 Daydreams 的公司: 电子商务平台 • 医疗保健提供商 • 金融机构 • 开发者工具公司
获取帮助与交流
💬 Discord 社区 - 从团队和社区获得帮助
📖 文档 - 全面的指南和示例
🐛 GitHub Issues - 错误报告和功能请求
📧 直接支持 - 直通我们的工程团队
✨ 准备好构建真正可用的 AI 代理了吗?
⭐ 星标本仓库 • 🚀 立即试用 Daydreams • 💬 加入 Discord
版本历史
v0.3.222025/09/03v0.3.212025/08/25v0.3.202025/08/22v0.3.192025/08/21v0.3.182025/08/21v0.3.172025/08/21v0.3.162025/08/21v0.3.152025/08/19v0.3.142025/08/18v0.3.132025/08/17v0.3.122025/08/16v0.3.112025/08/16v0.3.102025/08/14v0.3.92025/08/10v0.3.9-alpha.22025/08/10v0.3.9-alpha.12025/08/09v0.3.9-alpha.02025/08/08v0.3.82025/06/18v0.3.72025/06/02v0.3.7-alpha.72025/05/28常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。