⚠️ Warning: This is alpha software under active development. Expect frequent breaking changes and bugs. The API is not yet stable.
Daydreams is a powerful framework for building generative agents that can execute tasks across any blockchain or API.
Feature | Description |
---|---|
🔗 Chain Agnostic | Execute transactions and interact with any blockchain network |
👥 Multi-Expert System | Leverage specialized modules working together to solve complex tasks |
🧠 Context Management | Simple yet powerful memory and context handling system |
🎯 Goal-Oriented | Long-term planning and goal-oriented behavior capabilities |
💾 Persistent Memory | Built-in support for storing and retrieving long-term information |
🤔 Advanced Reasoning | Multi-step reasoning using Hierarchical Task Networks |
Want to contribute? Check our
issues for tasks labeled
good first issue
.
- Node.js 18+ using nvm
You'll need an API key for the LLM you want to use. We recommend using Groq for most use cases.
We use ai-sdk to support multiple LLMs. You will need to install the ai-sdk for the LLM you want to use.
npm i @daydreamsai/core @ai-sdk/groq discord.js @tavily/core
Dreams agents are all functional. createDreams
is a function that returns an
agent object, which can be run with await agent.run()
. Inject discord,
telegram, or any other input/output to the agent and define your own actions.
import { createGroq } from "@ai-sdk/groq";
import { createDreams } from "@daydreamsai/core";
import { cli } from "@daydreamsai/core/extensions";
// Initialize Groq client
const groq = createGroq({
apiKey: process.env.GROQ_API_KEY!,
});
// Create Dreams agent instance
const agent = createDreams({
model: groq("deepseek-r1-distill-llama-70b"),
extensions: [cli],
}).start();
Now chat via the CLI with the agent.
Read the docs for more information on how to use the agent.
We use bun for development.
bun install
bun build:core --watch
Edit the core package and watch for changes, and play with examples.
Looking to contribute? We'd love your help!
If you are a developer and would like to contribute with code, please open an issue to discuss before opening a Pull Request.