Skip to content

Repository files navigation

MUSE PI

MUSE PI

不只是聊天界面,是你桌面上的一座私人 AI 画廊。

Python zero deps zero build MIT v1.2.0


✨ 这是什么

MUSE PI 是一个跑在你本地的 AI 对话界面。它兼具两种灵魂 ——

  • 🎨 暗色画廊般的聊天室 —— 接入 OpenAI、DeepSeek、Qwen、GLM、Kimi、SiliconFlow 等主流大模型,只管打字聊天。
  • 🤖 你的编程搭子 —— 挂载本地项目后,Pi CLI Agent 直接在对话里帮你写代码、改文件、查 BUG。

不需要 Docker。不需要 npm install。不需要 pip install -r requirements.txt。拉下来就能跑。


🎬 一秒开始

python backend/server.py

然后浏览器自动打开 http://127.0.0.1:9000,你就进入了。

Windows 用户直接双击 start_server.bat,连终端都不用开。

端口 9000 被占用?不用管——服务器会自动清理旧进程并寻找下一个可用端口。

没有 Python?去 Releases 下载 Muse Pi.exe,双击即用。关掉页面自动退出,干净利落。


🖤 为什么你会喜欢它

它好看

我们不是在开玩笑。MUSE PI 遵循一套独立的设计体系 —— MUSE Design:暖黑底色、金色微光、衬线标题、玻璃态面板、电影感光影。打开它的第一秒,你不会觉得这是又一个「开发者工具」。

  • 暗色奢华画廊风格,不是蓝紫科技渐变
  • Cormorant Garamond 衬线标题 + 中文宋体正文
  • 金色作为唯一强调色,克制优雅
  • 按钮像画廊邀请函,不像系统控件
  • 毛玻璃导航栏 + 点击涟漪 + 滚动渐变 reveal

你的终端是黑的,IDE 是黑的,凭什么聊天界面不能也是黑的且好看的?

它极简

整个项目 零外部依赖。后端用 Python 标准库手搓了一个 HTTP 服务器 + SQLite 持久层;前端纯 HTML + CSS + JavaScript,没有 React、没有 Vue、没有 Webpack、没有 node_modules。

文件 行数 做了什么
backend/server.py ~2160 HTTP 服务 + REST API + SQLite + Pi CLI 集成
frontend/scripts/app.js ~4230 完整 SPA:四视图路由、SSE 流式对话、会话管理、配置系统、@文件引用
frontend/styles/main.css ~4330 MUSE 设计体系 + 双主题 + 动效系统 + 响应式

超过万行手写代码,没有一行是 AI 生成的脚手架。(你信吗?)

它聪明

  • 🔌 8 家 LLM 一键切换 —— MiMo、OpenAI、DeepSeek、Qwen、GLM、Kimi、SiliconFlow、Pi CLI,预设 API 地址点击即填
  • 💬 SSE 流式对话 —— 看着 AI 一个字一个字打出来,不是干等转圈
  • 🔄 会话内切换模型 —— 同一个对话中途换模型,上下文无缝衔接
  • 🧠 @ 文件引用 —— 输入 @ 自动弹出项目文件列表,直接引用代码上下文
  • 🖼️ 项目内图片渲染 —— Agent 生成的图自动显示在对话里
  • 📐 LaTeX 数学渲染 —— MathJax 加持,$E=mc^2$ 直接变公式
  • 🔄 会话持久化 —— SQLite 存一切,关了再开对话还在
  • 📂 项目隔离 —— 不同项目绑定独立的 Pi CLI 会话目录
  • 🤖 Agent 路径自动识别 —— Pi CLI 安装在哪?不用手动填,自动探测
  • 💓 标签页生命周期管理 —— 多标签页各自心跳,全部关闭才退出服务器
  • 🔍 端口自动寻找 —— 默认端口被占了?自动清理旧进程并跳到下一个可用端口

它自由

  • 🏠 file:// 模式 —— 不启动服务器也能用,直接双击 index.html 打开,数据存 localStorage
  • 💾 localStorage → SQLite 自动迁移 —— 从 file 模式切到服务器模式,旧数据自动搬过去
  • 🎨 背景可自定义 —— 换一张壁纸,换一种心情
  • 🎯 Agent 模型可选 —— Pi CLI 支持 --model 切换,不同任务用不同模型
  • 📁 数据存于用户目录 —— 配置和对话记录存在 ~/.musepi/,不污染项目文件夹

🏗️ 项目结构

Muse-PI/
├── backend/
│   └── server.py          ← 整个后端,一个文件
├── frontend/
│   ├── index.html          ← 入口
│   ├── scripts/
│   │   └── app.js          ← 整个前端逻辑,一个文件
│   └── styles/
│       └── main.css        ← 整个样式系统,一个文件
├── tests/
│   └── test_pi_projects.py ← 单元测试
├── start_server.bat        ← Windows 一键启动
├── MUSE DESIGN.md          ← 设计体系文档
└── README.md               ← 你正在看的这个

三个核心文件,超过万行代码,一个完整产品。


🎨 设计哲学

跟大多数 AI 聊天工具体验不同,MUSE PI 在视觉上下了真功夫。它的界面语言来自 MUSE DESIGN.md —— 一份独立的设计规范文档,定义了从色彩系统、字体层级、动效曲线到交互模式的完整体系。

部分亮点:

  • 玻璃态顶部导航 —— backdrop-filter: blur(24px) + 半透明暖黑背景
  • 金色细光强调 —— 仅用于焦点态和关键按钮,占比不超过界面的 5%
  • 衬线标题 × 无衬线正文 —— 编辑式留白,像一本暗色摄影画册
  • 缓出动效 —— cubic-bezier(0.16, 1, 0.3, 1),慢速、优雅、像镜头推近
  • 点击涟漪 —— 金色渐变光环跟随每次鼠标点击
  • 双主题 —— MUSE 暗色主主题 + 亮色/玻璃覆盖层

我们不把聊天界面当工具做。我们把它当画廊做。


🚀 Release

v1.0.3 已发布,附带打包好的 Windows .exe

  • 双击 Muse Pi.exe,自动启动服务器并打开浏览器
  • 关闭页面后服务器自动退出
  • 无需安装 Python 或任何依赖

后续版本可通过 git pull 获取最新源码体验。

# 从源码启动
python backend/server.py
python backend/server.py --port 9000 --no-open   # 自定义端口,不自动打开浏览器

🔧 配置指南

  1. 打开配置标签页
  2. 点击预设按钮(OpenAI / DeepSeek / Qwen 等),自动填入 API 地址
  3. 填入你的 API Key
  4. 勾选要启用的模型
  5. 保存,切回对话标签页开始聊天

Agent 模式同理 —— 在配置页切到 Agent 模型,选择 Pi CLI,填入 pi 命令路径即可。


📡 API 一览

方法 端点 说明
GET /api/state 全量状态快照(配置 + 项目 + 会话)
GET/POST/DELETE /api/config 模型配置 CRUD
GET/POST/DELETE /api/sessions 会话读写 / 清空
POST /api/active-session 切换当前会话
POST /api/active-project 切换当前项目
GET /api/pi-projects 列出 Agent 项目
POST /api/pi-project 新建 Agent 项目
DELETE /api/pi-project 删除项目(保留源文件)
GET /api/pi-sessions 项目下的会话列表
DELETE /api/pi-session 删除单个会话文件
POST /api/cli/chat Pi CLI 流式对话(NDJSON)
GET /api/pi-cli-info 获取 Pi CLI 安装信息
GET /api/pi-skills 列出项目可用 Skills
GET /api/project-files 按关键词检索项目文件
GET /api/project-image 代理项目内的图片
GET /api/pi-models 列出 Pi CLI 可用模型
POST /api/hello 标签页上线注册(心跳)
POST /api/bye 标签页下线注销,全关则退服

🧪 测试

python -m unittest tests.test_pi_projects

🤝 贡献

欢迎提 Issue 和 PR。如果你喜欢这个项目,给个 Star ⭐ 就是最大的鼓励。

你还可以:


📜 许可

MIT License — 拿去做你想做的事。


Made with ♥ by Mingqing Huang · Central South University

如果你觉得好用,求一颗 ⭐ 星星 —— 它真的会让我开心一整天 🌟

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages