feat(server,web,desktop): admin "use system HTTP proxy" switch (#225)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,7 @@ interface EnvironmentConfig {
|
||||
sessionScratchpadDir?: string; // this Session's scratchpad (scratchpad/<sessionId>); enables truncated-output recovery
|
||||
services?: EnvironmentServices; // runtime services injected into individual tools
|
||||
vault?: Record<string, string>; // Vault env vars, injected into exec_command / input_command subprocesses
|
||||
stripProxyEnv?: () => boolean; // true = strip HTTP(S)_PROXY/ALL_PROXY (NO_PROXY kept) from command subprocesses; re-read per spawn, absent = proxy allowed
|
||||
}
|
||||
|
||||
interface EnvironmentServices {
|
||||
|
||||
@@ -127,6 +127,7 @@ interface EnvironmentConfig {
|
||||
sessionScratchpadDir?: string; // 本 Session 的 scratchpad(scratchpad/<sessionId>),提供后启用截断输出恢复
|
||||
services?: EnvironmentServices; // 注入给个别工具的运行时服务
|
||||
vault?: Record<string, string>; // Vault 环境变量,注入 exec_command / input_command 子进程
|
||||
stripProxyEnv?: () => boolean; // 返回 true 时从命令子进程剥除 HTTP(S)_PROXY/ALL_PROXY(保留 NO_PROXY);每次 spawn 重读,缺省即允许代理
|
||||
}
|
||||
|
||||
interface EnvironmentServices {
|
||||
|
||||
@@ -67,6 +67,15 @@ curl -c cookies.txt -H "Content-Type: application/json" \
|
||||
| POST | /api/admin/users/:userId/password | Reset a password (invalidates all of that user's login sessions) |
|
||||
| DELETE | /api/admin/users/:userId | Delete a user |
|
||||
|
||||
### Server Settings (admin only)
|
||||
|
||||
| Method | Path | Description |
|
||||
| --- | --- | --- |
|
||||
| GET | /api/admin/settings | Server-global settings: `{settings: {useSystemProxy}}` |
|
||||
| PUT | /api/admin/settings | Update settings (fields optional; omitted fields keep their current value), returns the full updated settings |
|
||||
|
||||
`useSystemProxy` is the "use system HTTP proxy" switch (default on): while on, the server and its child processes honor HTTP_PROXY / HTTPS_PROXY / NO_PROXY (both spellings) for outbound traffic; while off, the server always connects directly and the proxy variables are stripped from agent command subprocess environments (NO_PROXY is kept). In either state the effective NO_PROXY always includes `localhost,127.0.0.1,::1` (loopback is never proxied). Toggling takes effect for newly initiated connections immediately — no restart.
|
||||
|
||||
### Version and Self-Update
|
||||
|
||||
| Method | Path | Description |
|
||||
|
||||
@@ -67,6 +67,15 @@ curl -c cookies.txt -H "Content-Type: application/json" \
|
||||
| POST | /api/admin/users/:userId/password | 重置密码(该用户全部登录会话失效) |
|
||||
| DELETE | /api/admin/users/:userId | 删除用户 |
|
||||
|
||||
### 服务端设置(仅管理员)
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| GET | /api/admin/settings | 服务端全局设置:`{settings: {useSystemProxy}}` |
|
||||
| PUT | /api/admin/settings | 更新设置(字段可省略,省略即保持现值),返回更新后的完整设置 |
|
||||
|
||||
`useSystemProxy` 即「使用系统 HTTP 代理」开关(默认开):开时服务端及其子进程出网遵循 HTTP_PROXY / HTTPS_PROXY / NO_PROXY(大小写并存);关时服务端一律直连,并从 Agent 命令子进程环境中剥除代理变量(NO_PROXY 保留)。任一状态下生效的 NO_PROXY 恒包含 `localhost,127.0.0.1,::1`(回环不代理)。切换即时生效(对新发起的连接),无需重启。
|
||||
|
||||
### 版本与在线更新
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
|
||||
Reference in New Issue
Block a user