TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
基于Next.js构建的现代化聊天应用
Translation pending
ProductivityPython · TypeScriptGitHub @HyxiaoGeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
An AI chat product for multi-model and agent workflows, using a Next.js + FastAPI monorepo architecture.
AI translation
面向多模型与 Agent 工作流的 AI 聊天产品,采用 Next.js + FastAPI monorepo 架构。
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
面向任务执行的 AI 工作台。 Fusion 让 AI 从“回答问题”走向“完成任务”:它会根据用户意图按需选择模型能力与工具,在一次对话中完成搜索、阅读、规划和结构化执行,并把答案依据与 Agent 运行轨迹完整呈现出来。 在线环境可能要求登录。模型、工具与知识库能力取决于当前环境配置和所选模型。 从调研、分析、写作、学习或出行等目标开始,也可以直接描述一个复杂任务。Fusion 会保留用户对执行模式、模型和知识库的控制权。 联网任务可以组合搜索、网页读取与结构化产品工具。回答依据区统一展示采用的搜索来源、已读取网页和知识库引用,正文引用可继续定位到具体材料。 独立轨迹视图按 Turn 与 Run 还原模型请求、工具调用、上下文状态和耗时,并展示本轮冻结的能力包、计划模式与轨迹完整性。刷新或回到历史会话后,仍可以检查同一份执行事实。Read the full README ↗
面向任务执行的 AI 工作台:一个 Agent 循环,模型自己决定查什么、读什么、做什么,每一步都有据可查。
问「北京未来三天天气怎么样,周末适合去爬长城吗?」,Agent 先查和风天气拿到四天预报;发现预报不覆盖周末,再搜索并深读中央气象台和中国气象局的页面补齐,最后给出带引用的结论。整个过程没有预设流程,由模型按结果决定下一步。
在线环境需要登录。截图均来自 dev 环境的真实运行。
联网回答把来源分成「已使用」「候选」和「已深读」三层,正文里的引用编号可以直接定位到对应来源。用户能看清答案用了哪些材料,以及哪些材料看过但没采用。
需要成文的任务直接生成文档:流式预览、目录导航、版本记录与版本对比,可下载为 Markdown 或 HTML。后续对话可以继续修改同一份文档,生成新版本。
独立的轨迹视图按时间线还原每一次模型请求、工具调用、上下文用量和耗时。刷新页面或回到历史会话,看到的是同一份服务端记录。
| 类别 | 能力 |
|---|---|
| 信息获取 | 网页搜索、网页深读、图片搜索与回答配图 |
| 结构化工具 | 和风天气(含 24 小时趋势)、地点搜索、路线对比、航班与高铁查询 |
| 产出 | 交付物文档(创建 / 编辑 / 版本)、AI 生图 |
| 知识 | 会话文件、个人知识库(异步解析、切片、向量检索、引用定位) |
| 扩展 | 远程 MCP 服务接入、Skills(行程规划、对比选择) |
| 模型 | LiteLLM 统一接入多家模型、自动选择模型、推理开关 |
早期版本在每个 Run 开始前先用分类模型判断任务类型,只给模型对应的工具包。实践中分类一旦出错,后面的校验、升级、兜底就要层层打补丁。现在的做法是删掉分类器:每个 Run 向模型公告全部已授权的工具,由回答模型自行选择,Run 前只处理真实边界(被关闭的工具、模型是否支持工具调用)。
模型输出写入 Redis Streams,写入方通过 Lua 脚本原子校验所有权(任务 ID + 流状态),防止重连或重试时出现两个写入者。
每个 Run 共用同一个 run_id,事件序号加锁递增,轨迹账本记录模型请求、工具调用、上下文状态与耗时,并在结束时做完整性校验(界面上的「轨迹完整」标记)。并发压测中 18 个同时运行的 Run 全部正常收敛。
多轮对话会回放历史轮次的工具调用与结果(去掉思考内容),让模型知道之前查过什么;超过阈值时先删除较旧轮次的工具记录,再截断。界面实时显示上下文用量。
| 指标 | 数量 |
|---|---|
| 后端代码(Python,不含测试) | 约 6.7 万行 |
| 前端代码(TypeScript,不含测试) | 约 6.7 万行 |
| 测试 | 后端 265 个测试文件;前端 228 个测试文件、2500+ 用例 |
| 已合并 PR | 360+ |
flowchart LR
UI[Next.js 客户端] -- SSE --> API[FastAPI]
API --> Loop[Agent 循环]
Loop <--> LLM[LiteLLM 多模型]
Loop --> Tools[搜索 / 深读 / 天气 / 地图 / 航班高铁 / 文档 / 生图]
Loop --> MCP[远程 MCP]
Loop --> KB[知识库检索]
Loop --> Redis[(Redis Streams<br/>实时输出)]
Loop --> PG[(PostgreSQL<br/>消息 / 轨迹 / 文档)]
KB --> Milvus[(Milvus)]
Worker[知识库 Worker] --> Milvus
Redis -- 续流 --> UI
聊天正文、回答依据和轨迹视图消费同一组服务端事实,只是呈现的层次不同:正文给结论,依据给材料,轨迹给过程。
| 层 | 技术 |
|---|---|
| 前端 | Next.js、React、TypeScript、Redux Toolkit、Dexie、Vitest |
| 后端 | Python 3.12、FastAPI、SQLAlchemy、Alembic、httpx、asyncio、pytest |
| 存储 | PostgreSQL、Redis、Milvus、对象存储 |
| 模型与工具 | LiteLLM Proxy、MCP、独立的搜索 / 网页读取 / 生图服务 |
| 交付 | GitHub Actions、Docker、Windows 自托管构建 runner |
| 目录 | 作用 |
|---|---|
backend/ | API、Agent runtime、工具、文件、知识库、评测与治理 |
frontend/ | Web 客户端、流式会话、回答依据、文档与轨迹界面 |
ops/ | 服务部署与运行脚本 |
docs/ | 设计、实施与验证记录 |
完整运行链路依赖 PostgreSQL、Redis、Auth Service、LiteLLM,以及按需启用的搜索、Reader、MCP、对象存储和 Milvus。仓库不提供掩盖这些依赖的一键启动脚本。
git clone https://github.com/HyxiaoGe/fusion.git
cd fusion
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env.local
接下来按要开发的应用进入对应指南:
前后端代码与提交历史已合并到本仓库。原 fusion-api 与 fusion-ui 仓库已归档,仅用于历史追溯。