feat(channels): improve Signal config compatibility

This commit is contained in:
晴天
2026-05-23 05:56:59 +08:00
parent 09bc45ae4c
commit 49be118c5f
6 changed files with 132 additions and 7 deletions

View File

@@ -228,6 +228,8 @@ export default {
signalCliPathLabel: _('signal-cli 路径', 'signal-cli Path', 'signal-cli 路徑'),
signalCliPathPh: _('可选,默认从 PATH 查找', 'Optional, defaults to PATH lookup', '可選,預設從 PATH 尋找'),
signalAllowFromPh: _('可选,逗号分隔', 'Optional, comma-separated', '可選,逗號分隔'),
signalGroupAllowFromPh: _('可选,逗号分隔群组 ID', 'Optional, comma-separated group IDs', '可選,逗號分隔群組 ID'),
signalBlockStreaming: _('阻止流式分块', 'Block streaming chunks', '阻止串流分塊'),
matrixDesc: _('接入 Matrix 协议Element 等客户端)', 'Connect via Matrix protocol (Element and other clients)', '接入 Matrix 协議Element 等用戶端)', 'Matrix プロトコルに接続'),
matrixGuide1: _('在 Matrix 服务器上注册 Bot 账号', 'Register a Bot account on a Matrix server', '在 Matrix 伺服器上註冊 Bot 账號'),
matrixGuide2: _('获取 <strong>Access Token</strong>(或使用用户名密码)', 'Get an <strong>Access Token</strong> (or use username & password)', '取得 <strong>Access Token</strong>(或使用使用者名密碼)'),

View File

@@ -461,6 +461,13 @@ const PLATFORM_REGISTRY = {
{ key: 'dmPolicy', label: t('channels.dmPolicy'), type: 'select', options: DM_POLICY_OPTIONS, required: false },
{ key: 'groupPolicy', label: t('channels.groupPolicy'), type: 'select', options: GROUP_POLICY_OPTIONS(t('channels.groupAllGroups')), required: false },
{ key: 'allowFrom', label: 'Allow From', placeholder: t('channels.signalAllowFromPh'), required: false },
{ key: 'groupAllowFrom', label: 'Group Allow From', placeholder: t('channels.signalGroupAllowFromPh'), required: false, hint: t('channels.groupAllowFromHint') },
{ key: 'historyLimit', label: 'History Limit', placeholder: '80', required: false },
{ key: 'dmHistoryLimit', label: 'DM History Limit', placeholder: '20', required: false },
{ key: 'textChunkLimit', label: 'Text Chunk Limit', placeholder: '1800', required: false },
{ key: 'mediaMaxMb', label: 'Media Max MB', placeholder: '25', required: false },
{ key: 'blockStreaming', label: t('channels.signalBlockStreaming'), type: 'select', options: BOOLEAN_OPTIONS, required: false },
{ key: 'responsePrefix', label: 'Response Prefix', placeholder: t('channels.optionalEg', { example: '[Signal]' }), required: false },
],
configKey: 'signal',
},
@@ -650,7 +657,7 @@ function applyRouteIntent(page, state) {
// ── 已配置平台渲染 ──
// ── 多账号支持的平台:与 OpenClaw 的 accounts/defaultAccount 配置模型保持一致 ──
const MULTI_INSTANCE_PLATFORMS = ['telegram', 'discord', 'slack', 'feishu', 'dingtalk', 'dingtalk-connector', 'qqbot', 'zalo', 'zalouser', 'line', 'mattermost', 'synology-chat', 'googlechat']
const MULTI_INSTANCE_PLATFORMS = ['telegram', 'discord', 'slack', 'feishu', 'dingtalk', 'dingtalk-connector', 'qqbot', 'zalo', 'zalouser', 'line', 'mattermost', 'synology-chat', 'googlechat', 'signal']
function supportsMessagingMultiAccount(pid) {
return MULTI_INSTANCE_PLATFORMS.includes(pid)

View File

@@ -832,14 +832,16 @@
left: 0;
top: 0;
z-index: 900;
transform: translateX(-100%);
transform: translate3d(-100%, 0, 0) !important;
transition: transform 250ms cubic-bezier(.22,1,.36,1);
box-shadow: none;
width: 260px;
pointer-events: none;
}
#sidebar.sidebar-open {
transform: translateX(0);
transform: translate3d(0, 0, 0) !important;
box-shadow: 4px 0 24px rgba(0,0,0,.15);
pointer-events: auto;
}
#main-col {
width: 100vw;