* fix: use dynamic URLs and support NapCat 4.17+ oneBot context
- Replace hardcoded `http://localhost:40653` with `window.location.origin`
in use-api.ts, use-search.ts so the frontend works behind reverse
proxies without manual URL patching
- Replace hardcoded `ws://localhost:40653` with protocol-aware dynamic
WebSocket URL in use-websocket.ts (supports wss:// via reverse proxy)
- Add `window.location.origin` to the fetch interceptor's API request
detection in auth.ts, so auth tokens are sent for full-URL requests
(not just relative `/api` paths)
- Support NapCat 4.17+ plugin context which passes `oneBot` instead of
`obContext` in the plugin init args (index.mjs)
Tested on Docker NapCat Shell mode behind Nginx Proxy Manager with
HTTPS and WebSocket proxying.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: add Docker NapCat deployment guide and ARM64 setup script
- Add docker-setup.sh: auto-detects architecture and installs the
correct esbuild platform binary (fixes x64 release on ARM64 Docker)
- Add docs/docker-napcat-deployment.md: step-by-step guide for deploying
QCE as a plugin in Docker NapCat Shell mode, including plugins.json
config, volume mounts, ARM64 adaptation, and reverse proxy setup
- Update README.md with Docker deployment section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: TeamBreaker <you@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>