Commit Graph

16 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 555247a913 fix: Persona Studio chat proxy, bulletin push retry, daily agent workflow
1. Fix API Key mode chat: route through backend proxy to avoid CORS
2. Fix bulletin update workflow: add git pull --rebase retry on push failure
3. Add daily inspection Agent workflow and script

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 13:56:03 +00:00
copilot-swe-agent[bot] 523e4281fc refactor: address code review feedback - fix normalizeApiBase regex, improve error code propagation
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:53:19 +00:00
copilot-swe-agent[bot] 3eaf3b2c83 fix: Persona Studio API detection - switch from backend proxy to client-side direct calls
- Frontend index.html: Replace backend proxy model detection with direct browser fetch to user's API /models endpoint, add KNOWN_ENDPOINTS auto-probing, AbortController timeout
- Frontend chat.js: Replace backend proxy chat with direct browser fetch to user's API /chat/completions with streaming support
- Backend apikey.js: Add URL format validation (INVALID_API_BASE) and specific error codes (DNS_ERROR, NETWORK_ERROR, TIMEOUT)
- Backend server.js: Add /api/health endpoint for smoke test compatibility

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:51:34 +00:00
copilot-swe-agent[bot] 2482567ac2 Address code review: fix SSRF protection, cache key safety, error handling
- Add protocol validation (http/https only) to prevent SSRF via file:/ftp: URLs
- Hash both apiBase+apiKey together in cache key to prevent collision attacks
- Simplify frontend error detection (use TypeError instanceof instead of fragile string check)
- Make smoke test error code assertion more precise with regex

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:31:56 +00:00
copilot-swe-agent[bot] e36bc19cfb Fix: Add user API key endpoints to api-proxy.js, unify Persona Studio backend with docs proxy
Root cause: Persona Studio frontend sent requests to /api/ps/apikey/detect-models
but api-proxy.js (port 3721, the only backend Nginx routes to) didn't handle those paths.
The separate persona-studio backend (port 3002) was never deployed via ecosystem.config.js or Nginx.

Fix: Add detect-models and chat handlers directly to api-proxy.js so they work through
the same Nginx → API Proxy chain that the docs main site already uses successfully.
Also update frontend to point to port 3721 for local dev, and improve error messages.

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:25:36 +00:00
copilot-swe-agent[bot] 62ec0fcfae fix: address code review - const/let scoping, header injection guard, error messages
- Use const/let instead of var for block-scoped variables in frontend
- Add header injection validation for API Key (reject newline chars)
- Include original error message in fetchModels error callback
- Use more reliable hostname for unreachable API base test

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:08:37 +00:00
copilot-swe-agent[bot] a32c737073 feat: upgrade Persona Studio login to support API Key auto-detect model mode
- Add backend route POST /api/ps/apikey/detect-models for model auto-detection with 1-hour caching
- Add backend route POST /api/ps/apikey/chat for proxying chat through user's own API credentials
- Update login page with API Key login section (API Base URL + API Key + model detection + model list)
- Update chat.js to support API Key mode with dynamic model usage (selected_model)
- Update styles for API Key login UI (detect status, model list, etc.)
- Add smoke tests for new endpoints and dev_id login backward compatibility
- Security: API Key stored only in sessionStorage, never persisted on backend

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 12:06:23 +00:00
copilot-swe-agent[bot] 3ee4494e09 feat: establish Persona Studio human developer numbering system v1.0
- Create human-registry.json master database (EXP-000 through EXP-011)
- Migrate 冰朔 to EXP-000 as master control reserved number
- Import 11 collaborators from dev-status.json into EXP numbering
- Create notification outbox with queued notifications
- Update registry.json to v2.0 with all developers
- Update auth.js to read from human-registry.json
- Add HLI registry lookup route (HLI-REGISTRY-001)
- Update frontend: guest mode disabled, numbering hints updated

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 11:02:52 +00:00
copilot-swe-agent[bot] 6f10bee2d7 fix: Persona Studio entry button not navigating - use HTML links and add redirect index.html
Root cause:
1. README.md used Markdown link syntax inside HTML table block which may not render as clickable
2. persona-studio/index.html was missing, causing the target URL to 404

Fix:
- Replace Markdown link with HTML <a><img> badge button + plain text <a> fallback link
- Create persona-studio/index.html that redirects to persona-studio/frontend/index.html
- Add plain text link to persona-studio/README.md

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 10:41:13 +00:00
copilot-swe-agent[bot] f970188776 fix: make Persona Studio accessible via GitHub Pages and update broken links
- Copy persona-studio frontend to docs/persona-studio/ for GitHub Pages deployment
- Update API base URL to point to guanghulab.com production server
- Update all README links from broken guanghulab.com/persona-studio/ to GitHub Pages URL
- Update deploy-pages.yml to trigger on persona-studio/frontend changes and sync files
- Update persona-studio/README.md link to point to guanghulab repo Pages

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 07:50:53 +00:00
copilot-swe-agent[bot] 1723ae7906 修复 workflow 环境变量命名 · 改进错误信息
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 07:22:33 +00:00
copilot-swe-agent[bot] ce30f59f5c 修复 Persona Studio 聊天交互 · 添加访客体验模式 · 恢复核心大脑 · 创建跨仓库同步
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 07:18:47 +00:00
copilot-swe-agent[bot] 6b5174a901 Initial plan for Persona Studio fix and cross-repo brain sync
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 07:13:03 +00:00
copilot-swe-agent[bot] 5bc0fba34c fix: upgrade nodemailer to 7.0.13 to fix DoS and domain validation vulnerabilities
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 05:19:13 +00:00
copilot-swe-agent[bot] 39a688ed03 feat: persona-studio 后端服务 + 智能模型路由 + 部署集成
- backend/server.js (Express on port 3002)
- routes: auth, chat, build, notify
- brain: memory-manager, persona-engine, code-generator, model-router
- model-config.json (routing strategy)
- utils: github-api, email-sender
- deploy workflow: PM2 + Nginx proxy for /api/ps/
- GitHub Actions: ps-on-login/chat/build/complete workflows
- Frontend API paths updated to /api/ps/ prefix

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 05:15:56 +00:00
copilot-swe-agent[bot] 255b437e38 feat: add persona-studio Phase 1 skeleton + Phase 2 frontend
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-10 04:42:57 +00:00