diff options
| author | warjiang <[email protected]> | 2025-07-18 02:57:37 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-17 18:57:37 +0000 |
| commit | 606a7702de6659b9a46bcb9c2cbca84a1a33945d (patch) | |
| tree | fe3ce39ac984876ac249e48aa9f697237a924a9f /packages/core/src/tools | |
| parent | 4ca471bac63cf5f779240ca75d8efa8f9210b554 (diff) | |
feat(cli): add explicit proxy option in cli (#2526)
Co-authored-by: Dcatfly <[email protected]>
Diffstat (limited to 'packages/core/src/tools')
| -rw-r--r-- | packages/core/src/tools/web-fetch.test.ts | 1 | ||||
| -rw-r--r-- | packages/core/src/tools/web-fetch.ts | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/packages/core/src/tools/web-fetch.test.ts b/packages/core/src/tools/web-fetch.test.ts index f4e3a652..6be9d504 100644 --- a/packages/core/src/tools/web-fetch.test.ts +++ b/packages/core/src/tools/web-fetch.test.ts @@ -13,6 +13,7 @@ describe('WebFetchTool', () => { const mockConfig = { getApprovalMode: vi.fn(), setApprovalMode: vi.fn(), + getProxy: vi.fn(), } as unknown as Config; describe('shouldConfirmExecute', () => { diff --git a/packages/core/src/tools/web-fetch.ts b/packages/core/src/tools/web-fetch.ts index 0f5be969..ee06880e 100644 --- a/packages/core/src/tools/web-fetch.ts +++ b/packages/core/src/tools/web-fetch.ts @@ -17,6 +17,7 @@ import { Config, ApprovalMode } from '../config/config.js'; import { getResponseText } from '../utils/generateContentResponseUtilities.js'; import { fetchWithTimeout, isPrivateIp } from '../utils/fetch.js'; import { convert } from 'html-to-text'; +import { ProxyAgent, setGlobalDispatcher } from 'undici'; const URL_FETCH_TIMEOUT_MS = 10000; const MAX_CONTENT_LENGTH = 100000; @@ -81,6 +82,10 @@ export class WebFetchTool extends BaseTool<WebFetchToolParams, ToolResult> { type: Type.OBJECT, }, ); + const proxy = config.getProxy(); + if (proxy) { + setGlobalDispatcher(new ProxyAgent(proxy as string)); + } } private async executeFallback( |
