模块 3 · 本地调试

npm run dev、Vite proxy
与 401 排障

前端 dev 服务器跑在 5173,API 在 8000。 Vite proxy 帮你转发——没起后端或头带错,Network 面板一眼 401。

启动顺序

1
后端 · 应用入口(main.py):uvicorn app.main:app --reload --port 8000(Core 模拟库 + Redis 6380 按需)
2
前端:cd web && npm run dev → 打开 http://localhost:5173
3
登录:点 Demo 账号 → 看 localStorage 里 token → 再点各角色菜单
vite.config.ts
server: {
  port: 5173,
  proxy: {
    '/api': {
      target: 'http://127.0.0.1:8000',
      changeOrigin: true,
    },
  },
},
白话

浏览器请求 localhost:5173/api/... 时,Vite 偷偷转给 8000 端口。

前端代码里写相对路径 /api 即可,不用硬编码 :8000。

生产构建没有 proxy,要 Nginx 或同域部署反代。

常见 401 速查

AUTH_401_MISSING_BEARER

没登录或 token 过期 → 重新点 Demo 登录;改过后端角色也要重登拿新 JWT。

AUTH_401_MISSING_AGENT_TYPE

走了 /api/chat 但没带 X-Agent-Type → 查 ChatPanel 的 agentType 和 chat.ts headers。

AUTH_403_AGENT_MISMATCH

JWT 角色和 X-Agent-Type 不配,如客户 token 却带 advisor → 换账号或改 prop。

连不上 API

8000 没起或 proxy 失效 → curl http://127.0.0.1:8000/health 先确认后端活着。

客户持仓页 401,响应 AUTH_401_MISSING_AGENT_TYPE,最可能原因是?

npm run dev 时,/api/chat 实际打到哪?