-
🖥️ 界面与体验:灵感源自 ChatGPT,兼具增强型设计与丰富功能
-
🤖 AI 模型选择:
- Anthropic(Claude)、AWS Bedrock、OpenAI、Azure OpenAI、Google、Vertex AI、OpenAI 响应 API(含 Azure)
- 自定义端点:无需代理,即可使用任何兼容 OpenAI 的 API
- 兼容本地及远程 AI 提供商:
- Ollama、groq、Cohere、Mistral AI、Apple MLX、koboldcpp、together.ai
- OpenRouter、Perplexity、ShuttleAI、Deepseek、通义千问(Qwen)等更多平台
-
🔧 代码解释器 API:
- 安全沙箱执行环境,支持 Python、Node.js(JS/TS)、Go、C/C++、Java、PHP、Rust 及 Fortran
- 无缝文件处理:直接上传、处理并下载文件
- 隐私无忧:执行环境完全隔离,安全可靠
-
🔦 智能代理与工具集成:
- 智能代理:
- 无代码自定义助手:构建专业的 AI 驱动型辅助工具
- 代理市场:发现并部署社区构建的智能代理
- 协作共享:与特定用户及群组共享代理
- 灵活可扩展:支持 MCP 服务器、各类工具、文件搜索、代码执行等功能
- 多平台兼容:适配自定义端点、OpenAI、Azure、Anthropic、AWS Bedrock、Google、Vertex AI、响应 API 等
- 工具支持模型上下文协议(MCP)
- 智能代理:
-
🔍 网页搜索:
- 联网检索相关信息,增强 AI 上下文理解能力
- 整合搜索提供商、内容抓取工具及结果重排器,优化搜索效果
- 可自定义 Jina 重排:配置自定义 Jina API 地址用于重排服务
-
🪄 生成式界面与代码产物:
- 代码产物支持在聊天中直接创建 React、HTML 及 Mermaid 图表
-
🎨 图像生成与编辑:
- 文生图与图生图(支持 GPT-Image-1)
- 文生图(支持 DALL-E(3/2)、Stable Diffusion 本地部署、Flux 或任何 MCP 服务器)
- 输入提示词生成精美图像,或通过简单指令优化现有图像
-
💾 预设与上下文管理:
- 创建、保存并共享自定义预设
- 聊天过程中切换 AI 端点与预设
- 编辑、重新提交消息,支持对话分支续聊
- 创建并与特定用户及群组共享提示词
- 消息与对话分支:高级上下文控制功能
-
💬 多模态与文件交互:
- 上传并分析图像(支持 Claude 3、GPT-4.5、GPT-4o、o1、Llama-Vision 及 Gemini)📸
- 文件对话(支持自定义端点、OpenAI、Azure、Anthropic、AWS Bedrock 及 Google)🗃️
-
🧠 推理界面:
- 动态推理界面,适配思维链/推理型 AI 模型(如 DeepSeek-R1)
-
🎨 可自定义界面:
- 可定制下拉菜单与界面布局,适配专业用户与新手用户需求
-
🗣️ 语音与音频功能:
- 语音转文字与文字转语音,支持免手动输入聊天
- 自动发送并播放音频
- 兼容 OpenAI、Azure OpenAI 及 Elevenlabs
-
📥 对话导入与导出:
- 支持从 ChatGPT、Chatbot UI 导入对话
- 支持以截图、Markdown、文本、JSON 格式导出对话
-
🔍 搜索与发现:
- 搜索所有消息与对话
-
👥 多用户与安全访问:
- 多用户支持,安全认证(兼容 OAuth2、LDAP 及邮箱登录)
- 内置内容审核与 Token 消耗管理工具
提示:如果在构建或启动过程中遇到错误,请参考
docs/构建说明.md获取详细排查步骤。
- Node.js:推荐 v18+
- npm:v7+(支持 workspaces)
- Git
- Docker 与 Docker Compose(如使用 Docker 模式)
-
根目录安装依赖
npm install
-
构建共享包
# 构建所有共享包(按顺序) npm run build:data-provider npm run build:data-schemas npm run build:api npm run build:client-package # 或者一次性构建所有包 npm run build:packages
-
构建Agent包
cd agents-Aipyq npm install # 首次建议跑一下 npm run build:dev # 生成 dist/esm 和 dist/cjs
-
构建前端(后端以生产模式提供前端时必须先构建)
# 方式 A:根目录一键构建(推荐) npm run build:client # 方式 B:分步构建 cd client npm run build cd ..
构建产物在
client/dist/,后端会读取其中的index.html。若未构建就启动后端,会报错并提示先执行上述命令。 -
配置环境变量与配置文件
cp .env.example .env # 本项目默认使用 Chizhou.yaml(无则从示例复制) cp Aipyq.yaml.example Chizhou.yaml # 按需编辑 .env 和 Chizhou.yaml # 本地开发时 .env 建议包含: # MONGO_URI=mongodb://localhost:27027/Chizhou # MEILI_HOST=http://localhost:7700(若 SEARCH=true)
说明:后端默认读取项目根目录的
Chizhou.yaml;若需改用其他路径,可设置环境变量CONFIG_PATH。 -
启动数据库服务(必须)
# 注意:本地跑后端时请用 docker-compose.local-dev.yml,不要用 deploy-compose.yml # (deploy-compose 不把 MongoDB 映射到本机,本地进程连不上) # 启动所有服务(包括 Meilisearch) docker compose -f docker-compose.local-dev.yml up -d # 如果禁用了搜索(SEARCH=false),可以只启动 MongoDB 和 PostgreSQL: # docker compose -f docker-compose.local-dev.yml up -d mongodb vectordb # 查看服务状态(确认 mongodb 在 27027、meilisearch 在 7700) docker compose -f docker-compose.local-dev.yml ps # 查看日志(如果需要) docker compose -f docker-compose.local-dev.yml logs -f # 停止服务(开发完成后) # docker compose -f docker-compose.local-dev.yml down
若后端报
ECONNREFUSED 127.0.0.1:27017:- 确认用的是
docker-compose.local-dev.yml且已up -d - 确认
.env中MONGO_URI=mongodb://localhost:27027/Chizhou(端口与 compose 中映射一致) - 在项目根目录执行
npm run backend:dev(不要进 api/ 再跑)
- 确认用的是
-
启动后端(终端 1)
# 必须在项目根目录执行 npm run backend:dev -
启动前端(终端 2)
npm run frontend:dev
-
默认访问地址
- 开发前端:
http://localhost:3090 - 后端 API:
http://localhost:3080 - MongoDB:
localhost:27027(根据 .env 中的 MONGO_URI 配置) - Meilisearch:
http://localhost:7700(如果 SEARCH=true) - PostgreSQL 向量数据库:
localhost:5234(如果使用 RAG 功能)
- 开发前端:
-
克隆项目并进入目录
git clone https://github.com/constanji/Aipyqchat cd AipyqChat -
配置环境变量
cp .env.example .env cp Aipyq.yaml.example Aipyq.yaml
-
构建镜像并启动服务
# 第一次或修改 Dockerfile 后,先构建镜像 docker-compose -f docker-compose.dev.yml build #docker-compose.dev.yml也可以选择生成环境的docker-compose.yml # 然后启动所有服务(前端、后端、MongoDB、Meilisearch 等) docker-compose -f docker-compose.dev.yml up -d
-
访问应用
- 前端(开发网关):
http://localhost:3090 - 后端 API:
http://localhost:3080
- 前端(开发网关):
-
查看 / 停止服务
# 查看日志 docker-compose -f docker-compose.dev.yml logs -f # 停止服务 docker-compose -f docker-compose.dev.yml down