# Changelog — Phase 2 汇总表修复队列(第二批) **日期**: 2026-05-22 ## 修复项 | ID | 问题 | 修复 | |----|------|------| | F2f-04 | 压测脚本硬编码 API Key | `quick_load.py` / `load_test.py` 改读 `NEXUS_API_KEY`、`NEXUS_TEST_BASE` 环境变量 | | F2e-01 | `servers.html` category 未 esc | `${esc(s.category\|\|'--')}` | | F2e-02 | `settings.html` saveSetting onclick 注入 | `data-setting-key` + `escAttr` + 事件委托 | | F2e-07 | `scripts.html` category 未 esc | `${esc(s.category\|\|'ops')}` | | F2f-02 | Agent 空 API_KEY 不鉴权 | 启动时无 key 则 `sys.exit(1)`;`verify_api_key` 始终校验 | | F2f-03 | Agent 默认 0.0.0.0 | 默认 `127.0.0.1`(`agent.py`、`config.example.json`、`install.sh`) | | F2a-12 | 生成 agent key 暴露面 | API 增加 `display_once`/`message`;列表仍掩码;编辑表单不填掩码值,生成后剪贴板+待保存 | ## 未在本批处理(仍 OPEN) - F2f-01:子机 `/exec` subprocess_shell(设计面,需文档/网络隔离) - F2a-05/18、F2e-03/04:WS URL 带 token - F2a-10/F2d-02:全局 JWT 中间件 - F2e-05/06:localStorage JWT、CDN SRI ## 运维提醒 1. **轮换 API Key**:旧密钥曾出现在 git 历史的压测脚本中,请在生产 `.env` / settings 表轮换 `API_KEY`。 2. 压测:`NEXUS_API_KEY=xxx python tests/load_test.py --concurrency 50 --duration 30` 3. 已有 Agent 若需中心机访问:在 `config.json` 将 `server.host` 改为 `0.0.0.0` 并配合防火墙。 ## 涉及文件 - `tests/quick_load.py`, `tests/load_test.py` - `web/app/servers.html`, `settings.html`, `scripts.html` - `web/agent/agent.py`, `config.example.json`, `install.sh` - `server/api/servers.py`