feat(channels): add multimodal support with image handling

- Add model configuration option for channel-specific model selection
- Support base64-encoded images in prompts via AcpBridge
- Add media utilities for WeChat/Weixin channel
- Update settings schema for model configuration

Enables channels to process images and use custom models.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
tanzhenxin 2026-03-25 07:43:48 +00:00
parent 24c9b0f333
commit 4f2b9e9bd8
8 changed files with 164 additions and 12 deletions

View file

@ -104,6 +104,7 @@ export const startCommand: CommandModule<object, { name: string }> = {
cwd: (rawConfig['cwd'] as string) || process.cwd(),
approvalMode: rawConfig['approvalMode'] as string | undefined,
instructions: rawConfig['instructions'] as string | undefined,
model: rawConfig['model'] as string | undefined,
groupPolicy:
(rawConfig['groupPolicy'] as ChannelConfig['groupPolicy']) ||
'disabled',
@ -120,7 +121,11 @@ export const startCommand: CommandModule<object, { name: string }> = {
writeStdoutLine(`[Channel] CLI entry: ${cliEntryPath}`);
writeStdoutLine(`[Channel] Starting "${name}" (type=${config.type})...`);
const bridge = new AcpBridge({ cliEntryPath, cwd: config.cwd });
const bridge = new AcpBridge({
cliEntryPath,
cwd: config.cwd,
model: config.model,
});
await bridge.start();
let channel: TelegramChannel | WeixinChannel;