daydreams

GitHub
603 131 简单 1 次阅读 昨天MIT语言模型Agent开发框架图像
AI 解读 由 AI 自动生成,仅供参考

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
GPU

未说明

内存

未说明

依赖
notes该工具是基于 TypeScript 的 AI Agent 框架,非 Python 项目。运行环境需 Node.js(支持 Node.js, Deno, Bun 及浏览器环境)。可通过 npm 安装核心包或使用 npx 快速搭建项目。支持通过 MCP 协议连接外部工具服务,并集成了基于 USDC 的微支付网关功能。
python不适用 (基于 TypeScript/Node.js)
@daydreamsai/core
@ai-sdk/openai
zod
@daydreamsai/mcp
@daydreamsai/discord
@daydreamsai/supabase
daydreams hero image

快速开始

dreams

Daydreams - AI 代理框架

注意: 此代理框架已不再是核心重点,因为其功能现已过时。

Daydreams 的核心重点在于代理式商业,而非代理框架。

请查看 lucid-agents 仓库:https://github.com/daydreamsai/lucid-agents

我们推荐使用 Pi 代理框架 来构建代理,并在其基础上集成 lucid-agents

最终实现可扩展且可组合的 TypeScript 代理

🌐 官网 • ⚡ 快速入门 • 📖 文档 • 💬 Discord

文档 许可证:MIT TypeScript GitHub 星标

🎯 每个 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 渲染、图像处理、数据分析

📖 了解更多关于 MCP 的信息 →

📚 文档与学习

🏠 完整文档 - 构建生产级代理所需的一切

🏃‍♂️ 快速入门路径

🎯 我想亲自试一试5 分钟快速入门
🛠️ 我想看示例实用示例
🚀 我想构建一些东西教程
💬 我需要帮助加入我们的 Discord

必备指南

教程

🚀 扩展与生态系统

平台集成

存储与记忆

开发者工具

🎯 完美适配您的使用场景

电子商务 医疗保健 金融服务 开发者工具
大规模客户服务 符合 HIPAA 标准的代理 以合规为先的设计 代码审查自动化
订单处理自动化 患者数据保护 内置风险管理 文档生成
库存管理 治疗建议 交易监控 API 测试辅助

🏃‍♂️ 示例

examples/ 中探索实际运行的示例:

🌟 精选示例

每个示例包括:

  • 完整的 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


MIT 许可证 • 由 Daydreams 团队用心打造

版本历史

v0.3.222025/09/03
v0.3.212025/08/25
v0.3.202025/08/22
v0.3.192025/08/21
v0.3.182025/08/21
v0.3.172025/08/21
v0.3.162025/08/21
v0.3.152025/08/19
v0.3.142025/08/18
v0.3.132025/08/17
v0.3.122025/08/16
v0.3.112025/08/16
v0.3.102025/08/14
v0.3.92025/08/10
v0.3.9-alpha.22025/08/10
v0.3.9-alpha.12025/08/09
v0.3.9-alpha.02025/08/08
v0.3.82025/06/18
v0.3.72025/06/02
v0.3.7-alpha.72025/05/28

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|今天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

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 真正成长为懂上

141.5k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|今天
开发框架图像Agent

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|今天
语言模型图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent