DOCUMENTATION / DREAM AI

把复杂,
讲成星光。

Dream AI 是一个开源、通用、可自托管的 AI 助手。这里有它的骨架、 它如何思考、如何被唤醒,以及它将要走向哪里。

Python 3.11+ MIT License Web + CLI + Desktop
dream@universe — agent zsh
➜~/DreamAI$python -m dream_ai
✦ Dream AI v0.4.0 online
provider openai_compatible · connected
memory persistent · tools ready
dream › 从一句话,开始创造
LIVE SESSIONno key? offline demo is on
目录 · 09 个章节 ⌄
01 / OVERVIEW

一页看懂 Dream AI

从一个简单的 CLI 会话开始,慢慢长成一个能记忆、能使用工具、能自主规划,也能在浏览器里协作的通用智能体。

04能力层对话 / 记忆 / 工具 / 自主规划
03产品入口Web · CLI · Windows Desktop
00厂商锁定任何 OpenAI 兼容端点都可以接入
∞共享的梦MIT 开源,欢迎所有人一起构建
现在是什么阶段?

核心处于 early development(v0.4.0),网页版已在 liguijiang.com 上线。路线图里标注为未完成的部分仍然只是计划,不提前把梦想写成现实。

02 / QUICKSTART

三分钟,把 Dream 叫醒

只需要 Python 3.11 或更高版本。没有 API Key 也能进入离线演示模式,先把整条交互链路跑通。

terminal
# 1. 克隆并进入项目
git clone https://github.com/Li-Guijiang/DreamAI.git
cd DreamAI

# 2. 创建虚拟环境(Windows)
python -m venv .venv
.venv\Scripts\activate

# 3. 安装并以离线模式启动
pip install -e .
python -m dream_ai
OFFLINE

先看见,再接入

没有 Key 时,LocalEchoProvider 会回声你的输入,用来熟悉命令、历史和工具流程;它不会伪装成真实模型的回答。

ONLINE

接入任意模型

复制 .env.example 为 .env,填入 DREAMAI_API_KEY。OpenAI、DeepSeek、Qwen 等兼容端点都可以直接切换。

更完整的中文手把手说明见仓库 docs/GUIDE.md,有环境检查、常见报错和每个命令的用法。

03 / SURFACES

三个入口,同一个 Dream

它们共享同样的产品定义与配置约定,但承担的日常任务不同。你可以在网页里随手对话,在终端里接入自动化,在桌面版里真正操作文件。

04 / ARCHITECTURE

四层能力,一条思考链

Python 内核只依赖很小的抽象接口,Provider、Memory、Tools 与 Autonomy 可以独立替换。CLI 运行在这颗核心上;Web 端目前由独立的 FastAPI 流式层驱动,共享模型配置与体验语言,接通同一套工具与自主循环是下一阶段计划。

01接口优先

LLMProvider、Memory、Tool 都是可替换的小契约;核心不依赖某一家厂商。

02安全默认

文件与联网工具默认关闭,写入需要确认,自主循环有步数预算和可解释轨迹。

03渐进扩展

从 CLI 到 Web、从离线演示到真实模型,旧路径始终保留,不需要重写核心。

05 / MOTION

全站都在动,阅读仍然安静

这片站点现在有自己的呼吸:星野、轨道、打字机、卡片聚光、页面跃迁与滚动叙事。动效服务于层次和反馈,而不是遮住内容。

✍

会呼吸的标题

问候语与提示词先打字、停留、再删除并切换下一句,像一台真正等待你说话的终端。

◎

可触摸的星野

Canvas 星场随指针轻微视差漂移,偶尔有流星掠过。低性能设备会自动减少星点数量。

✧

有反馈的交互

卡片聚光与 3D 倾斜、按钮磁性位移、点击星火、页面跃迁,所有变化都在回应你的指尖。

◐

可关闭的动效

右上角的动效开关会尊重 prefers-reduced-motion,并记住你的选择;内容永远不是动画的人质。

想安静地读?

打开导航右上角的「动态 / 静态」开关,整站会立即静止,不需要重新加载。

实现集中在 assets/js/motion.js、assets/css/motion.css 与各页面独立的故事脚本中。都使用原生 API,没有引入额外的前端框架或动画库。

06 / COMMANDS

命令行里的 Dream

输入自然语言即可对话;斜杠命令负责查看状态、管理记忆与触发多步任务。

命令它会做什么触发条件
/help列出全部命令和工具提示。随时
/run <objective>拆解目标,执行 think → act → observe → reflect 循环,并输出计划与结果。DREAMAI_AUTONOMY_ENABLED=true
/trace回看上一次自主任务的状态、步骤和完整轨迹。运行过 /run
/tools列出注册的工具、风险等级、确认要求与必填参数。工具注册表开启
/tool <name> <json>直接运行一个工具,例如计算表达式。工具名存在
/remember <text>把一条长期偏好写入记忆,并在之后注入上下文。持久化开启
/memory · /forget查看或清空长期偏好。随时
/clear清空当前会话历史,但保留系统提示与已记忆偏好。随时
/about查看 Provider、模型、工具、自主模式和消息数量。随时
文件写入需要你点头

file_write 和自主任务中的受保护动作永远先请求确认。没有确认,Dream 不会修改你的文件。

07 / STRUCTURE

目录不是仓库的装饰

每一个文件夹都对应一个可以独立理解和测试的概念。新的 Provider、Tool、Memory 或 Planner 都可以沿着接口生长。

repository · maintree
DreamAI/
├─ dream_ai/                # 智能体内核(Python)
│  ├─ core/                 # Agent 与 Conversation
│  ├─ providers/            # 可插拔模型后端
│  ├─ memory/               # 会话、偏好、持久化
│  ├─ tools/                # 注册表与内置工具
│  ├─ autonomy/             # Planner、执行引擎、Trace
│  ├─ ui/                   # 终端动效与可访问降级
│  └─ cli.py                # 交互循环与斜杠命令
├─ web/                     # 本页所在的网页版
│  ├─ app/                  # FastAPI:SSE、限流、安全响应头
│  ├─ web/                  # 原生前端 + 动效系统
│  ├─ docs/                 # 站点截图与预览
│  └─ deploy/               # systemd / Nginx / 一键部署
├─ desktop/                 # Electron 桌面版(加载同一套界面)
├─ docs/                    # 架构、路线图、指南、安全
├─ examples/                # 可直接运行的示例
├─ tests/                   # 单元与行为测试
└─ assets/brand/            # 会动的仓库视觉资产

网页版是原生 HTML + CSS + JavaScript,不需要 Node 构建;FastAPI 只负责模型转发、流式 SSE 与安全边界。少一层工具链,就多一层可维护性。

08 / ROADMAP

一颗慢慢长大的星

Dream AI 不追逐“什么都做”。它按能力一层一层地长,每个版本都有可验证的完成标准。

  1. v0.1 · CONVERSATION DONE

    先学会对话

    CLI 交互循环、会话记忆、可插拔 Provider、离线演示模式。

  2. v0.2 · MEMORY DONE

    再学会记住

    本地 JSON 持久化、跨会话偏好、下次启动自动恢复。

  3. v0.3 · TOOLS DONE

    然后学会动手

    安全工具注册表、计算器与时钟、沙箱文件读写、可选联网搜索。

  4. v0.4 · AUTONOMY CURRENT

    现在学会计划

    多步拆解、步数预算、失败重试、确认闸门,以及可解释的完整轨迹。

  5. NEXT · NATIVE TOOL CALLING PLANNED

    把选择交还给模型

    模型驱动的计划拆解、原生函数调用、流式 CLI,以及更聪明的长期记忆。

路线图是承诺的方向,不是承诺的日期。

完整里程碑与验收标准在 docs/ROADMAP.md。没有完成的事项会一直保持未勾选。

09 / QUALITY

能一直长下去的工程

可读的抽象、默认安全的边界、持续运行的测试,以及一套不需要 Node 就能跑起来的网页。

✓测试与 lint

pytest 覆盖 Agent、Memory、Tools 与 Autonomy;Ruff 约束导入、格式和常见错误,CI 在 Python 3.11 / 3.12 / 3.13 上同时运行。

↺可审计的自主循环

每个 think / act / observe / reflect 事件都进入 Trace,失败可重试、预算可检查、受保护动作必须确认。

⌘安全响应头

Web 层包含 CSP、X-Frame-Options、nosniff、Referrer-Policy;模型输出经 DOMPurify 清洗后才进入页面。

◎可访问的动效

装饰性 Canvas 带 aria-hidden,键盘焦点保持可见,所有动效支持关闭并尊重系统减少动态偏好。

DEPLOY / 自托管

在你自己的服务器上点亮它

网页版目标环境是宝塔面板 + Nginx + systemd。静态文件由 Nginx 直出,FastAPI 只监听本机回环地址,API Key 只存在服务器 .env。

查看部署说明 ↗
systemctldreamai-webactive
nginxliguijiang.comhttps
api/api/health200
privacykeys stay server-sideok
Dream AI 向所有人开放。

你可以从阅读代码开始,也可以提交一个工具、一处翻译、一颗新的星。贡献指南在 docs/CONTRIBUTING.md。

END OF DOCUMENT 回到顶部 ↑