Description
feat: Add global HTTP Proxy configuration in Advanced Settings
Description:
1. Is your feature request related to a problem? Please describe.
Yes. Users operating behind strict corporate networks, firewalls, or regional restrictions need to route their network traffic through a proxy to reach external LLM endpoints (Anthropic, OpenAI, etc.).
Currently, attempting to set proxy environment variables externally (for example, using $env:HTTP_PROXY or $env:HTTPS_PROXY in Windows PowerShell) before launching the application does not work reliably. Because of Electron's multi-process architecture, the environment variables do not automatically propagate or apply correctly to both the Chromium rendering context and the Node.js/AI SDK runtime lifecycle, depending on how the application is launched.
2. Describe the solution you'd like
I would like to have a dedicated, native HTTP Proxy input field inside the application's user interface, specifically under the Settings → Advanced tab.
This setting should:
- Allow users to input a custom proxy URL (e.g.,
http://127.0.0.1:7890).
- Persist the value securely in the application preferences (
preferences.json).
- Dynamically apply the proxy rules at startup and on-the-fly when updated, ensuring both Electron's Chromium network layer and Node's background environment variables are configured.
3. Describe alternatives you've considered
- Setting system-wide environment variables (impacts other applications unnecessarily and doesn't always guarantee Electron catches them on Windows).
- Forcing the application to be launched exclusively via a configured terminal session (prone to user error and a poor user experience).
4. Additional context / Proposed Implementation Idea
I've looked into the codebase and we could implement this cleanly by:
- Extending the
Preferences schema in apps/desktop/src/main/preferences-ipc.ts to include a proxyUrl: string field.
- Reading and applying this value in
apps/desktop/src/main/index.ts during application boot using Electron's session.defaultSession.setProxy({ proxyRules }) along with mapping it to process.env.HTTP_PROXY / process.env.HTTPS_PROXY so that Node-level AI SDK requests obey the rule.
- Adding a text input inside
AdvancedTab.tsx linked to the IPC preferences store.
I would be happy to work on a Pull Request for this feature if the maintainers agree with this approach!
Steps to reproduce
Steps to reproduce
1 - Configure a strict corporate proxy environment on the host machine (e.g., via local proxy tools or corporate gateway).
2 - Launch the Open CoDesign application.
3 - Attempt to configure and test a connection to an AI provider endpoint (such as OpenAI or Anthropic).
4- Observe that the network request fails or times out because the application does not route its traffic through the proxy.
Expected behavior
The application should respect the proxy environment configurations (or offer a native UI setting) and successfully route outbound LLM API requests through the proxy to establish a successful connection.
Actual behavior
请求超时(>10s),检查 baseUrl 与网络可达性
open-codesign version
0.2.0
Platform
Windows
OS version
Windows 11 (10.0.26100)
Model provider (if relevant)
None
Error code
CONNECTION_TEST_FAILED
Diagnostics bundle
Bundle saved locally at ~\Downloads\open-codesign-diagnostics-2026-05-20T13-55-05.zip. Attach it to this issue after submitting.
Logs
updatedFiles: 0
}
[2026-05-20 09:32:51.183] [info] [boot] open-codesign starting {
version: '0.2.0',
platform: 'win32',
electron: '39.8.9',
node: '22.22.1'
}
[2026-05-20 09:32:52.305] [info] (main:boot) templates.ensure {
action: 'skipped',
source: '[path omitted]',
dest: '[path omitted]',
copiedFiles: 0,
updatedFiles: 0
}
[2026-05-20 09:33:05.897] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {}
[2026-05-20 09:33:30.968] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {}
[2026-05-20 09:33:32.262] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {}
[2026-05-20 10:42:12.331] [info] [boot] open-codesign starting {
version: '0.2.0',
platform: 'win32',
electron: '39.8.9',
node: '22.22.1'
}
[2026-05-20 15:52:06.655] [info] [boot] open-codesign starting {
version: '0.2.0',
platform: 'win32',
electron: '39.8.9',
node: '22.22.1'
}
[2026-05-20 15:52:07.620] [info] (main:boot) templates.ensure {
action: 'skipped',
source: '[path omitted]',
dest: '[path omitted]',
copiedFiles: 0,
updatedFiles: 0
}
[2026-05-20 15:53:49.224] [info] [boot] open-codesign starting {
version: '0.2.0',
platform: 'win32',
electron: '39.8.9',
node: '22.22.1'
}
[2026-05-20 15:53:49.401] [info] (main:boot) templates.ensure {
action: 'skipped',
source: '[path omitted]',
dest: '[path omitted]',
copiedFiles: 0,
updatedFiles: 0
}
Description
feat: Add global HTTP Proxy configuration in Advanced Settings
Description:
1. Is your feature request related to a problem? Please describe.
Yes. Users operating behind strict corporate networks, firewalls, or regional restrictions need to route their network traffic through a proxy to reach external LLM endpoints (Anthropic, OpenAI, etc.).
Currently, attempting to set proxy environment variables externally (for example, using
$env:HTTP_PROXYor$env:HTTPS_PROXYin Windows PowerShell) before launching the application does not work reliably. Because of Electron's multi-process architecture, the environment variables do not automatically propagate or apply correctly to both the Chromium rendering context and the Node.js/AI SDK runtime lifecycle, depending on how the application is launched.2. Describe the solution you'd like
I would like to have a dedicated, native HTTP Proxy input field inside the application's user interface, specifically under the Settings → Advanced tab.
This setting should:
http://127.0.0.1:7890).preferences.json).3. Describe alternatives you've considered
4. Additional context / Proposed Implementation Idea
I've looked into the codebase and we could implement this cleanly by:
Preferencesschema inapps/desktop/src/main/preferences-ipc.tsto include aproxyUrl: stringfield.apps/desktop/src/main/index.tsduring application boot using Electron'ssession.defaultSession.setProxy({ proxyRules })along with mapping it toprocess.env.HTTP_PROXY/process.env.HTTPS_PROXYso that Node-level AI SDK requests obey the rule.AdvancedTab.tsxlinked to the IPC preferences store.I would be happy to work on a Pull Request for this feature if the maintainers agree with this approach!
Steps to reproduce
Steps to reproduce
1 - Configure a strict corporate proxy environment on the host machine (e.g., via local proxy tools or corporate gateway).
2 - Launch the Open CoDesign application.
3 - Attempt to configure and test a connection to an AI provider endpoint (such as OpenAI or Anthropic).
4- Observe that the network request fails or times out because the application does not route its traffic through the proxy.
Expected behavior
The application should respect the proxy environment configurations (or offer a native UI setting) and successfully route outbound LLM API requests through the proxy to establish a successful connection.
Actual behavior
请求超时(>10s),检查 baseUrl 与网络可达性
open-codesign version
0.2.0
Platform
Windows
OS version
Windows 11 (10.0.26100)
Model provider (if relevant)
None
Error code
CONNECTION_TEST_FAILED
Diagnostics bundle
Bundle saved locally at ~\Downloads\open-codesign-diagnostics-2026-05-20T13-55-05.zip. Attach it to this issue after submitting.
Logs
updatedFiles: 0 } [2026-05-20 09:32:51.183] [info] [boot] open-codesign starting { version: '0.2.0', platform: 'win32', electron: '39.8.9', node: '22.22.1' } [2026-05-20 09:32:52.305] [info] (main:boot) templates.ensure { action: 'skipped', source: '[path omitted]', dest: '[path omitted]', copiedFiles: 0, updatedFiles: 0 } [2026-05-20 09:33:05.897] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {} [2026-05-20 09:33:30.968] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {} [2026-05-20 09:33:32.262] [warn] (renderer:console) [i18n] missing translation key "settings.providers.custom.allowPrivateNetwork" in namespace "translation" for locale "en" {} [2026-05-20 10:42:12.331] [info] [boot] open-codesign starting { version: '0.2.0', platform: 'win32', electron: '39.8.9', node: '22.22.1' } [2026-05-20 15:52:06.655] [info] [boot] open-codesign starting { version: '0.2.0', platform: 'win32', electron: '39.8.9', node: '22.22.1' } [2026-05-20 15:52:07.620] [info] (main:boot) templates.ensure { action: 'skipped', source: '[path omitted]', dest: '[path omitted]', copiedFiles: 0, updatedFiles: 0 } [2026-05-20 15:53:49.224] [info] [boot] open-codesign starting { version: '0.2.0', platform: 'win32', electron: '39.8.9', node: '22.22.1' } [2026-05-20 15:53:49.401] [info] (main:boot) templates.ensure { action: 'skipped', source: '[path omitted]', dest: '[path omitted]', copiedFiles: 0, updatedFiles: 0 }