支持单应用打包的无需登录的rag应用

Ryuiso bf4732f1c2 no message 1 Minggu lalu
app 45ffe6a58f 应用描述,应用预设问题显示bug修复 1 Minggu lalu
public 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
src-tauri 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
.babelrc 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
.gitignore 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
README.md bf4732f1c2 no message 1 Minggu lalu
next.config.mjs 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
package-lock.json 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
package.json 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu
tsconfig.json 13c9a9eb43 支持单应用打包版本,无需登录认证 1 Minggu lalu

README.md

建科·小智免认证单应用客户端

业务目标

适用于微信环境的公开单个RAG应用的客户端,单独打包

开发与运行

路由映射: /knowledgeChat 路径直接映射到 组件

URL参数处理

  1. showMenu=false 处理位置: sidebar.tsx#361 !location.search.includes('showMenu=false') && 作用: 控制侧边栏是否显示,showMenu=false 时隐藏侧边栏
  2. chatMode=LOCAL 处理位置: chat.tsx 主要在两个地方处理 Chat组件初始化时:

    const search = location.search;
    const params = new URLSearchParams(search);
    const chatMode = params.get('chatMode');
    
    if (chatMode) {
    chatStore.setChatMode(chatMode as "ONLINE" | "LOCAL");
    }
    

作用: 控制聊天模式,chatMode=LOCAL 时使用本地大模型

Chat组件内部:

const search = location.search;
const params = new URLSearchParams(search);
const chatMode = params.get('chatMode');

if (chatMode) {
  setSelectedFruit(chatMode as "ONLINE" | "LOCAL");
  const appId = params.get('appId');
  if (appId) {
    setAppValue(appId);
    globalStore.setSelectedAppId(appId);
    chatStore.updateCurrentSession((session) => {
      session.appId = appId;
    });
  }
  init(chatMode);
}

作用: 初始化聊天模式和应用ID

  1. appId=2937075690977497088 处理位置: 同上,在_Chat组件中处理 作用: 设置应用ID到全局状态 globalStore.setSelectedAppId(appId) 更新当前会话的appId session.appId = appId 用于获取应用列表和预设问题

组件调用关系:

URL: /#/knowledgeChat?showMenu=false&chatMode=LOCAL&appId=xxx
    ↓
React Router 路由匹配
    ↓
home.tsx Screen组件 renderContent()
    ↓
<Route path='/knowledgeChat' element={<Chat />} />
    ↓
Chat组件 (chat.tsx#2305)
    ↓
_Chat组件 (chat.tsx#952)

安装依赖

npm ci

开发模式

npm run dev

生产构建

npm run build

启动生产服务器

npm run start

桌面应用构建 (Tauri)

npm run tauri:dev  # 开发模式
npm run tauri:build  # 生产构建