feat: achieve full remote/local feature parity across all pages
- Remote config dirty state: baseline/diff/apply/discard mechanism
matching local behavior (RemoteConfigBaselines managed state)
- Remote update check: fallback to npm registry query via reqwest
when `openclaw update status` unavailable on remote
- Discord guild names: resolve via Discord REST API using bot token
from config, fixing guild IDs showing as names
- InstanceContext: add discordGuildChannels to prevent local/remote
data mixing (replaces prop drilling through Cook/ParamForm)
- Remote agent creation: resolve profile ID to provider/model string
before writing to config
- Remote profile creation: auto-reuse API key from same-provider
existing profile; show auth suggestion in Settings UI
- Instance-aware: Chat, actions, ParamForm, Channels, Doctor,
History, Home, Settings all branch on isRemote/isConnected
- Remote commands: chat, session management, model profiles,
config baseline, Discord guild channels, update check
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>