Files
ljwx-chat/访问说明.md
2025-11-29 07:36:44 +08:00

4.7 KiB
Raw Permalink Blame History

灵境万象 - 访问说明

📊 当前状态

✅ 应用已启动: http://localhost:3010 ✅ Ollama qwen3:32b: 已配置 ✅ PostgreSQL + PGVector: 已配置 ⚠️ 认证问题: 需要配置用户登录


🔍 问题说明

灵境万象目前遇到认证问题。页面本身可以加载,但某些功能需要用户登录才能使用。

当前情况:

  • ✅ 页面 HTML 正常加载
  • ✅ 前端界面可见
  • ❌ API 调用返回 401 UNAUTHORIZED
  • ❌ 无法使用对话功能

💡 解决方案

方案 1: 使用客户端模式(推荐 - 快速测试)

优点:

  • ✅ 无需认证,立即可用
  • ✅ Ollama 模型正常工作
  • ✅ 界面完整功能

缺点:

  • ❌ 数据存储在浏览器中(IndexedDB)
  • ❌ 无法使用服务器端知识库(PostgreSQL + PGVector)
  • ❌ 数据不能跨设备同步

配置步骤:

  1. 修改 .env 文件:
cd ~/work/codes/AI/lobe-chat

# 编辑 .env,注释掉数据库相关配置
# 将以下行注释掉:
# DATABASE_URL=...
# DATABASE_DRIVER=...
# KEY_VAULTS_SECRET=...

或者直接运行:

cat > ~/work/codes/AI/lobe-chat/.env << 'EOF'
# ============ Ollama Configuration ============
OLLAMA_PROXY_URL=http://127.0.0.1:11434
ENABLED_OLLAMA=1

# ============ Development Settings ============
NODE_ENV=development
EOF
  1. 重启服务器:
# 终止当前服务器 (Ctrl+C)
# 或者
lsof -ti:3010 | xargs kill -9

# 重新启动
cd ~/work/codes/AI/lobe-chat
bun run dev
  1. 访问应用:

打开 http://localhost:3010


方案 2: 配置认证(完整功能)

优点:

  • ✅ 完整的服务器端知识库功能
  • ✅ PostgreSQL + PGVector 向量搜索
  • ✅ 数据持久化和跨设备同步

缺点:

  • ❌ 需要配置认证系统
  • ❌ 设置稍微复杂

配置步骤:

选项 A: 使用 NextAuth (Email/Password)

  1. 安装 next-auth adapter:
cd ~/work/codes/AI/lobe-chat
pnpm add @auth/drizzle-adapter
  1. 配置 NextAuth:

在 .env 中添加:

# NextAuth 配置
NEXTAUTH_SECRET=iH3sVoHNBBVacCwVijDWk3MSx5E5VZvGua0xy3XGJ2g=
NEXT_AUTH_SECRET=iH3sVoHNBBVacCwVijDWk3MSx5E5VZvGua0xy3XGJ2g=
NEXTAUTH_URL=http://localhost:3010

# 启用 NextAuth
NEXT_PUBLIC_ENABLE_NEXT_AUTH=1

# 添加一个简单的密码认证
# (这需要额外的代码配置)
  1. 创建初始用户:
psql -d lingjingwanxiang << 'SQL'
INSERT INTO users (id, username, email, is_onboarded)
VALUES ('admin', 'admin', 'admin@local.com', true)
ON CONFLICT (id) DO UPDATE
SET username = EXCLUDED.username;
SQL

选项 B: 禁用 tRPC 认证中间件(仅开发环境)

警告: 这会完全禁用认证,仅适合本地开发!

  1. 临时修改认证中间件:

编辑 src/libs/trpc/middleware/userAuth.ts

export const userAuth = trpc.middleware(async (opts) => {
  const { ctx } = opts;

  // 开发模式下跳过认证
  if (process.env.NODE_ENV === 'development') {
    return opts.next({
      ctx: { userId: 'default-user' },
    });
  }

  // ... 其余代码保持不变
});
  1. 重启服务器:
cd ~/work/codes/AI/lobe-chat
bun run dev

🚀 推荐流程

第一步:快速测试(方案 1)

  1. 使用客户端模式快速测试界面和 Ollama 模型
  2. 确认一切正常工作

第二步:启用完整功能(方案 2)

  1. 如果需要知识库功能,配置认证
  2. 切换到服务器端数据库模式

📝 当前配置文件状态

.env 文件内容:

# Ollama 配置
OLLAMA_PROXY_URL=http://127.0.0.1:11434
ENABLED_OLLAMA=1

# PostgreSQL 数据库
DATABASE_URL=postgresql://brunogao@localhost:5432/lingjingwanxiang
DATABASE_DRIVER=node
KEY_VAULTS_SECRET=ViDaP5K/rQX0fBY5ggsqupHN4GkQYU95OKO0gieQNkg=

# NextAuth
NEXTAUTH_SECRET=iH3sVoHNBBVacCwVijDWk3MSx5E5VZvGua0xy3XGJ2g=
NEXT_AUTH_SECRET=iH3sVoHNBBVacCwVijDWk3MSx5E5VZvGua0xy3XGJ2g=
NEXTAUTH_URL=http://localhost:3010
NEXT_PUBLIC_ENABLE_NEXT_AUTH=0

# 开发环境
NODE_ENV=development

🔧 快速命令

查看服务器日志

# 如果服务器在后台运行
# 重新启动在前台查看日志
cd ~/work/codes/AI/lobe-chat
bun run dev

检查端口占用

lsof -ti:3010

测试 Ollama

curl http://127.0.0.1:11434/api/tags
ollama list | grep qwen3

测试数据库

psql -d lingjingwanxiang -c "SELECT COUNT(*) FROM users;"

📞 需要帮助?

如果遇到问题,请提供以下信息:

  1. 服务器控制台输出
  2. 浏览器控制台错误(F12 → Console)
  3. 使用的配置方案(方案 1 或方案 2)

最后更新: 2025-11-25 状态: 等待配置认证或切换到客户端模式