{
    "id": "tuitui-openclaw-channel",
    "contracts": {
        "tools": [
            "tuitui_bot_get_messages",
            "tuitui_bot_send_message",
            "tuitui_bot_send_channel_post",
            "tuitui_bot_get_announcement",
            "tuitui_bot_file_space_list",
            "tuitui_bot_file_space_add",
            "tuitui_bot_send_card",
            "tuitui_bot_quick_card"
        ]
    },
    "channels": ["tuitui"],
    "skills": ["./skills"],
    "configSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
    },
    "channelConfigs": {
        "tuitui": {
            "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "enabled": { "type": "boolean", "default": true },
                    "appId": { "type": "string", "default": "" },
                    "appSecret": { "type": "string" },
                    "dmPolicy": {
                        "type": "string",
                        "default": "pairing",
                        "enum": ["pairing", "allowlist", "open", "disabled"]
                    },
                    "allowFrom": {
                        "type": "array",
                        "default": [],
                        "items": { "type": "string" }
                    },
                    "groupPolicy": {
                        "type": "string",
                        "default": "allowlist",
                        "enum": ["allowlist", "disabled"]
                    },
                    "requireMention": { "type": "boolean", "default": true },
                    "groupAllowFrom": {
                        "type": "array",
                        "default": [],
                        "items": { "type": "string" }
                    },
                    "channelContext": {
                        "type": "string",
                        "default": "thread",
                        "enum": ["channel", "thread"]
                    },
                    "emojiReaction": { "type": "boolean", "default": true },
                    "monitorEnabled": { "type": "boolean", "default": true },
                    "accounts": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "enabled": { "type": "boolean", "default": true },
                                "appId": { "type": "string", "default": "" },
                                "appSecret": { "type": "string" },
                                "dmPolicy": {
                                    "type": "string",
                                    "default": "pairing",
                                    "enum": ["pairing", "allowlist", "open", "disabled"]
                                },
                                "allowFrom": {
                                    "type": "array",
                                    "default": [],
                                    "items": { "type": "string" }
                                },
                                "groupPolicy": {
                                    "type": "string",
                                    "default": "allowlist",
                                    "enum": ["allowlist", "disabled"]
                                },
                                "requireMention": { "type": "boolean", "default": true },
                                "groupAllowFrom": {
                                    "type": "array",
                                    "items": { "type": "string" }
                                },
                                "channelContext": {
                                    "type": "string",
                                    "default": "thread",
                                    "enum": ["channel", "thread"]
                                },
                                "emojiReaction": { "type": "boolean", "default": true },
                                "monitorEnabled": { "type": "boolean", "default": true }
                            }
                        }
                    }
                }
            },
            "uiHints": {
                "enabled": { "order": 1, "help": "开启或关闭" },
                "appId": {
                    "help": "推推机器人身份 AppId（你可以推推搜索【推推机器人助手】，和它聊天自助申请推推机器人）",
                    "order": 2
                },
                "appSecret": {
                    "help": "推推机器人密钥 Secret（推推机器人的 App Secret）",
                    "order": 3
                },
                "dmPolicy": {
                    "help": "私聊策略（pairing=配对（默认）；allowlist=白名单；open=允许所有（不安全）；disabled=禁用私聊）",
                    "order": 10,
                    "advanced": true
                },
                "allowFrom": {
                    "help": "私聊白名单-域账号（dmPolicy=allowlist 时生效；pairing 下可用于显式放行用户）。对群聊/团队也能生效",
                    "order": 11,
                    "advanced": true
                },
                "groupPolicy": {
                    "help": "群聊/团队策略（allowlist=白名单；disabled=禁用）",
                    "order": 12,
                    "advanced": true
                },
                "requireMention": {
                    "help": "群组/团队是否需要 @ 机器人才触发 Agent（默认 true）。注意：如果你关闭了这个开关，且有多个龙虾机器人在同一个群里，他们会聊的停不下来",
                    "order": 13,
                    "advanced": true
                },
                "groupAllowFrom": {
                    "help": "群组/团队白名单-包含群ID、团队ID或频道ID（仅在 groupPolicy=allowlist 生效）",
                    "order": 14,
                    "advanced": true
                },
                "channelContext": {
                    "help": "团队-频道上下文（选项已废弃）",
                    "order": 15,
                    "advanced": true
                },
                "emojiReaction": {
                    "help": "在收到消息后，大模型给出反应结果前，先对原消息发送一个\"收到\"的表情回复。",
                    "order": 16,
                    "advanced": true
                },
                "monitorEnabled": {
                    "help": "是否开启频道agent事件上报，用于频道展示agent执行中间步骤（默认 true）",
                    "order": 17,
                    "advanced": true
                },
                "accounts": {
                    "help": "Accounts（多账户配置）",
                    "order": 30,
                    "advanced": true
                },
                "accounts.*.enabled": { "order": 301, "help": "开启或关闭" },
                "accounts.*.appId": {
                    "help": "推推机器人身份 AppId（你可以推推搜索【推推机器人助手】，和它聊天自助申请推推机器人）",
                    "order": 302
                },
                "accounts.*.appSecret": {
                    "help": "推推机器人密钥 Secret（推推机器人的 App Secret）",
                    "order": 303
                },
                "accounts.*.dmPolicy": {
                    "help": "私聊策略（pairing=配对（默认）；allowlist=白名单；open=允许所有（不安全）；disabled=禁用私聊）",
                    "order": 304,
                    "advanced": true
                },
                "accounts.*.allowFrom": {
                    "help": "私聊白名单-推推域账号（dmPolicy=allowlist 时生效；pairing 下可用于显式放行用户）；对群、团队也生效",
                    "order": 305,
                    "advanced": true
                },
                "accounts.*.groupPolicy": {
                    "help": "群聊/团队策略（allowlist=白名单；disabled=禁用）",
                    "order": 306,
                    "advanced": true
                },
                "accounts.*.requireMention": {
                    "help": "群组/团队是否需要 @ 机器人才触发 Agent（默认 true）",
                    "order": 307,
                    "advanced": true
                },
                "accounts.*.groupAllowFrom": {
                    "help": "群组/团队白名单-包含群ID、团队ID或频道ID（仅在 groupPolicy=allowlist 生效）。如果不想所有人使用，可以配置私聊白名单，私聊白名单对群/团队仍然有效",
                    "order": 308,
                    "advanced": true
                },
                "accounts.*.channelContext": {
                    "help": "团队-频道上下文（选项已废弃）",
                    "order": 309,
                    "advanced": true
                },
                "accounts.*.emojiReaction": {
                    "help": "在收到消息后，大模型给出反应结果前，先对原消息发送一个\"收到\"的表情回复。",
                    "order": 310,
                    "advanced": true
                },
                "accounts.*.monitorEnabled": {
                    "help": "是否开启频道agent事件上报，用于频道展示agent执行中间步骤（默认 true）。",
                    "order": 311,
                    "advanced": true
                }
            }
        }
    }
}
