Commit graph

2055 commits

Author SHA1 Message Date
Wendong-Fan
e82e3fb5c0 fix 2026-02-12 18:48:18 +08:00
Wendong-Fan
a45d53b0ba minor update 2026-02-12 18:14:23 +08:00
Wendong-Fan
f5e670c743
Merge branch 'main' into feat/codex-oauth 2026-02-11 18:48:15 +00:00
Wendong-Fan
50182e99c1
chore: add plotly as init env for terminal agent (#1231)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
2026-02-12 02:17:52 +08:00
Wendong-Fan
6d9a381d27
chore: update camel version to 0287 (#1230) 2026-02-12 02:04:12 +08:00
Wendong-Fan
5c5b0cfba4
revert PR1125 (#1225) 2026-02-11 23:45:23 +08:00
BitToby
53d88308df
fix: enable proxy support to resolve (#1125)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: a7m-1st <Ahmed.jimi.awelkeir500@gmail.com>
Co-authored-by: Ahmed Awelkair A <108264625+a7m-1st@users.noreply.github.com>
2026-02-11 14:04:17 +03:00
Tong Chen
ad44e59485
Fix add llvmlite to mac intel (#1205)
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-11 17:56:57 +08:00
Wendong-Fan
c6adcdec41
chore: bump up camel version to 0.2.86 (#1222) 2026-02-11 16:01:16 +08:00
Tao Sun
bef9aee553
chore: fix mcp is called synchronously. (#1101)
Co-authored-by: a7m-1st <Ahmed.jimi.awelkeir500@gmail.com>
2026-02-11 13:29:49 +08:00
Dream
0a5e0231d4
fix: make logos visible in dark mode (#1197)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: Guohao Li <lightaime@gmail.com>
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
2026-02-10 19:11:05 +08:00
eureka928
b8951609a2 refactor: move Codex OAuth endpoints from tool_controller to codex_controller
Codex OAuth is an authentication method for the OpenAI provider, not a
standalone MCP tool. Move all Codex endpoints to a dedicated controller
with semantically correct paths (/codex/connect, /codex/disconnect) and
update the frontend to use the new routes.
2026-02-10 10:57:19 +01:00
eureka928
d09ccba151 refactor: move Codex OAuth manager out of agent/toolkit to utils
Codex OAuth is a provider credential manager, not an agent toolkit.
Move it to app/utils/codex_oauth.py alongside oauth_state_manager.py.
2026-02-10 10:44:38 +01:00
eureka928
1fc69bbeb5 fix: remove unused Optional import to pass ruff lint 2026-02-10 10:44:38 +01:00
eureka928
c245fb80d2 feat: add Codex OAuth connect to Model/Provider settings page
Add a "Connect via Codex" button to the OpenAI BYOK provider panel in
the Models settings page. The OAuth PKCE flow obtains an OpenAI API key
and saves it as a provider, with a marker config for state detection.

- Add handleCodexOAuth, saveCodexAsProvider, handleCodexDisconnect
- Extract refreshProviderForm helper to deduplicate provider list sync
- Show "or" divider between Codex OAuth and manual API key entry
- Disconnect properly revokes token, removes marker, and resets provider
- Add i18n keys for connect/disconnect/status UI text
2026-02-10 10:44:38 +01:00
eureka928
2884909336 refactor: remove Codex OAuth flow from MCP and ToolSelect pages
Remove the entire Codex onInstall handler, saveCodexAsProvider, and
saveCodexMarkerConfig helpers from MCP.tsx and ToolSelect.tsx. Extract
OAuth polling constants (OAUTH_POLL_INTERVAL_MS, OAUTH_POLL_TIMEOUT_MS)
to replace inline magic numbers in the remaining Google Calendar flow.
Add TODO for status string enum extraction.
2026-02-10 10:44:38 +01:00
eureka928
bf4d5250be refactor: remove Codex from MCP config registry and integration hooks
Codex OAuth is a model-provider integration, not a toolkit. Remove it
from ConfigInfo.configs so it no longer appears in the /api/config/info
response that drives the MCP & Tools UI. Also remove Codex-specific
install detection and uninstall handling from useIntegrationManagement
and IntegrationList.
2026-02-10 10:44:38 +01:00
eureka928
be38ca5a1d fix: add missing blank line to pass ruff lint 2026-02-10 10:44:38 +01:00
eureka928
009e8e27ef fix: address Codex OAuth review feedback
- Save CODEX_OAUTH_TOKEN marker config after OAuth to track install state
- Check marker config instead of OPENAI_API_KEY for install detection
- Avoid mutating input dict in CodexOAuthManager.save_token()
- Add CODEX_OAUTH_TOKEN to Codex env_vars whitelist in server config
- Prioritize named integration descriptions over env_vars fallback
2026-02-10 10:44:38 +01:00
eureka928
2601f197ed refactor: save Codex OAuth token as OpenAI provider instead of toolkit config
Address review feedback: Codex OAuth obtains an OpenAI API key for model
access, not agent tools. After successful OAuth, the key is now saved via
the Provider API (/api/provider) so it integrates with the model provider
configuration system.

Changes:
- Backend: return access_token in Codex install response for provider storage
- Frontend: replace /api/configs storage with /api/provider for Codex
- Server: mark CODEX ConfigInfo entry as type=provider with empty env_vars
- i18n: add missing codex translation keys, remove verbose t() fallback pattern
- Fix stray merge conflict marker in ToolSelect.tsx
- Remove debug console.log statements from MCP.tsx
2026-02-10 10:44:38 +01:00
eureka928
2699f6e719 feat: add OAuth state parameter for CSRF protection 2026-02-10 10:44:38 +01:00
eureka928
1497f1adf4 test: add unit tests for codex_toolkit.py 2026-02-10 10:44:38 +01:00
eureka928
aa29c41f3b refactor: move imports to top of codex_toolkit.py 2026-02-10 10:44:38 +01:00
eureka928
2fa8833391 feat: encrypt OAuth tokens using machine-derived key
- Add Fernet encryption for token storage using cryptography library
- Derive encryption key from machine-specific identifiers (username,
  hostname, machine-id) using PBKDF2HMAC with 100k iterations
- Set restrictive file permissions (0600) on encrypted token file
- Tokens tied to specific machine for additional security
2026-02-10 10:44:38 +01:00
eureka928
54ba1a6602 style: apply ruff formatting fixes 2026-02-10 10:44:38 +01:00
eureka928
ba140fe7bb refactor: address PR #1129 review comments
- Extract Codex config constants (CODEX_CONFIG_GROUP, CODEX_CONFIG_NAME,
  CODEX_POLL_TIMEOUT_MS) in ToolSelect.tsx
- Extract CODEX_TOKEN_PATH constant and clarify CODEX_CLIENT_ID is a
  fixed public value in codex_toolkit.py
- Simplify expires_in/expires_at: compute absolute expiry from relative
  value and only persist expires_at
- Add FileLock around token file reads/writes to prevent parallel
  update races
- Add TODO for response status string improvement and refactor of
  shared OAuth install logic
- Apply formatting suggestion on codex uninstall message
2026-02-10 10:44:38 +01:00
Dream
cd0544da5c Update backend/app/controller/tool_controller.py
Co-authored-by: bytecii <994513625@qq.com>
2026-02-10 10:44:38 +01:00
eureka928
87339a4c9f fix: replace undefined Optional with int | None in CodexTokenRequest 2026-02-10 10:44:38 +01:00
eureka928
88d2f15936 style: fix pre-commit lint errors (E501, yapf formatting)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 10:44:38 +01:00
eureka928
79ef592962 feat: add Codex OAuth install flow in Settings and AddWorker
Add Codex onInstall handler with OAuth status polling in MCP.tsx
settings page and ToolSelect.tsx AddWorker flow, following the
existing Google Calendar authorization pattern.
2026-02-10 10:44:38 +01:00
eureka928
145b6a3d67 feat: add Codex installed detection, uninstall, and install handling
Add Codex config check in useIntegrationManagement for installed state
and uninstall cleanup. Add Codex case in IntegrationList handleInstall
to trigger onInstall directly without env dialog.
2026-02-10 10:44:38 +01:00
eureka928
2d4c4bbe44 feat: add Codex config group and OPENAI_API_KEY env var mapping
Add CODEX enum to ConfigGroup and corresponding entry in
ConfigInfo.configs with OPENAI_API_KEY env var and codex_oauth toolkit.
2026-02-10 10:44:38 +01:00
eureka928
c2739961a6 feat: add Codex install/uninstall/save-token/status endpoints
Add codex handling to install_tool and uninstall_tool endpoints.
Add POST /codex/save-token for manual API key fallback and
GET /codex/status for token status. Add Codex to available tools list.
2026-02-10 10:44:38 +01:00
eureka928
7650a8997a feat: add CodexOAuthManager for OpenAI Codex PKCE OAuth flow
Implements Authorization Code + PKCE flow using Codex CLI's public
client_id. Handles background OAuth via localhost callback server,
token persistence at ~/.eigent/tokens/codex/, and refresh logic.
2026-02-10 10:44:38 +01:00
BitToby
705e12f30d
chore: remove unused mcpLocal code in chatStore (#1194)
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-10 17:16:31 +08:00
Clayton
12a09f5278
fix(history): prevent settings content from overlapping tab bar on sc… (#1186)
Co-authored-by: Tong Chen <web_chentong@163.com>
2026-02-10 15:07:12 +08:00
Douglas Lai
0e6847dc82
Installation-animation-fix (#1199)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
2026-02-09 21:53:28 +08:00
Parth Sareen
805ed975b3
feat: improve Ollama local model configuration UX (#991)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-09 05:29:25 +08:00
Wendong-Fan
997cb1de54
Revert PR #1169 (#1179)
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Pre-commit / pre-commit (push) Has been cancelled
Test / Run Python Tests (push) Has been cancelled
2026-02-08 02:59:14 +08:00
NeedmeFordev
5146368b91
fix: Resolve tooltip background transparency issue (#1149) (#1174)
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-08 02:37:37 +08:00
Wendong-Fan
08883626cc
chore: remove unstructured (#1177) 2026-02-07 23:46:35 +08:00
Wendong-Fan
a19e1fc878
chore: limit setuptool version to fix build issue (#1176) 2026-02-07 23:31:31 +08:00
Wendong-Fan
3460a59bc2
Fix/fix model key UI nonstopping (#1172)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: bytecraftii <bytecraftii@users.noreply.github.com>
Co-authored-by: bytecraftii <994513625@qq.com>
Co-authored-by: bytecii <bytecii@users.noreply.github.com>
Co-authored-by: Puzhen Zhang <91596298+nitpicker55555@users.noreply.github.com>
2026-02-07 07:39:54 +08:00
Tong Chen
02840f97dd
Fix macOS Intel CI build & improve first-launch UX (#1169)
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-07 07:37:16 +08:00
Dream
ba47db8a84
refactor: move toolkit from utils to agent module (#1045) (#1171)
Co-authored-by: bytecii <994513625@qq.com>
2026-02-06 15:22:21 -08:00
Dream
9a5b183654
fix: persist subtask edits to backend on add/update/delete (#930) (#1164)
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-07 06:19:12 +08:00
Douglas Lai
77112a227d
846 feature request onboarding flow Redesign (#1058)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: 4pmtong <web_chentong@163.com>
2026-02-06 22:03:32 +08:00
Tong Chen
09200a8cf6
fix: use current attachments for follow-up questions instead of first… (#1167)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
2026-02-06 20:48:36 +08:00
Wendong-Fan
941da81d74 Update WeChat QR code via QR Code Updater
🤖 Automated update
2026-02-06 09:23:40 +00:00
Tong Chen
38f5fbc8cc
Fix win 0.0.82 prebuilt issue (#1109)
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Pre-commit / pre-commit (push) Waiting to run
Test / Run Python Tests (push) Waiting to run
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
Co-authored-by: Wendong-Fan <w3ndong.fan@gmail.com>
2026-02-06 07:19:29 +08:00