jsRuner/chizhou

★ 0Forks 0GitHub ↗Compare

README

✨ 核心功能

  • 🖥️ 界面与体验:灵感源自 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 模式)

方式一:本地直接运行(适合深入开发)

  1. 根目录安装依赖

    npm install
  2. 构建共享包

     # 构建所有共享包(按顺序)
     npm run build:data-provider
     npm run build:data-schemas
     npm run build:api
     npm run build:client-package
     
     # 或者一次性构建所有包
     npm run build:packages
  3. 构建Agent包

    cd agents-Aipyq
    npm install           # 首次建议跑一下
    npm run build:dev     # 生成 dist/esm 和 dist/cjs
  4. 构建前端(后端以生产模式提供前端时必须先构建)

    # 方式 A:根目录一键构建(推荐)
    npm run build:client
    
    # 方式 B:分步构建
    cd client
    npm run build
    cd ..

    构建产物在 client/dist/,后端会读取其中的 index.html。若未构建就启动后端,会报错并提示先执行上述命令。

  5. 配置环境变量与配置文件

    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。

  6. 启动数据库服务(必须)

    # 注意:本地跑后端时请用 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/ 再跑)
  7. 启动后端(终端 1)

    # 必须在项目根目录执行
    npm run backend:dev
  8. 启动前端(终端 2)

    npm run frontend:dev
  9. 默认访问地址

    • 开发前端:http://localhost:3090
    • 后端 API:http://localhost:3080
    • MongoDB:localhost:27027(根据 .env 中的 MONGO_URI 配置)
    • Meilisearch:http://localhost:7700(如果 SEARCH=true)
    • PostgreSQL 向量数据库:localhost:5234(如果使用 RAG 功能)

方式二:Docker 开发模式(测试版)

  1. 克隆项目并进入目录

    git clone https://github.com/constanji/Aipyqchat
    cd AipyqChat
  2. 配置环境变量

    cp .env.example .env
    cp Aipyq.yaml.example Aipyq.yaml
  3. 构建镜像并启动服务

    # 第一次或修改 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
  4. 访问应用

    • 前端(开发网关):http://localhost:3090
    • 后端 API:http://localhost:3080
  5. 查看 / 停止服务

    # 查看日志
    docker-compose -f docker-compose.dev.yml logs -f
    
    # 停止服务
    docker-compose -f docker-compose.dev.yml down

Contributors

constanjimumangguo

Issues