Skip to content
MoemuPublic

About

[Vibe Coding / WIP] With so many AI chat apps available, this one is uniquely yours.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

沐言 Muyan

沐言图标

沐言是一个本地优先的 AI 对话应用。界面采用简约的二次元设计。

前端可以直接调用模型服务。后端离线时,用户仍可查看本地历史并继续对话。

主要功能

  • 支持流式响应和完整响应。
  • 支持 OpenAI 兼容接口和 Anthropic 接口。
  • 支持模型切换和自定义服务地址。
  • 支持图片和文本文件附件。
  • 支持多会话、新建会话和会话删除。
  • 支持内置人设和自定义系统提示词。
  • 使用 IndexedDB 保存会话和消息。
  • 使用本地存储保存主题、人设和模型配置。
  • 显示浏览器网络和后端服务状态。
  • 提供可安装的 PWA 和离线应用外壳。
  • 提供可选的账户、同步、记忆和管理后端。

离线范围

PWA 缓存前端资源。IndexedDB 保存会话和消息。

后端离线时,前端直接调用用户配置的模型服务。模型服务仍需可访问。

账户登录、跨设备同步和服务器模型需要后端。首次加载必须完成 PWA 安装和缓存。

API Key 保存在当前浏览器。不要在共享设备中保存生产密钥。

技术栈

模块 技术
前端 Vue 3、TypeScript、Vite、Pinia、Tailwind CSS
PWA vite-plugin-pwa、Workbox、IndexedDB
后端 FastAPI、SQLAlchemy、SQLite、SSE
测试 Vitest、Playwright、pytest

快速开始

前端

需要 Node.js 20 或更高版本,并需要 pnpm。

cd frontend
pnpm install
pnpm dev

打开 http://localhost:5173。在“模型服务”页面添加 API 地址、API Key 和模型名称。

后端

后端是可选模块。它需要 Python 3.11 或更高版本,并推荐使用 uv。

cd backend
uv sync --extra dev
Copy-Item .env.example .env
uv run alembic upgrade head
uv run uvicorn app.main:app --reload --port 8000

开发环境中的前端会把 /api 请求转发到 http://localhost:8000。

常用命令

前端

pnpm type-check
pnpm lint
pnpm test -- --run
pnpm build
pnpm preview

后端

uv run ruff check .
uv run mypy app
uv run python test_endpoints.py

冒烟脚本要求后端已在 http://localhost:8000 运行。

项目结构

Muyan/
├── frontend/        Vue 单页应用和 PWA
│   ├── public/      图标和静态资源
│   └── src/         页面、组件、状态和模型客户端
├── backend/         FastAPI 服务
│   ├── app/         API、服务、模型和 LLM 适配器
│   ├── alembic/     数据库迁移
│   └── tests/       后端测试
├── DESIGN.md        视觉设计规范
└── CLAUDE.md        架构和开发规范

浏览器要求

建议使用当前版本的 Chrome、Edge、Firefox 或 Safari。

直接调用模型服务时,服务端必须允许浏览器跨域请求。部分服务可能不支持此模式。

许可证

本项目使用 MIT License。

About

[Vibe Coding / WIP] With so many AI chat apps available, this one is uniquely yours.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages