feat(onboard): add missing LLM providers and channels#99
feat(onboard): add missing LLM providers and channels#99thieung wants to merge 1 commit intonextlevelbuilder:mainfrom
Conversation
Add DashScope (Alibaba Cloud Coding Plan) and Bailian (Alibaba Cloud Model Studio) to onboard provider selection, API key handling, and env file generation. Add Discord, Slack, WhatsApp, and Zalo Personal to onboard channel selection with appropriate credential prompts, validation, config application, and secret management. Rename Feishu/Lark to Larksuite in channel options. Bump filterThreshold from 5 to 10 so channels list renders without type-to-filter mode.
viettranx
left a comment
There was a problem hiding this comment.
Review: Request Changes
Critical: PR is unmergeable — stale branch
This PR was branched before 3187196 (refactor(onboard): simplify to DB + keys only, delegate setup to web UI), which removed the full onboard wizard. Current main has a simplified onboard.go (~177 lines, DB+keys only) and delegates provider/channel setup to the web UI.
Files affected:
cmd/onboard.go— completely rewritten on main (old wizard removed)cmd/onboard_resolve.go— deleted on maincmd/onboard_helpers.go— signature changed (onboardWriteEnvFilenow takes(path, dsn, token, key))
Recommended approach: Instead of the full wizard, add new providers/channels to cmd/onboard_managed.go → defaultPlaceholderProviders (same pattern as PR #102 for Z.ai). Channel config is now handled via the web UI.
Bug: DashScope API base URL wrong region
In resolveProviderAPIBase():
case "dashscope":
return "https://dashscope.aliyuncs.com/compatible-mode/v1"Should be https://dashscope-intl.aliyuncs.com/compatible-mode/v1 (with -intl), matching gateway_providers.go and onboard_managed.go.
Minor issues
-
Zalo Personal — no credential prompt, no validation. Every other channel has both. If it needs credentials at runtime, this silently fails.
-
WhatsApp bridge URL not exported to
.env.local— Discord/Slack tokens are written to env file, but WhatsApp'sBridgeURLis not. Inconsistent.
Please rebase onto current main and adapt to the new onboard architecture. Happy to help if you have questions about the new structure!
|
New refactor PR #126 |
Summary
filterThresholdfrom 5 → 10 so the 7-item channel list renders normally without type-to-filter modeChanges
cmd/onboard.go: Add 2 providers toproviderMap+providerOptions, add 4 channels to selection/pre-fill/validation/config/secrets/summarycmd/onboard_helpers.go: Adddashscope/bailiancases inapplyProviderAPIKey(), add Discord/Slack env vars inonboardWriteEnvFile()cmd/onboard_resolve.go: Adddashscope/bailiancases inresolveProviderAPIKey()+resolveProviderAPIBase()cmd/prompt.go: BumpfilterThreshold5 → 10Test plan
./goclaw onboardand verify all 15 providers appear in selection.env.localcontains correct env vars for new providers/channelsconfig.jsondoes not contain secrets for new channels