Commit Graph

54 Commits

Author SHA1 Message Date
paisley
38e8449ea2 fix google oauth 2026-03-08 11:03:34 +08:00
paisley
807df95e92 snapshot 2026-03-07 22:15:37 +08:00
paisley
17cee4e053 refactor provider 1 2026-03-07 20:52:12 +08:00
paisley
3ce4b5d17a fix(linux): single-line description and correct desktop.entry for valid .desktop file (#325) 2026-03-06 16:22:25 +08:00
paisley
0901d9912a Increase chat send RPC timeout to 120s for high-latency networks (#311) 2026-03-05 15:49:36 +08:00
Haze
be800f6cfc fix(channel): Feishu channel gateway wont restart after config (#291)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-03-04 21:45:44 +08:00
Lingxuan Zuo
30b03add1c feat: gate model overrides and load full token history (#271)
Co-authored-by: zuolingxuan <zuolingxuan@bytedance.com>
2026-03-04 11:52:54 +08:00
DigHuang
c49c7f18bd feat(chat): enhance sidebar with session management and deletion (#274) 2026-03-03 19:07:42 +08:00
Lingxuan Zuo
e52916a7ef fallback model/providers (#259)
Co-authored-by: zuolingxuan <zuolingxuan@bytedance.com>
2026-03-03 10:18:52 +08:00
paisley
bc47b455b5 fix(gateway): resolve model switch failure and websocket timeouts during rapid oauth restarts (#266) 2026-03-03 10:18:23 +08:00
Lingxuan Zuo
e40f4b2163 Add built-in proxy settings for Electron and Gateway (#239)
Co-authored-by: zuolingxuan <zuolingxuan@bytedance.com>
2026-03-02 17:33:06 +08:00
Lingxuan Zuo
62108bdc23 Add dashboard token usage history (#240) 2026-03-02 13:20:33 +08:00
Haze
a3462e2de6 fix(cron): corn task channel warn (#237)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-02-28 20:37:55 +08:00
Haze
6859656847 Changes from background agent bc-b072b4af-98b7-4de6-bc1c-8faa623cdb13 (#210)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-02-28 15:37:02 +08:00
Haze
4d948347ea fix(cron): remove cron task channel config (#222)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-02-28 15:14:02 +08:00
paisley
e303841373 feat: bundle dingtalk plugin mirror cross‑platform and fix windows packaging 2026-02-28 15:02:21 +08:00
paisley
dbf88a79be Fix dingding plugin (#221) 2026-02-28 14:42:55 +08:00
paisley
d63810f54b feat(channels): add DingTalk via bundled plugin mirror and pure Node deploy (#215) 2026-02-28 11:36:40 +08:00
Haze
386d4c5454 fix(win): Windows stability improvements (#207) (#208)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-02-27 22:10:35 +08:00
paisley
0fb1a1a78d fix minimax oauth failed and upgrade openclaw to 2.26 (#206) 2026-02-27 19:05:56 +08:00
paisley
f70d5b0c28 feat: add new provider for minimax and qwen portals (#203)
Co-authored-by: Haze <709547807@qq.com>
2026-02-27 14:59:37 +08:00
Haze
87616b4250 fix(model): claw-x header (#198)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-02-26 22:57:59 +08:00
paisley
efe091b301 fix: custom providers overwrite each other in openclaw config (#192) 2026-02-26 18:55:40 +08:00
paisley
7929a43601 fix add model provider (#190) 2026-02-26 18:32:06 +08:00
paisley
7b16b6af14 feat: support OAuth & API key for Qwen/MiniMax providers (#177) 2026-02-26 15:11:37 +08:00
Haze
e8c11887d0 feat(gateway): sync gateway token and update agent models on provider… (#168) 2026-02-25 18:56:04 +08:00
Haze
265b12281c fix(model): custom model choose error (#164) 2026-02-25 16:38:03 +08:00
Haze
f821949829 fix(model): update gemini apikey modify function (#119) 2026-02-20 20:17:30 +08:00
Haze
1759b98443 fix(chat): optimize chat with pic response (#103) 2026-02-19 00:29:10 +08:00
Haze
d108a850ef feat(chat): opt pic show in chat history (#87) 2026-02-14 18:00:57 +08:00
paisley
6c6fa0bb1c fix: resolve gateway token mismatch and openrouter validation (#85) 2026-02-14 12:29:46 +08:00
Haze
cf8091d81f feat(chat): improve media handling and caching for user messages (#81) 2026-02-14 00:21:04 +08:00
Haze
36fb4bffc7 feat(chat): implement file upload support with staging and media handle (#77) 2026-02-13 18:23:47 +08:00
Haze
b1f582e152 feat(ipc-handlers): implement fallback validation for OpenAI API key (#72) 2026-02-13 15:42:21 +08:00
Felix
541a85a5b0 feat: ensure OpenClaw skills directory exists and add a clear button to the marketplace search input (#65) 2026-02-12 16:54:56 +08:00
DigHuang
0ced0b042c refactor(provider): provider API validation & CN defaults (#47) 2026-02-11 13:48:15 +08:00
DigHuang
1b508d5bde feat(provider): mainly support moonshot / siliconflow on setup (#43) 2026-02-11 11:33:33 +08:00
Felix
a0505490cd feat: enhance ClawHub integration with new CLI paths and IPC handlers for config and skills directories (#41) 2026-02-11 11:32:03 +08:00
paisley
29d0db706f fix(whatsapp): wait for creds update and fix config path (#38) 2026-02-10 19:07:44 +08:00
paisley
7a9fd7fc0f feat(channels): implement WhatsApp QR login proxy (#29) 2026-02-10 14:06:53 +08:00
Felix
0cf4ad3a8c feat: add OpenClaw CLI command and install flow (#25)
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
2026-02-10 13:56:29 +08:00
paisley
905b828e9b fix crontab task (#19) 2026-02-09 18:59:21 +08:00
DigHuang
05b5874832 feat(style): refactor layout, remove Header & Improve gateway readiness checks (#12) 2026-02-09 17:00:27 +08:00
Haze
de445ae3d5 Chore/build npm (#9)
Co-authored-by: DigHuang <114602213+DigHuang@users.noreply.github.com>
Co-authored-by: Felix <24791380+vcfgv@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 15:10:08 +08:00
Haze
e6317cafd6 chore(frontend): fix corn task (#3) 2026-02-07 01:28:38 +08:00
Felix
fa6c23b82a feature: channels and skills (#2)
Co-authored-by: paisley <8197966+su8su@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:26:06 +08:00
Haze
9fe27e3510 chore(lint): remove ESLint configuration file and update lint scripts
- Deleted the .eslintrc.cjs file to simplify configuration management.
- Updated lint scripts in package.json to remove unnecessary extensions for linting.
- Added new devDependencies for ESLint and globals to enhance linting capabilities.
2026-02-06 05:50:20 +08:00
Haze
00475ce2b5 fix(auth): configure OpenClaw default model when saving provider
- Add setOpenClawDefaultModel() to write the correct model to
  ~/.openclaw/openclaw.json based on the selected provider
- Maps: openrouter -> openrouter/anthropic/claude-sonnet-4,
  anthropic -> anthropic/claude-sonnet-4, etc.
- Call setOpenClawDefaultModel on provider:save IPC handler
- Fixes "No API key found for provider anthropic" when user
  configured OpenRouter (wrong default model was being used)
2026-02-06 03:26:39 +08:00
Haze
284861a0f5 feat(chat): write API keys to OpenClaw and embed Control UI for chat
Part 1: API Key Integration
- Create electron/utils/openclaw-auth.ts to write keys to
  ~/.openclaw/agents/main/agent/auth-profiles.json
- Update provider:save and provider:setApiKey IPC handlers to
  persist keys to OpenClaw auth-profiles alongside ClawX storage
- Save API key to OpenClaw on successful validation in Setup wizard
- Pass provider API keys as environment variables when starting
  the Gateway process (ANTHROPIC_API_KEY, OPENROUTER_API_KEY, etc.)

Part 2: Embed OpenClaw Control UI for Chat
- Replace custom Chat UI with <webview> embedding the Gateway's
  built-in Control UI at http://127.0.0.1:{port}/?token={token}
- Add gateway:getControlUiUrl IPC handler to provide tokenized URL
- Enable webviewTag in Electron BrowserWindow preferences
- Override X-Frame-Options/CSP headers to allow webview embedding
- Suppress noisy control-ui token_mismatch stderr messages
- Add loading/error states for the embedded webview

This fixes the "No API key found for provider" error and replaces
the buggy custom chat implementation with OpenClaw's battle-tested
Control UI.
2026-02-06 03:12:17 +08:00
Haze
4431d2ba1d feat(providers): implement real API key validation with OpenRouter support
- Replace mock API key validation with actual API calls to verify keys
- Add validateApiKeyWithProvider() with provider-specific implementations
- Support Anthropic, OpenAI, Google, and OpenRouter validation
- Add OpenRouter as a new provider option in setup wizard and settings
- Fix setup page to call real validation instead of mock length check
- Allow validation during setup before provider is saved
- Return user-friendly error messages instead of raw API errors
2026-02-06 01:25:33 +08:00