fix(db): declare boolean flag columns as BOOLEAN in the PostgreSQL-family tree

This commit is contained in:
matevip 2026-06-14 16:47:23 +08:00
parent 1887dd3f70
commit f3119e0217
42 changed files with 795 additions and 1158 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
DELETE FROM mate_tool_guard_rule
WHERE (rule_id IS NULL OR LENGTH(TRIM(rule_id)) = 0)
AND (builtin IS NULL OR builtin = 0);
AND (builtin IS NULL OR builtin = FALSE);
ALTER TABLE mate_tool_guard_rule
ADD CONSTRAINT ck_tool_guard_rule_id_nonblank

View File

@ -16,9 +16,9 @@ CREATE TABLE IF NOT EXISTS mate_wiki_transformation (
prompt_template TEXT NOT NULL,
apply_default SMALLINT NOT NULL DEFAULT 0,
apply_default BOOLEAN NOT NULL DEFAULT FALSE,
model_id BIGINT NULL,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP ,

View File

@ -6,11 +6,7 @@ INSERT INTO mate_wiki_transformation
(id, kb_id, workspace_id, name, title, description, prompt_template,
apply_default, model_id, enabled, output_target, create_time, update_time, deleted)
VALUES
(1000004001, NULL, 1,
'contract-risk-extract',
'合同风险点提取',
'逐条审查合同条款标注风险等级、原文位置、AI 建议改写。配合企业场景 → 合同审查使用。',
'你是一名企业法务审查员。从下面的合同文本中完整提取所有需要关注的风险条款,按以下结构输出 Markdown
(1000004001, NULL, 1, 'contract-risk-extract', '合同风险点提取', '逐条审查合同条款标注风险等级、原文位置、AI 建议改写。配合企业场景 → 合同审查使用。', '你是一名企业法务审查员。从下面的合同文本中完整提取所有需要关注的风险条款,按以下结构输出 Markdown
## 风险条款清单
@ -36,14 +32,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004002, NULL, 1,
'meeting-action-items',
'会议纪要 → 行动项',
'从会议纪要中穷尽抽取决议 + 行动项owner / 截止日 / 验收标准),适合周会、决策会议。',
'你是会议纪要分析助理。从下面的纪要中穷尽抽取所有行动项与决议,按以下结构输出 Markdown
(1000004002, NULL, 1, 'meeting-action-items', '会议纪要 → 行动项', '从会议纪要中穷尽抽取决议 + 行动项owner / 截止日 / 验收标准),适合周会、决策会议。', '你是会议纪要分析助理。从下面的纪要中穷尽抽取所有行动项与决议,按以下结构输出 Markdown
## 决议清单
@ -68,14 +59,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004003, NULL, 1,
'customer-profile',
'客户邮件 / 访谈画像',
'把客户邮件、会议纪要、CRM 记录合成一份结构化客户画像,配合企业场景 → 客户情报使用。',
'你是销售情报员。从下面的客户邮件 / CRM 记录 / 访谈中提取一份客户画像,按以下结构输出 Markdown
(1000004003, NULL, 1, 'customer-profile', '客户邮件 / 访谈画像', '把客户邮件、会议纪要、CRM 记录合成一份结构化客户画像,配合企业场景 → 客户情报使用。', '你是销售情报员。从下面的客户邮件 / CRM 记录 / 访谈中提取一份客户画像,按以下结构输出 Markdown
## 客户档案
- ****
@ -98,14 +84,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004004, NULL, 1,
'competitor-update',
'竞品动态摘要',
'把新闻 / 产品 release / 招聘信号 / 客户提及合成一份竞品动态简报。',
'你是市场情报员。从下面的材料中提取与竞争对手相关的动态,按以下结构输出 Markdown
(1000004004, NULL, 1, 'competitor-update', '竞品动态摘要', '把新闻 / 产品 release / 招聘信号 / 客户提及合成一份竞品动态简报。', '你是市场情报员。从下面的材料中提取与竞争对手相关的动态,按以下结构输出 Markdown
## 涉及对手
@ -131,14 +112,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004005, NULL, 1,
'resume-structured-extract',
'简历结构化',
'把简历提取为标准化档案:教育、工作、技能、亮点。适合批量初筛。',
'你是 HR 助理。把下面的简历提取为结构化档案:
(1000004005, NULL, 1, 'resume-structured-extract', '简历结构化', '把简历提取为标准化档案:教育、工作、技能、亮点。适合批量初筛。', '你是 HR 助理。把下面的简历提取为结构化档案:
## 候选人信息
- ****
@ -172,14 +148,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004006, NULL, 1,
'incident-postmortem',
'事故 5-Why 复盘',
'从事故报告 / 时间线生成 5-Why 链 + 整改清单 + 相似事故关键词。适合 SRE / 运维团队。',
'你是 SRE 事故复盘助理。从下面的事故报告 / 时间线中输出 5-Why 分析:
(1000004006, NULL, 1, 'incident-postmortem', '事故 5-Why 复盘', '从事故报告 / 时间线生成 5-Why 链 + 整改清单 + 相似事故关键词。适合 SRE / 运维团队。', '你是 SRE 事故复盘助理。从下面的事故报告 / 时间线中输出 5-Why 分析:
## 事故概要
- ****1
@ -211,14 +182,9 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0),
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0),
(1000004007, NULL, 1,
'paper-imrad',
'论文 IMRaD 摘要',
'把论文 / 技术报告浓缩为 IMRaD 结构化摘要 + 关键术语表,适合研究型团队。',
'你是学术摘要助理。把下面的论文 / 技术报告浓缩为 IMRaD 结构化摘要:
(1000004007, NULL, 1, 'paper-imrad', '论文 IMRaD 摘要', '把论文 / 技术报告浓缩为 IMRaD 结构化摘要 + 关键术语表,适合研究型团队。', '你是学术摘要助理。把下面的论文 / 技术报告浓缩为 IMRaD 结构化摘要:
## Introduction
100
@ -242,6 +208,5 @@ VALUES
{title}
{input_text}',
0, NULL, 1, 'page', NOW(), NOW(), 0)
{input_text}', FALSE, NULL, TRUE, 'page', NOW(), NOW(), 0)
ON CONFLICT (id) DO NOTHING;

View File

@ -7,7 +7,7 @@ CREATE TABLE IF NOT EXISTS mate_hook (
id BIGINT NOT NULL PRIMARY KEY,
name VARCHAR(128) NOT NULL,
description VARCHAR(512),
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
event_type VARCHAR(64) NOT NULL,
match_expression TEXT,
action_kind VARCHAR(32) NOT NULL,

View File

@ -6,17 +6,7 @@
-- -- Provider --------------------------------------------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'xai',
'xAI (Grok)',
'xai-',
'OpenAIChatModel',
'',
'https://api.x.ai/v1',
'{}',
0, 0, 1, 1, 1, 1,
NOW(), NOW()
)
VALUES ('xai', 'xAI (Grok)', 'xai-', 'OpenAIChatModel', '', 'https://api.x.ai/v1', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
api_key_prefix = EXCLUDED.api_key_prefix,
chat_model = EXCLUDED.chat_model,
@ -33,10 +23,10 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- additions can grow contiguously.
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000340, 'Grok 4', 'xai', 'grok-4', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000341, 'Grok 4 Fast', 'xai', 'grok-4-fast', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000342, 'Grok 3', 'xai', 'grok-3', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000343, 'Grok 3 Mini', 'xai', 'grok-3-mini', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000000340, 'Grok 4', 'xai', 'grok-4', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000341, 'Grok 4 Fast', 'xai', 'grok-4-fast', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000342, 'Grok 3', 'xai', 'grok-3', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000343, 'Grok 3 Mini', 'xai', 'grok-3-mini', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
model_name = EXCLUDED.model_name,
description = EXCLUDED.description,

View File

@ -38,7 +38,7 @@ CREATE TABLE IF NOT EXISTS mate_agent_goal (
completion_score DOUBLE PRECISION NULL,
last_evaluation_at TIMESTAMP(3) NULL,
auto_followup_enabled SMALLINT NOT NULL DEFAULT 0,
auto_followup_enabled BOOLEAN NOT NULL DEFAULT FALSE,
followup_cooldown_seconds INT NOT NULL DEFAULT 0,
last_followup_at TIMESTAMP(3) NULL,

View File

@ -14,13 +14,13 @@
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
-- Direct Anthropic
(1000000290, 'Claude Opus 4.8', 'anthropic', 'claude-opus-4-8', 'Anthropic Claude Opus 4.8 (xhigh adaptive thinking)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000291, 'Claude Opus 4.8 Fast', 'anthropic', 'claude-opus-4-8-fast', 'Claude Opus 4.8 fast variant (higher output speed, 2x pricing)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000290, 'Claude Opus 4.8', 'anthropic', 'claude-opus-4-8', 'Anthropic Claude Opus 4.8 (xhigh adaptive thinking)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000291, 'Claude Opus 4.8 Fast', 'anthropic', 'claude-opus-4-8-fast', 'Claude Opus 4.8 fast variant (higher output speed, 2x pricing)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- OpenRouter passthrough
(1000000292, 'Claude Opus 4.8', 'openrouter', 'anthropic/claude-opus-4-8', 'Claude Opus 4.8 via OpenRouter', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000293, 'Claude Opus 4.8 Fast', 'openrouter', 'anthropic/claude-opus-4-8-fast', 'Claude Opus 4.8 fast variant via OpenRouter', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000292, 'Claude Opus 4.8', 'openrouter', 'anthropic/claude-opus-4-8', 'Claude Opus 4.8 via OpenRouter', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000293, 'Claude Opus 4.8 Fast', 'openrouter', 'anthropic/claude-opus-4-8-fast', 'Claude Opus 4.8 fast variant via OpenRouter', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- Claude Code OAuth (Pro/Max subscription)
(1000000294, 'Claude Opus 4.8', 'anthropic-claude-code', 'claude-opus-4-8', 'Claude Opus 4.8 via Claude Code Pro/Max subscription', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0)
(1000000294, 'Claude Opus 4.8', 'anthropic-claude-code', 'claude-opus-4-8', 'Claude Opus 4.8 via Claude Code Pro/Max subscription', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
provider = EXCLUDED.provider,

View File

@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS mate_wiki_page_type_profile (
name VARCHAR(128) NOT NULL,
version INT NOT NULL DEFAULT 1,
config_json TEXT NOT NULL,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted INT NOT NULL DEFAULT 0,
@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS mate_wiki_page_type_profile (
-- ignores NULL keys for uniqueness, giving "at most one enabled per KB".
enabled_kb BIGINT
GENERATED ALWAYS AS (
CASE WHEN enabled = 1 AND deleted = 0 THEN kb_id ELSE NULL END
CASE WHEN enabled = TRUE AND deleted = 0 THEN kb_id ELSE NULL END
) STORED,
PRIMARY KEY (id)
);

View File

@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS mate_wiki_pipeline_definition (
trigger_config_json TEXT,
steps_json TEXT NOT NULL,
dedup_window_seconds INT NOT NULL DEFAULT 0,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted INT NOT NULL DEFAULT 0

View File

@ -15,7 +15,7 @@ CREATE TABLE IF NOT EXISTS mate_agent_wiki_kb (
id BIGINT NOT NULL PRIMARY KEY,
agent_id BIGINT NOT NULL,
kb_id BIGINT NOT NULL,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted INT NOT NULL DEFAULT 0

View File

@ -2,5 +2,5 @@
-- ON DUPLICATE KEY UPDATE is the MySQL idempotent upsert.
-- Converted to: ON CONFLICT DO UPDATE with EXCLUDED references (KingbaseES / PostgreSQL).
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000023, 'CodeExecuteTool', 'Code Execute', 'Execute a snippet of code (python, bash, or node) that the agent writes on the fly. Lets a documentation-only skill be acted on by running the code its instructions describe. Dangerous operations trigger approval.', 'builtin', 'codeExecuteTool', '🧑‍💻', 1, 1, NOW(), NOW(), 0)
VALUES (1000000023, 'CodeExecuteTool', 'Code Execute', 'Execute a snippet of code (python, bash, or node) that the agent writes on the fly. Lets a documentation-only skill be acted on by running the code its instructions describe. Dangerous operations trigger approval.', 'builtin', 'codeExecuteTool', '🧑‍💻', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, update_time=EXCLUDED.update_time;

View File

@ -17,11 +17,11 @@
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
-- Direct Anthropic
(1000000300, 'Claude Fable 5', 'anthropic', 'claude-fable-5', 'Anthropic Claude Fable 5 (1M context, vision, xhigh adaptive thinking)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000300, 'Claude Fable 5', 'anthropic', 'claude-fable-5', 'Anthropic Claude Fable 5 (1M context, vision, xhigh adaptive thinking)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- OpenRouter passthrough
(1000000301, 'Claude Fable 5', 'openrouter', 'anthropic/claude-fable-5', 'Claude Fable 5 via OpenRouter', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000301, 'Claude Fable 5', 'openrouter', 'anthropic/claude-fable-5', 'Claude Fable 5 via OpenRouter', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- Claude Code OAuth (Pro/Max subscription)
(1000000302, 'Claude Fable 5', 'anthropic-claude-code', 'claude-fable-5', 'Claude Fable 5 via Claude Code Pro/Max subscription', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0)
(1000000302, 'Claude Fable 5', 'anthropic-claude-code', 'claude-fable-5', 'Claude Fable 5 via Claude Code Pro/Max subscription', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
provider = EXCLUDED.provider,

View File

@ -22,15 +22,11 @@ END $$;
-- 播种 DashScope embedding与 chat 模型共享 provider apiKey
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES (1000001001, 'Text Embedding v3', 'dashscope', 'text-embedding-v3',
'DashScope 通义千问 v3 通用文本向量模型1024 维)', 0, 0, 0,
1, 1, 1, 'embedding', NOW(), NOW(), 0)
VALUES (1000001001, 'Text Embedding v3', 'dashscope', 'text-embedding-v3', 'DashScope 通义千问 v3 通用文本向量模型1024 维)', 0, 0, 0, TRUE, TRUE, TRUE, 'embedding', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET model_type = 'embedding';
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES (1000001002, 'Text Embedding v2', 'dashscope', 'text-embedding-v2',
'DashScope 通义千问 v2 文本向量模型1536 维)', 0, 0, 0,
1, 1, 0, 'embedding', NOW(), NOW(), 0)
VALUES (1000001002, 'Text Embedding v2', 'dashscope', 'text-embedding-v2', 'DashScope 通义千问 v2 文本向量模型1536 维)', 0, 0, 0, TRUE, TRUE, FALSE, 'embedding', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET model_type = 'embedding';
-- 系统默认 embedding 模型id 必须显式指定,与 chat 段 100000xxxx 错开)

View File

@ -2,6 +2,6 @@
DELETE FROM mate_model_config
WHERE id IN (1000000170, 1000000171)
AND provider = 'dashscope'
AND builtin = 1;
AND builtin = TRUE;
-- 1000000170 = qwen3.5-plus
-- 1000000171 = qwen3.5-max

View File

@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS mate_user (
avatar VARCHAR(256),
email VARCHAR(128),
role VARCHAR(32) NOT NULL DEFAULT 'user',
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0
@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS mate_agent (
system_prompt TEXT,
model_name VARCHAR(128),
max_iterations INT NOT NULL DEFAULT 10,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
icon VARCHAR(256),
tags VARCHAR(256),
workspace_id BIGINT NOT NULL DEFAULT 1,
@ -43,11 +43,11 @@ CREATE TABLE IF NOT EXISTS mate_model_config (
temperature DOUBLE PRECISION,
max_tokens INT,
top_p DOUBLE PRECISION,
builtin SMALLINT NOT NULL DEFAULT 1,
enabled SMALLINT NOT NULL DEFAULT 1,
is_default SMALLINT NOT NULL DEFAULT 0,
builtin BOOLEAN NOT NULL DEFAULT TRUE,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
is_default BOOLEAN NOT NULL DEFAULT FALSE,
max_input_tokens INT DEFAULT 0,
enable_search SMALLINT DEFAULT 0,
enable_search BOOLEAN DEFAULT FALSE,
search_strategy VARCHAR(32) DEFAULT NULL,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
@ -64,12 +64,12 @@ CREATE TABLE IF NOT EXISTS mate_model_provider (
api_key VARCHAR(512),
base_url VARCHAR(512),
generate_kwargs TEXT,
is_custom SMALLINT NOT NULL DEFAULT 0,
is_local SMALLINT NOT NULL DEFAULT 0,
support_model_discovery SMALLINT NOT NULL DEFAULT 0,
support_connection_check SMALLINT NOT NULL DEFAULT 0,
freeze_url SMALLINT NOT NULL DEFAULT 0,
require_api_key SMALLINT NOT NULL DEFAULT 1,
is_custom BOOLEAN NOT NULL DEFAULT FALSE,
is_local BOOLEAN NOT NULL DEFAULT FALSE,
support_model_discovery BOOLEAN NOT NULL DEFAULT FALSE,
support_connection_check BOOLEAN NOT NULL DEFAULT FALSE,
freeze_url BOOLEAN NOT NULL DEFAULT FALSE,
require_api_key BOOLEAN NOT NULL DEFAULT TRUE,
auth_type VARCHAR(16) NOT NULL DEFAULT 'api_key',
oauth_access_token TEXT,
oauth_refresh_token TEXT,
@ -101,8 +101,8 @@ CREATE TABLE IF NOT EXISTS mate_skill (
config_json TEXT,
source_code TEXT,
skill_content TEXT,
enabled SMALLINT NOT NULL DEFAULT 1,
builtin SMALLINT NOT NULL DEFAULT 0,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
builtin BOOLEAN NOT NULL DEFAULT FALSE,
tags VARCHAR(256),
workspace_id BIGINT NOT NULL DEFAULT 1,
create_time TIMESTAMP NOT NULL,
@ -121,8 +121,8 @@ CREATE TABLE IF NOT EXISTS mate_tool (
icon VARCHAR(256),
mcp_endpoint VARCHAR(256),
params_schema TEXT,
enabled SMALLINT NOT NULL DEFAULT 1,
builtin SMALLINT NOT NULL DEFAULT 0,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
builtin BOOLEAN NOT NULL DEFAULT FALSE,
workspace_id BIGINT NOT NULL DEFAULT 1,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
@ -137,7 +137,7 @@ CREATE TABLE IF NOT EXISTS mate_channel (
agent_id BIGINT,
bot_prefix VARCHAR(64),
config_json TEXT,
enabled SMALLINT NOT NULL DEFAULT 0,
enabled BOOLEAN NOT NULL DEFAULT FALSE,
description VARCHAR(256),
workspace_id BIGINT NOT NULL DEFAULT 1,
create_time TIMESTAMP NOT NULL,
@ -228,7 +228,7 @@ CREATE TABLE IF NOT EXISTS mate_cron_job (
task_type VARCHAR(16) NOT NULL DEFAULT 'text',
trigger_message TEXT,
request_body TEXT,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
next_run_time TIMESTAMP,
last_run_time TIMESTAMP,
create_time TIMESTAMP NOT NULL,
@ -260,7 +260,7 @@ CREATE TABLE IF NOT EXISTS mate_workspace_file (
filename VARCHAR(256) NOT NULL,
content TEXT,
file_size BIGINT NOT NULL DEFAULT 0,
enabled SMALLINT NOT NULL DEFAULT 0,
enabled BOOLEAN NOT NULL DEFAULT FALSE,
sort_order INT NOT NULL DEFAULT 0,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
@ -282,14 +282,14 @@ CREATE TABLE IF NOT EXISTS mate_mcp_server (
args_json TEXT,
env_json TEXT,
cwd VARCHAR(512),
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
connect_timeout_seconds INT NOT NULL DEFAULT 30,
read_timeout_seconds INT NOT NULL DEFAULT 30,
last_status VARCHAR(32) NOT NULL DEFAULT 'disconnected',
last_error TEXT,
last_connected_time TIMESTAMP,
tool_count INT NOT NULL DEFAULT 0,
builtin SMALLINT NOT NULL DEFAULT 0,
builtin BOOLEAN NOT NULL DEFAULT FALSE,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0
@ -343,8 +343,8 @@ CREATE TABLE IF NOT EXISTS mate_tool_guard_rule (
pattern VARCHAR(512) NOT NULL,
exclude_pattern VARCHAR(512),
remediation TEXT,
builtin SMALLINT NOT NULL DEFAULT 0,
enabled SMALLINT NOT NULL DEFAULT 1,
builtin BOOLEAN NOT NULL DEFAULT FALSE,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
priority INT NOT NULL DEFAULT 100,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
@ -354,13 +354,13 @@ CREATE TABLE IF NOT EXISTS mate_tool_guard_rule (
-- 安全全局配置表
CREATE TABLE IF NOT EXISTS mate_tool_guard_config (
id BIGINT NOT NULL PRIMARY KEY,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
guard_scope VARCHAR(32) NOT NULL DEFAULT 'all',
guarded_tools_json TEXT,
denied_tools_json TEXT,
file_guard_enabled SMALLINT NOT NULL DEFAULT 1,
file_guard_enabled BOOLEAN NOT NULL DEFAULT TRUE,
sensitive_paths_json TEXT,
audit_enabled SMALLINT NOT NULL DEFAULT 1,
audit_enabled BOOLEAN NOT NULL DEFAULT TRUE,
audit_min_severity VARCHAR(16) NOT NULL DEFAULT 'INFO',
audit_retention_days INT NOT NULL DEFAULT 90,
create_time TIMESTAMP NOT NULL,
@ -402,9 +402,9 @@ CREATE TABLE IF NOT EXISTS mate_datasource (
password VARCHAR(512),
extra_params VARCHAR(512),
schema_name VARCHAR(128),
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
last_test_time TIMESTAMP,
last_test_ok SMALLINT,
last_test_ok BOOLEAN,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0
@ -446,7 +446,7 @@ CREATE TABLE IF NOT EXISTS mate_memory_recall (
query_hashes TEXT,
score DOUBLE PRECISION NOT NULL DEFAULT 0.0,
last_recalled_at TIMESTAMP,
promoted SMALLINT NOT NULL DEFAULT 0,
promoted BOOLEAN NOT NULL DEFAULT FALSE,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0
@ -553,7 +553,7 @@ CREATE TABLE IF NOT EXISTS mate_agent_skill (
id BIGINT NOT NULL PRIMARY KEY,
agent_id BIGINT NOT NULL,
skill_id BIGINT NOT NULL,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
config_json TEXT,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
@ -565,7 +565,7 @@ CREATE TABLE IF NOT EXISTS mate_agent_tool (
id BIGINT NOT NULL PRIMARY KEY,
agent_id BIGINT NOT NULL,
tool_name VARCHAR(128) NOT NULL,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0

View File

@ -15,7 +15,7 @@ CREATE TABLE IF NOT EXISTS mate_agent_provider_preference (
agent_id BIGINT NOT NULL,
provider_id VARCHAR(128) NOT NULL,
sort_order INT NOT NULL DEFAULT 0,
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
deleted INT NOT NULL DEFAULT 0

View File

@ -4,11 +4,7 @@
-- Ref: rfc-044-skill-md-completion-2026-04-23
INSERT INTO mate_skill (id, name, description, skill_type, icon, version, author, config_json, enabled, builtin, tags, create_time, update_time, deleted)
VALUES (1000000016, 'make_plan',
'当任务需要多步拆解或不确定执行路径时,向更强 Agent 请求一份分步可落地的执行计划,由当前 Agent 自己执行。',
'builtin', '🗺️', '1.3.0', 'MateClaw',
'{"upstream":"mateclaw","entryFile":"SKILL.md"}',
1, 1, 'plan,delegate,agent,collaboration', NOW(), NOW(), 0)
VALUES (1000000016, 'make_plan', '当任务需要多步拆解或不确定执行路径时,向更强 Agent 请求一份分步可落地的执行计划,由当前 Agent 自己执行。', 'builtin', '🗺️', '1.3.0', 'MateClaw', '{"upstream":"mateclaw","entryFile":"SKILL.md"}', TRUE, TRUE, 'plan,delegate,agent,collaboration', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
skill_type = EXCLUDED.skill_type,
icon = EXCLUDED.icon,
@ -22,11 +18,7 @@ ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
deleted = EXCLUDED.deleted;
INSERT INTO mate_skill (id, name, description, skill_type, icon, version, author, config_json, enabled, builtin, tags, create_time, update_time, deleted)
VALUES (1000000017, 'chat_with_agent',
'当需要咨询其他 Agent、寻求帮助或用户明确要求某个 Agent 参与时,使用本技能进行单次或并行委托。',
'builtin', '💬', '1.2.0', 'MateClaw',
'{"upstream":"mateclaw","entryFile":"SKILL.md"}',
1, 1, 'agent,chat,collaborate,delegate', NOW(), NOW(), 0)
VALUES (1000000017, 'chat_with_agent', '当需要咨询其他 Agent、寻求帮助或用户明确要求某个 Agent 参与时,使用本技能进行单次或并行委托。', 'builtin', '💬', '1.2.0', 'MateClaw', '{"upstream":"mateclaw","entryFile":"SKILL.md"}', TRUE, TRUE, 'agent,chat,collaborate,delegate', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
skill_type = EXCLUDED.skill_type,
icon = EXCLUDED.icon,
@ -40,11 +32,7 @@ ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
deleted = EXCLUDED.deleted;
INSERT INTO mate_skill (id, name, description, skill_type, icon, version, author, config_json, enabled, builtin, tags, create_time, update_time, deleted)
VALUES (1000000018, 'channel_message',
'当需要主动向用户、会话或渠道单向推送消息时使用。任务完成通知、定时提醒、异步结果回推等场景。',
'builtin', '📤', '1.3.0', 'MateClaw',
'{"upstream":"mateclaw","entryFile":"SKILL.md"}',
1, 1, 'channel,message,push,notify,dingtalk,feishu', NOW(), NOW(), 0)
VALUES (1000000018, 'channel_message', '当需要主动向用户、会话或渠道单向推送消息时使用。任务完成通知、定时提醒、异步结果回推等场景。', 'builtin', '📤', '1.3.0', 'MateClaw', '{"upstream":"mateclaw","entryFile":"SKILL.md"}', TRUE, TRUE, 'channel,message,push,notify,dingtalk,feishu', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
skill_type = EXCLUDED.skill_type,
icon = EXCLUDED.icon,
@ -58,11 +46,7 @@ ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
deleted = EXCLUDED.deleted;
INSERT INTO mate_skill (id, name, description, skill_type, icon, version, author, config_json, enabled, builtin, tags, create_time, update_time, deleted)
VALUES (1000000019, 'multi_agent_collaboration',
'当任务需要多个 Agent 的专业能力协同完成时,编排多 Agent 并行或串行协作,整合各方结果。',
'builtin', '🤝', '1.4.0', 'MateClaw',
'{"upstream":"mateclaw","entryFile":"SKILL.md"}',
1, 1, 'multi-agent,collaboration,orchestration,parallel', NOW(), NOW(), 0)
VALUES (1000000019, 'multi_agent_collaboration', '当任务需要多个 Agent 的专业能力协同完成时,编排多 Agent 并行或串行协作,整合各方结果。', 'builtin', '🤝', '1.4.0', 'MateClaw', '{"upstream":"mateclaw","entryFile":"SKILL.md"}', TRUE, TRUE, 'multi-agent,collaboration,orchestration,parallel', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET description = EXCLUDED.description,
skill_type = EXCLUDED.skill_type,
icon = EXCLUDED.icon,

View File

@ -1,5 +1,5 @@
-- V31: Register DocxRenderTool as built-in tool (RFC-045)
-- Idempotent: ON DUPLICATE KEY UPDATE keeps the row in sync if it already exists.
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000019, 'DocxRenderTool', 'DOCX Render', 'Render Markdown directly into a .docx and return a one-time download link. In-process Apache POI implementation, no Node.js subprocess; supports headings, bold, lists, tables. Preferred tool for creating new documents.', 'builtin', 'docxRenderTool', '📝', 1, 1, NOW(), NOW(), 0)
VALUES (1000000019, 'DocxRenderTool', 'DOCX Render', 'Render Markdown directly into a .docx and return a one-time download link. In-process Apache POI implementation, no Node.js subprocess; supports headings, bold, lists, tables. Preferred tool for creating new documents.', 'builtin', 'docxRenderTool', '📝', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, bean_name=EXCLUDED.bean_name, icon=EXCLUDED.icon, update_time=EXCLUDED.update_time;

View File

@ -1,24 +1,24 @@
-- V32: Register Aliyun Bailian Token Plan provider and models
-- OpenAI-compatible endpoint for team subscription users.
-- freeze_url=1: the endpoint is plan-specific and must not be overridden.
-- freeze_url = TRUE: the endpoint is plan-specific and must not be overridden.
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES ('bailian-team', '百炼 Token Plan', 'sk-', 'OpenAIChatModel', '', 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1', '{}', 0, 0, 0, 1, 1, 1, NOW(), NOW())
VALUES ('bailian-team', '百炼 Token Plan', 'sk-', 'OpenAIChatModel', '', 'https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1', '{}', FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name=EXCLUDED.name, api_key_prefix=EXCLUDED.api_key_prefix, chat_model=EXCLUDED.chat_model, base_url=EXCLUDED.base_url, generate_kwargs=EXCLUDED.generate_kwargs, freeze_url=EXCLUDED.freeze_url, require_api_key=EXCLUDED.require_api_key, update_time=EXCLUDED.update_time;
-- Chat models
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000400, 'Qwen 3.6 Plus', 'bailian-team', 'qwen3.6-plus', '百炼团队套餐 — 千问旗舰推理模型,支持视觉理解与文本生成', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000401, 'DeepSeek V3.2', 'bailian-team', 'deepseek-v3.2', '百炼团队套餐 — DeepSeek 最新推理模型', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000402, 'GLM-5', 'bailian-team', 'glm-5', '百炼团队套餐 — 智谱 GLM-5 文本生成模型', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000400, 'Qwen 3.6 Plus', 'bailian-team', 'qwen3.6-plus', '百炼团队套餐 — 千问旗舰推理模型,支持视觉理解与文本生成', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000401, 'DeepSeek V3.2', 'bailian-team', 'deepseek-v3.2', '百炼团队套餐 — DeepSeek 最新推理模型', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000402, 'GLM-5', 'bailian-team', 'glm-5', '百炼团队套餐 — 智谱 GLM-5 文本生成模型', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;
-- Image generation models (temperature/max_tokens/top_p not applicable)
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000403, 'Qwen Image 2.0', 'bailian-team', 'qwen-image-2.0', '百炼团队套餐 — 千问图片生成模型', NULL, NULL, NULL, 1, 1, 0, 'image', NOW(), NOW(), 0),
(1000000404, 'Qwen Image 2.0 Pro', 'bailian-team', 'qwen-image-2.0-pro', '百炼团队套餐 — 千问图片生成旗舰模型', NULL, NULL, NULL, 1, 1, 0, 'image', NOW(), NOW(), 0),
(1000000405, 'Wan 2.7 Image', 'bailian-team', 'wan2.7-image', '百炼团队套餐 — 万相图片生成模型', NULL, NULL, NULL, 1, 1, 0, 'image', NOW(), NOW(), 0),
(1000000406, 'Wan 2.7 Image Pro', 'bailian-team', 'wan2.7-image-pro', '百炼团队套餐 — 万相图片生成旗舰模型', NULL, NULL, NULL, 1, 1, 0, 'image', NOW(), NOW(), 0)
(1000000403, 'Qwen Image 2.0', 'bailian-team', 'qwen-image-2.0', '百炼团队套餐 — 千问图片生成模型', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'image', NOW(), NOW(), 0),
(1000000404, 'Qwen Image 2.0 Pro', 'bailian-team', 'qwen-image-2.0-pro', '百炼团队套餐 — 千问图片生成旗舰模型', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'image', NOW(), NOW(), 0),
(1000000405, 'Wan 2.7 Image', 'bailian-team', 'wan2.7-image', '百炼团队套餐 — 万相图片生成模型', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'image', NOW(), NOW(), 0),
(1000000406, 'Wan 2.7 Image Pro', 'bailian-team', 'wan2.7-image-pro', '百炼团队套餐 — 万相图片生成旗舰模型', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'image', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;

View File

@ -4,44 +4,44 @@
-- ── Providers ──────────────────────────────────────────────────────────────
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES ('siliconflow-cn', '硅基流动 (China)', 'sk-', 'OpenAIChatModel', '', 'https://api.siliconflow.cn/v1', '{}', 0, 0, 1, 1, 1, 1, NOW(), NOW())
VALUES ('siliconflow-cn', '硅基流动 (China)', 'sk-', 'OpenAIChatModel', '', 'https://api.siliconflow.cn/v1', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name=EXCLUDED.name, api_key_prefix=EXCLUDED.api_key_prefix, chat_model=EXCLUDED.chat_model, base_url=EXCLUDED.base_url, support_model_discovery=EXCLUDED.support_model_discovery, support_connection_check=EXCLUDED.support_connection_check, freeze_url=EXCLUDED.freeze_url, require_api_key=EXCLUDED.require_api_key, update_time=EXCLUDED.update_time;
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES ('siliconflow-intl', '硅基流动 (International)', 'sk-', 'OpenAIChatModel', '', 'https://api.siliconflow.com/v1', '{}', 0, 0, 1, 1, 1, 1, NOW(), NOW())
VALUES ('siliconflow-intl', '硅基流动 (International)', 'sk-', 'OpenAIChatModel', '', 'https://api.siliconflow.com/v1', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name=EXCLUDED.name, api_key_prefix=EXCLUDED.api_key_prefix, chat_model=EXCLUDED.chat_model, base_url=EXCLUDED.base_url, support_model_discovery=EXCLUDED.support_model_discovery, support_connection_check=EXCLUDED.support_connection_check, freeze_url=EXCLUDED.freeze_url, require_api_key=EXCLUDED.require_api_key, update_time=EXCLUDED.update_time;
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES ('opencode', 'OpenCode', '', 'OpenAIChatModel', '', 'https://opencode.ai/zen/v1', '{}', 0, 0, 0, 1, 1, 0, NOW(), NOW())
VALUES ('opencode', 'OpenCode', '', 'OpenAIChatModel', '', 'https://opencode.ai/zen/v1', '{}', FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name=EXCLUDED.name, chat_model=EXCLUDED.chat_model, base_url=EXCLUDED.base_url, update_time=EXCLUDED.update_time;
-- ── SiliconFlow CN — preset popular models ─────────────────────────────────
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000500, 'DeepSeek V3', 'siliconflow-cn', 'deepseek-ai/DeepSeek-V3', '硅基流动 — DeepSeek V3综合能力强有免费额度', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000501, 'DeepSeek R1', 'siliconflow-cn', 'deepseek-ai/DeepSeek-R1', '硅基流动 — DeepSeek R1 推理模型', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000502, 'Qwen3 235B A22B', 'siliconflow-cn', 'Qwen/Qwen3-235B-A22B', '硅基流动 — 千问3旗舰 MoE 模型', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000503, 'Qwen3 30B A3B', 'siliconflow-cn', 'Qwen/Qwen3-30B-A3B', '硅基流动 — 千问3高性价比 MoE 模型', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000504, 'GLM-4 9B Chat', 'siliconflow-cn', 'THUDM/glm-4-9b-chat', '硅基流动 — 智谱 GLM-4 9B免费可用', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000505, 'DeepSeek V3 Pro', 'siliconflow-cn', 'Pro/deepseek-ai/DeepSeek-V3', '硅基流动 Pro — DeepSeek V3 Pro 优先调度版', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000506, 'DeepSeek R1 Pro', 'siliconflow-cn', 'Pro/deepseek-ai/DeepSeek-R1', '硅基流动 Pro — DeepSeek R1 推理 Pro 优先调度版', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000500, 'DeepSeek V3', 'siliconflow-cn', 'deepseek-ai/DeepSeek-V3', '硅基流动 — DeepSeek V3综合能力强有免费额度', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000501, 'DeepSeek R1', 'siliconflow-cn', 'deepseek-ai/DeepSeek-R1', '硅基流动 — DeepSeek R1 推理模型', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000502, 'Qwen3 235B A22B', 'siliconflow-cn', 'Qwen/Qwen3-235B-A22B', '硅基流动 — 千问3旗舰 MoE 模型', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000503, 'Qwen3 30B A3B', 'siliconflow-cn', 'Qwen/Qwen3-30B-A3B', '硅基流动 — 千问3高性价比 MoE 模型', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000504, 'GLM-4 9B Chat', 'siliconflow-cn', 'THUDM/glm-4-9b-chat', '硅基流动 — 智谱 GLM-4 9B免费可用', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000505, 'DeepSeek V3 Pro', 'siliconflow-cn', 'Pro/deepseek-ai/DeepSeek-V3', '硅基流动 Pro — DeepSeek V3 Pro 优先调度版', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000506, 'DeepSeek R1 Pro', 'siliconflow-cn', 'Pro/deepseek-ai/DeepSeek-R1', '硅基流动 Pro — DeepSeek R1 推理 Pro 优先调度版', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;
-- ── SiliconFlow INTL — same preset models via international endpoint ────────
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000510, 'DeepSeek V3', 'siliconflow-intl', 'deepseek-ai/DeepSeek-V3', 'SiliconFlow INTL — DeepSeek V3, strong general capability', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000511, 'DeepSeek R1', 'siliconflow-intl', 'deepseek-ai/DeepSeek-R1', 'SiliconFlow INTL — DeepSeek R1 reasoning model', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000512, 'Qwen3 235B A22B', 'siliconflow-intl', 'Qwen/Qwen3-235B-A22B', 'SiliconFlow INTL — Qwen3 flagship MoE model', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000513, 'Qwen3 30B A3B', 'siliconflow-intl', 'Qwen/Qwen3-30B-A3B', 'SiliconFlow INTL — Qwen3 efficient MoE model', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000514, 'GLM-4 9B Chat', 'siliconflow-intl', 'THUDM/glm-4-9b-chat', 'SiliconFlow INTL — Zhipu GLM-4 9B, free tier', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000515, 'DeepSeek V3 Pro', 'siliconflow-intl', 'Pro/deepseek-ai/DeepSeek-V3', 'SiliconFlow INTL Pro — DeepSeek V3 priority tier', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000516, 'DeepSeek R1 Pro', 'siliconflow-intl', 'Pro/deepseek-ai/DeepSeek-R1', 'SiliconFlow INTL Pro — DeepSeek R1 priority tier', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000510, 'DeepSeek V3', 'siliconflow-intl', 'deepseek-ai/DeepSeek-V3', 'SiliconFlow INTL — DeepSeek V3, strong general capability', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000511, 'DeepSeek R1', 'siliconflow-intl', 'deepseek-ai/DeepSeek-R1', 'SiliconFlow INTL — DeepSeek R1 reasoning model', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000512, 'Qwen3 235B A22B', 'siliconflow-intl', 'Qwen/Qwen3-235B-A22B', 'SiliconFlow INTL — Qwen3 flagship MoE model', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000513, 'Qwen3 30B A3B', 'siliconflow-intl', 'Qwen/Qwen3-30B-A3B', 'SiliconFlow INTL — Qwen3 efficient MoE model', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000514, 'GLM-4 9B Chat', 'siliconflow-intl', 'THUDM/glm-4-9b-chat', 'SiliconFlow INTL — Zhipu GLM-4 9B, free tier', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000515, 'DeepSeek V3 Pro', 'siliconflow-intl', 'Pro/deepseek-ai/DeepSeek-V3', 'SiliconFlow INTL Pro — DeepSeek V3 priority tier', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000516, 'DeepSeek R1 Pro', 'siliconflow-intl', 'Pro/deepseek-ai/DeepSeek-R1', 'SiliconFlow INTL Pro — DeepSeek R1 priority tier', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;
-- ── OpenCode — free public models ──────────────────────────────────────────
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000520, 'Big Pickle', 'opencode', 'big-pickle', 'OpenCode 免费模型 — Big Pickle', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000521, 'Nemotron 3 Super Free', 'opencode', 'nemotron-3-super-free', 'OpenCode 免费模型 — Nemotron 3 Super', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000520, 'Big Pickle', 'opencode', 'big-pickle', 'OpenCode 免费模型 — Big Pickle', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000521, 'Nemotron 3 Super Free', 'opencode', 'nemotron-3-super-free', 'OpenCode 免费模型 — Nemotron 3 Super', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, update_time=EXCLUDED.update_time;

View File

@ -1,4 +1,4 @@
-- V3: Register CronJobTool as built-in tool (RFC-003)
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000018, 'CronJobTool', 'Scheduled Tasks', 'Create, list, enable/disable, and delete scheduled tasks (cron jobs) through chat.', 'builtin', 'cronJobTool', '', 1, 1, NOW(), NOW(), 0)
VALUES (1000000018, 'CronJobTool', 'Scheduled Tasks', 'Create, list, enable/disable, and delete scheduled tasks (cron jobs) through chat.', 'builtin', 'cronJobTool', '', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, update_time=EXCLUDED.update_time;

View File

@ -9,19 +9,19 @@
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
-- GPT-5.5 series (OpenAI / Azure / OpenRouter)
(1000000260, 'GPT-5.5', 'openai', 'gpt-5.5', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000261, 'GPT-5.5 Mini', 'openai', 'gpt-5.5-mini', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000262, 'GPT-5.5 Nano', 'openai', 'gpt-5.5-nano', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000263, 'GPT-5.5', 'azure-openai', 'gpt-5.5', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000264, 'GPT-5.5 Mini', 'azure-openai', 'gpt-5.5-mini', '', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000265, 'GPT-5.5', 'openrouter', 'openai/gpt-5.5', 'GPT-5.5 via OpenRouter', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000260, 'GPT-5.5', 'openai', 'gpt-5.5', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000261, 'GPT-5.5 Mini', 'openai', 'gpt-5.5-mini', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000262, 'GPT-5.5 Nano', 'openai', 'gpt-5.5-nano', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000263, 'GPT-5.5', 'azure-openai', 'gpt-5.5', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000264, 'GPT-5.5 Mini', 'azure-openai', 'gpt-5.5-mini', '', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000265, 'GPT-5.5', 'openrouter', 'openai/gpt-5.5', 'GPT-5.5 via OpenRouter', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- Claude 4.7 series. NOTE: Claude 4.7 forbids temperature/top_p/top_k —
-- handled in AgentAnthropicChatModelBuilder. NULL temperature/top_p in seed
-- is the documented signal.
(1000000270, 'Claude Opus 4.7', 'anthropic', 'claude-opus-4-7', 'Anthropic Claude Opus 4.7 (xhigh adaptive thinking)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000271, 'Claude Sonnet 4.7', 'anthropic', 'claude-sonnet-4-7', 'Anthropic Claude Sonnet 4.7', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000272, 'Claude Opus 4.7', 'openrouter', 'anthropic/claude-opus-4-7', 'Claude Opus 4.7 via OpenRouter', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000273, 'Claude Sonnet 4.7', 'openrouter', 'anthropic/claude-sonnet-4-7', 'Claude Sonnet 4.7 via OpenRouter', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0)
(1000000270, 'Claude Opus 4.7', 'anthropic', 'claude-opus-4-7', 'Anthropic Claude Opus 4.7 (xhigh adaptive thinking)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000271, 'Claude Sonnet 4.7', 'anthropic', 'claude-sonnet-4-7', 'Anthropic Claude Sonnet 4.7', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000272, 'Claude Opus 4.7', 'openrouter', 'anthropic/claude-opus-4-7', 'Claude Opus 4.7 via OpenRouter', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000273, 'Claude Sonnet 4.7', 'openrouter', 'anthropic/claude-sonnet-4-7', 'Claude Sonnet 4.7 via OpenRouter', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
provider = EXCLUDED.provider,

View File

@ -7,7 +7,7 @@
-- Same V number is used in h2/ for cross-dialect parity.
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, auth_type, create_time, update_time)
VALUES ('anthropic-claude-code', 'Anthropic Claude Code (OAuth)', '', 'ClaudeCodeChatModel', '', 'https://api.anthropic.com', '{}', 0, 0, 0, 0, 1, 0, 'oauth', NOW(), NOW())
VALUES ('anthropic-claude-code', 'Anthropic Claude Code (OAuth)', '', 'ClaudeCodeChatModel', '', 'https://api.anthropic.com', '{}', FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, 'oauth', NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
chat_model = EXCLUDED.chat_model,
base_url = EXCLUDED.base_url,
@ -16,8 +16,8 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000280, 'Claude Opus 4.7', 'anthropic-claude-code', 'claude-opus-4-7', 'Claude Opus 4.7 via Claude Code Pro/Max subscription', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000281, 'Claude Sonnet 4.7', 'anthropic-claude-code', 'claude-sonnet-4-7', 'Claude Sonnet 4.7 via Claude Code Pro/Max subscription', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0)
(1000000280, 'Claude Opus 4.7', 'anthropic-claude-code', 'claude-opus-4-7', 'Claude Opus 4.7 via Claude Code Pro/Max subscription', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000281, 'Claude Sonnet 4.7', 'anthropic-claude-code', 'claude-sonnet-4-7', 'Claude Sonnet 4.7 via Claude Code Pro/Max subscription', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
provider = EXCLUDED.provider,
model_name = EXCLUDED.model_name,

View File

@ -3,8 +3,8 @@
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000282, 'DeepSeek V4 Flash', 'deepseek', 'deepseek-v4-flash', 'DeepSeek V4 Flash (1M context, reasoning via thinking-enabled mode)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0),
(1000000283, 'DeepSeek V4 Pro', 'deepseek', 'deepseek-v4-pro', 'DeepSeek V4 Pro (1M context, reasoning via thinking-enabled mode)', NULL, 4096, NULL, 1, 1, 0, NOW(), NOW(), 0)
(1000000282, 'DeepSeek V4 Flash', 'deepseek', 'deepseek-v4-flash', 'DeepSeek V4 Flash (1M context, reasoning via thinking-enabled mode)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000283, 'DeepSeek V4 Pro', 'deepseek', 'deepseek-v4-pro', 'DeepSeek V4 Pro (1M context, reasoning via thinking-enabled mode)', NULL, 4096, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
provider = EXCLUDED.provider,
model_name = EXCLUDED.model_name,

View File

@ -1,5 +1,5 @@
-- V49 (MySQL): see h2/V49 for full rationale.
UPDATE mate_tool SET enabled = 1
UPDATE mate_tool SET enabled = TRUE
WHERE bean_name IN ('writeFileTool', 'editFileTool')
AND enabled = 0;
AND enabled = FALSE;

View File

@ -31,7 +31,7 @@ UPDATE mate_model_provider
-- ── Rule 3: local provider with messages in last 30 days → user is using it ─
UPDATE mate_model_provider
SET enabled = TRUE
WHERE is_local = 1
WHERE is_local = TRUE
AND provider_id IN (
SELECT DISTINCT runtime_provider
FROM mate_message
@ -42,4 +42,4 @@ UPDATE mate_model_provider
-- ── Rule 4: provider whose model is the current default → user is using it ─
UPDATE mate_model_provider
SET enabled = TRUE
WHERE provider_id IN (SELECT provider FROM mate_model_config WHERE is_default = 1);
WHERE provider_id IN (SELECT provider FROM mate_model_config WHERE is_default = TRUE);

View File

@ -2,17 +2,7 @@
-- pre-seeded model catalog. See the H2 copy for full background.
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'volcengine-plan',
'Volcano Engine Coding Plan (火山方舟代码计划)',
'',
'OpenAIChatModel',
'',
'https://ark.cn-beijing.volces.com/api/coding/v3',
'{}',
0, 0, 1, 1, 1, 1,
NOW(), NOW()
)
VALUES ('volcengine-plan', 'Volcano Engine Coding Plan (火山方舟代码计划)', '', 'OpenAIChatModel', '', 'https://ark.cn-beijing.volces.com/api/coding/v3', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
chat_model = EXCLUDED.chat_model,
base_url = EXCLUDED.base_url,
@ -25,12 +15,12 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000320, 'Ark Coding Plan', 'volcengine-plan', 'ark-code-latest', '方舟代码计划旗舰模型256K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000321, 'Doubao Seed Code', 'volcengine-plan', 'doubao-seed-code', '豆包代码模型256K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000322, 'Doubao Seed Code Preview','volcengine-plan', 'doubao-seed-code-preview-251028', '豆包代码预览模型256K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000323, 'GLM 4.7 Coding', 'volcengine-plan', 'glm-4.7', 'GLM 4.7 编码版火山方舟托管200K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000324, 'Kimi K2 Thinking', 'volcengine-plan', 'kimi-k2-thinking', 'Kimi K2 推理版火山方舟托管256K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000325, 'Kimi K2.5 Coding', 'volcengine-plan', 'kimi-k2.5', 'Kimi K2.5 编码版火山方舟托管256K 上下文', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000000320, 'Ark Coding Plan', 'volcengine-plan', 'ark-code-latest', '方舟代码计划旗舰模型256K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000321, 'Doubao Seed Code', 'volcengine-plan', 'doubao-seed-code', '豆包代码模型256K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000322, 'Doubao Seed Code Preview', 'volcengine-plan', 'doubao-seed-code-preview-251028', '豆包代码预览模型256K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000323, 'GLM 4.7 Coding', 'volcengine-plan', 'glm-4.7', 'GLM 4.7 编码版火山方舟托管200K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000324, 'Kimi K2 Thinking', 'volcengine-plan', 'kimi-k2-thinking', 'Kimi K2 推理版火山方舟托管256K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000325, 'Kimi K2.5 Coding', 'volcengine-plan', 'kimi-k2.5', 'Kimi K2.5 编码版火山方舟托管256K 上下文', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
model_name = EXCLUDED.model_name,
description = EXCLUDED.description,

View File

@ -7,4 +7,4 @@ WHERE id IN (1000000002, 1000000003, 1000000004, 1000000005,
1000000006, 1000000007, 1000000008, 1000000009)
AND channel_type IN ('dingtalk', 'feishu', 'telegram', 'discord',
'wecom', 'qq', 'weixin', 'slack')
AND enabled = 0;
AND enabled = FALSE;

View File

@ -29,18 +29,10 @@ INSERT INTO mate_acp_endpoint
tool_parse_mode, builtin, trusted, enabled,
stdio_buffer_limit_bytes, workspace_id, create_time, update_time, deleted)
VALUES
(9100001, 'codex', 'OpenAI Codex CLI', 'Delegate to the Codex ACP agent via npx',
'npx', '["-y","@zed-industries/codex-acp"]', '{}',
'call_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100002, 'claude-code', 'Claude Code', 'Delegate to Anthropic''s Claude Code agent via npx',
'npx', '["-y","@zed-industries/claude-agent-acp"]', '{}',
'update_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100003, 'opencode', 'OpenCode', 'Delegate to OpenCode ACP agent (binary on PATH)',
'opencode', '["acp"]', '{}',
'update_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100004, 'qwen-code', 'Qwen Code', 'Delegate to Qwen Code ACP agent (binary on PATH)',
'qwen', '["--acp"]', '{}',
'call_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0)
(9100001, 'codex', 'OpenAI Codex CLI', 'Delegate to the Codex ACP agent via npx', 'npx', '["-y","@zed-industries/codex-acp"]', '{}', 'call_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100002, 'claude-code', 'Claude Code', 'Delegate to Anthropic''s Claude Code agent via npx', 'npx', '["-y","@zed-industries/claude-agent-acp"]', '{}', 'update_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100003, 'opencode', 'OpenCode', 'Delegate to OpenCode ACP agent (binary on PATH)', 'opencode', '["acp"]', '{}', 'update_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0),
(9100004, 'qwen-code', 'Qwen Code', 'Delegate to Qwen Code ACP agent (binary on PATH)', 'qwen', '["--acp"]', '{}', 'call_detail', TRUE, TRUE, FALSE, 52428800, 1, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET display_name = EXCLUDED.display_name,
description = EXCLUDED.description,
command = EXCLUDED.command,

View File

@ -6,13 +6,7 @@ INSERT INTO mate_model_provider (
generate_kwargs, is_custom, is_local, support_model_discovery,
support_connection_check, freeze_url, require_api_key, auth_type,
create_time, update_time
) VALUES (
'hunyuan-3d', '腾讯混元 3D', 'AKID', 'NotApplicable', '',
'https://ai3d.tencentcloudapi.com',
'{"service":"ai3d","version":"2025-05-13","region":"ap-guangzhou"}',
0, 0, 0, 0, 1, 1, 'tc3_hmac_sha256',
NOW(), NOW()
)
) VALUES ('hunyuan-3d', '腾讯混元 3D', 'AKID', 'NotApplicable', '', 'https://ai3d.tencentcloudapi.com', '{"service":"ai3d","version":"2025-05-13","region":"ap-guangzhou"}', FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, 'tc3_hmac_sha256', NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET
name = EXCLUDED.name,
api_key_prefix = EXCLUDED.api_key_prefix,

View File

@ -5,15 +5,9 @@ INSERT INTO mate_model_config (
temperature, max_tokens, top_p, builtin, enabled, is_default,
model_type, create_time, update_time, deleted
) VALUES
(1000000500, 'HY-3D-3.1', 'hunyuan-3d', 'HY-3D-3.1',
'腾讯混元 3D 3.1 — 最高精度,支持 PBR / 多视角 / Geometry 白模等专业参数',
NULL, NULL, NULL, 1, 1, 1, 'model3d', NOW(), NOW(), 0),
(1000000501, 'HY-3D-3.0', 'hunyuan-3d', 'HY-3D-3.0',
'腾讯混元 3D 3.0 — 老一代 Pro 模型,与 3.1 共享 SubmitHunyuanTo3DProJob 调用',
NULL, NULL, NULL, 1, 1, 0, 'model3d', NOW(), NOW(), 0),
(1000000502, 'HY-3D-Express', 'hunyuan-3d', 'HY-3D-Express',
'腾讯混元 3D 极速版 — 走 SubmitHunyuanTo3DRapidJob 接口,速度最快但仅支持 Prompt / ImageUrl',
NULL, NULL, NULL, 1, 1, 0, 'model3d', NOW(), NOW(), 0)
(1000000500, 'HY-3D-3.1', 'hunyuan-3d', 'HY-3D-3.1', '腾讯混元 3D 3.1 — 最高精度,支持 PBR / 多视角 / Geometry 白模等专业参数', NULL, NULL, NULL, TRUE, TRUE, TRUE, 'model3d', NOW(), NOW(), 0),
(1000000501, 'HY-3D-3.0', 'hunyuan-3d', 'HY-3D-3.0', '腾讯混元 3D 3.0 — 老一代 Pro 模型,与 3.1 共享 SubmitHunyuanTo3DProJob 调用', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'model3d', NOW(), NOW(), 0),
(1000000502, 'HY-3D-Express', 'hunyuan-3d', 'HY-3D-Express', '腾讯混元 3D 极速版 — 走 SubmitHunyuanTo3DRapidJob 接口,速度最快但仅支持 Prompt / ImageUrl', NULL, NULL, NULL, TRUE, TRUE, FALSE, 'model3d', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
model_name = EXCLUDED.model_name,

View File

@ -24,13 +24,13 @@ CREATE INDEX IF NOT EXISTS idx_mff_key_flag ON mate_feature_flag (flag_key, enab
-- Seed wiki feature flags with safe defaults. ON DUPLICATE KEY UPDATE
-- preserves existing operator overrides on re-run.
INSERT INTO mate_feature_flag (flag_key, enabled, description) VALUES
('wiki.ocr.enabled', FALSE, 'Image OCR / vision-in pipeline for wiki uploads'),
('wiki.compile.4stage.enabled', FALSE, 'Four-stage knowledge base compilation pipeline'),
('wiki.compile.cache.enabled', FALSE, 'Prompt cache layer for the wiki compile pipeline'),
('wiki.confidence.enabled', FALSE, 'Confidence taxonomy on wiki relations and pages'),
('wiki.hot_cache.enabled', FALSE, 'KB-level recent-activity snapshot injected into agent system prompt'),
('wiki.graph.insights.enabled', FALSE, 'Wiki graph insights panel (surprising connections, gaps, bridges)'),
('wiki.graph.adamic_adar.enabled', FALSE, 'Adamic-Adar graph signal (additive to existing four signals)'),
('wiki.graph.boundary.enabled', FALSE, 'Boundary score for surfacing dangling pages'),
('wiki.relation.cache.enabled', TRUE, 'Persistent cache for wiki page-to-page relation computation')
('wiki.ocr.enabled', FALSE, 'Image OCR / vision-in pipeline for wiki uploads'),
('wiki.compile.4stage.enabled', FALSE, 'Four-stage knowledge base compilation pipeline'),
('wiki.compile.cache.enabled', FALSE, 'Prompt cache layer for the wiki compile pipeline'),
('wiki.confidence.enabled', FALSE, 'Confidence taxonomy on wiki relations and pages'),
('wiki.hot_cache.enabled', FALSE, 'KB-level recent-activity snapshot injected into agent system prompt'),
('wiki.graph.insights.enabled', FALSE, 'Wiki graph insights panel (surprising connections, gaps, bridges)'),
('wiki.graph.adamic_adar.enabled', FALSE, 'Adamic-Adar graph signal (additive to existing four signals)'),
('wiki.graph.boundary.enabled', FALSE, 'Boundary score for surfacing dangling pages'),
('wiki.relation.cache.enabled', TRUE, 'Persistent cache for wiki page-to-page relation computation')
ON CONFLICT (flag_key) DO UPDATE SET description = EXCLUDED.description;

View File

@ -21,29 +21,29 @@
-- 1. Soft-delete the bogus model id (idempotent).
UPDATE mate_model_config
SET deleted = 1, enabled = 0, update_time = NOW()
SET deleted = 1, enabled = FALSE, update_time = NOW()
WHERE id = 1000000172
AND model_name = 'qwen3-plus';
-- 2a. Latest-snapshot trackers on dashscope native (text-generation endpoint).
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000174, 'Qwen Plus (latest)', 'dashscope', 'qwen-plus-latest', 'Latest stable snapshot of Qwen Plus — auto-updates as Bailian rolls new releases.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000175, 'Qwen Max (latest)', 'dashscope', 'qwen-max-latest', 'Latest stable snapshot of Qwen Max — strongest reasoning capability.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000176, 'Qwen Turbo (latest)', 'dashscope', 'qwen-turbo-latest', 'Latest stable snapshot of Qwen Turbo — low latency, high frequency.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000174, 'Qwen Plus (latest)', 'dashscope', 'qwen-plus-latest', 'Latest stable snapshot of Qwen Plus — auto-updates as Bailian rolls new releases.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000175, 'Qwen Max (latest)', 'dashscope', 'qwen-max-latest', 'Latest stable snapshot of Qwen Max — strongest reasoning capability.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000176, 'Qwen Turbo (latest)', 'dashscope', 'qwen-turbo-latest', 'Latest stable snapshot of Qwen Turbo — low latency, high frequency.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;
-- 2b. Newer Qwen3 series on the bailian-team OpenAI-compat token plan endpoint.
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, model_type, create_time, update_time, deleted)
VALUES
(1000000407, 'Qwen 3.5 Plus', 'bailian-team', 'qwen3.5-plus', 'Bailian Token Plan — Qwen3.5 balanced flagship, hybrid thinking, 128K context.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000408, 'Qwen 3.5 Flash', 'bailian-team', 'qwen3.5-flash', 'Bailian Token Plan — Qwen3.5 fast variant, lower latency for high-frequency calls.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000409, 'Qwen3 VL Plus', 'bailian-team', 'qwen3-vl-plus', 'Bailian Token Plan — Qwen3 vision-language flagship, image + video understanding.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000410, 'Qwen3 VL Flash', 'bailian-team', 'qwen3-vl-flash', 'Bailian Token Plan — Qwen3 vision-language fast variant for high-throughput vision.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000411, 'Qwen3 Coder Plus', 'bailian-team', 'qwen3-coder-plus', 'Bailian Token Plan — Qwen3 coding flagship, agentic code editing and tool use.', 0.2, 8192, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000412, 'Qwen 3.6 Plus 2026-04-02', 'bailian-team', 'qwen3.6-plus-2026-04-02','Bailian Token Plan — pinned snapshot of Qwen 3.6 Plus released 2026-04-02.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000413, 'Qwen 3.6 Max (preview)', 'bailian-team', 'qwen3.6-max-preview', 'Bailian Token Plan — Qwen3.6 Max preview, strongest reasoning in the 3.6 lineup.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000414, 'Qwen 3.6 Flash', 'bailian-team', 'qwen3.6-flash', 'Bailian Token Plan — Qwen3.6 fast variant, hybrid thinking mode default-on.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000415, 'Qwen 3.6 Flash 2026-04-16','bailian-team', 'qwen3.6-flash-2026-04-16','Bailian Token Plan — pinned snapshot of Qwen 3.6 Flash released 2026-04-16.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0),
(1000000416, 'Qwen 3.5 Omni Plus', 'bailian-team', 'qwen3.5-omni-plus', 'Bailian Token Plan — Qwen3.5 omni-modal plus, text + vision + audio in/out.', 0.7, 4096, 0.8, 1, 1, 0, 'chat', NOW(), NOW(), 0)
(1000000407, 'Qwen 3.5 Plus', 'bailian-team', 'qwen3.5-plus', 'Bailian Token Plan — Qwen3.5 balanced flagship, hybrid thinking, 128K context.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000408, 'Qwen 3.5 Flash', 'bailian-team', 'qwen3.5-flash', 'Bailian Token Plan — Qwen3.5 fast variant, lower latency for high-frequency calls.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000409, 'Qwen3 VL Plus', 'bailian-team', 'qwen3-vl-plus', 'Bailian Token Plan — Qwen3 vision-language flagship, image + video understanding.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000410, 'Qwen3 VL Flash', 'bailian-team', 'qwen3-vl-flash', 'Bailian Token Plan — Qwen3 vision-language fast variant for high-throughput vision.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000411, 'Qwen3 Coder Plus', 'bailian-team', 'qwen3-coder-plus', 'Bailian Token Plan — Qwen3 coding flagship, agentic code editing and tool use.', 0.2, 8192, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000412, 'Qwen 3.6 Plus 2026-04-02', 'bailian-team', 'qwen3.6-plus-2026-04-02', 'Bailian Token Plan — pinned snapshot of Qwen 3.6 Plus released 2026-04-02.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000413, 'Qwen 3.6 Max (preview)', 'bailian-team', 'qwen3.6-max-preview', 'Bailian Token Plan — Qwen3.6 Max preview, strongest reasoning in the 3.6 lineup.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000414, 'Qwen 3.6 Flash', 'bailian-team', 'qwen3.6-flash', 'Bailian Token Plan — Qwen3.6 fast variant, hybrid thinking mode default-on.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000415, 'Qwen 3.6 Flash 2026-04-16', 'bailian-team', 'qwen3.6-flash-2026-04-16', 'Bailian Token Plan — pinned snapshot of Qwen 3.6 Flash released 2026-04-16.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0),
(1000000416, 'Qwen 3.5 Omni Plus', 'bailian-team', 'qwen3.5-omni-plus', 'Bailian Token Plan — Qwen3.5 omni-modal plus, text + vision + audio in/out.', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, 'chat', NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, description=EXCLUDED.description, model_type=EXCLUDED.model_type, update_time=EXCLUDED.update_time;

View File

@ -21,8 +21,8 @@ SELECT 1000000903,
'sse',
'http://localhost:8085/sse',
'{"Authorization": "Bearer ${CKJIA_MCP_KEY}"}',
0,
FALSE,
'CKJIA price comparison MCP server. Disabled by default; replace the dev/test localhost URL with the production CKJIA domain before enabling.',
30, 30, 1,
30, 30, TRUE,
NOW(), NOW(), 0
WHERE NOT EXISTS (SELECT 1 FROM mate_mcp_server WHERE name = 'ckjia-shopping');

View File

@ -4,13 +4,13 @@
-- ON DUPLICATE KEY UPDATE clause keeps the migration idempotent.
UPDATE mate_model_provider
SET support_model_discovery = 1,
SET support_model_discovery = TRUE,
update_time = CURRENT_TIMESTAMP
WHERE provider_id = 'openai-chatgpt'
AND support_model_discovery <> 1;
AND support_model_discovery <> TRUE;
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES (1000000252, 'GPT-5.5', 'openai-chatgpt', 'gpt-5.5', 'ChatGPT Plus/Pro flagship model', NULL, 128000, NULL, 1, 1, 0, NOW(), NOW(), 0)
VALUES (1000000252, 'GPT-5.5', 'openai-chatgpt', 'gpt-5.5', 'ChatGPT Plus/Pro flagship model', NULL, 128000, NULL, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
description = EXCLUDED.description,
update_time = NOW();

View File

@ -5,17 +5,7 @@
-- -- Zhipu Coding Plan (China) ----------------------------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'zhipu-cn-codingplan',
'Zhipu Coding Plan (BigModel)',
'',
'OpenAIChatModel',
'',
'https://open.bigmodel.cn/api/coding/paas/v4',
'{"completionsPath":"/chat/completions"}',
0, 0, 0, 0, 1, 1,
NOW(), NOW()
)
VALUES ('zhipu-cn-codingplan', 'Zhipu Coding Plan (BigModel)', '', 'OpenAIChatModel', '', 'https://open.bigmodel.cn/api/coding/paas/v4', '{"completionsPath":"/chat/completions"}', FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
chat_model = EXCLUDED.chat_model,
base_url = EXCLUDED.base_url,
@ -28,17 +18,7 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- -- Zhipu Coding Plan (International) ---------------------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'zhipu-intl-codingplan',
'Zhipu Coding Plan (Z.AI)',
'',
'OpenAIChatModel',
'',
'https://api.z.ai/api/coding/paas/v4',
'{"completionsPath":"/chat/completions"}',
0, 0, 0, 0, 1, 1,
NOW(), NOW()
)
VALUES ('zhipu-intl-codingplan', 'Zhipu Coding Plan (Z.AI)', '', 'OpenAIChatModel', '', 'https://api.z.ai/api/coding/paas/v4', '{"completionsPath":"/chat/completions"}', FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
chat_model = EXCLUDED.chat_model,
base_url = EXCLUDED.base_url,
@ -51,17 +31,7 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- -- Aliyun DashScope Coding Plan (International) ---------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'aliyun-codingplan-intl',
'Aliyun Coding Plan (International)',
'sk-sp',
'OpenAIChatModel',
'',
'https://coding-intl.dashscope.aliyuncs.com/v1',
'{}',
0, 0, 0, 0, 1, 1,
NOW(), NOW()
)
VALUES ('aliyun-codingplan-intl', 'Aliyun Coding Plan (International)', 'sk-sp', 'OpenAIChatModel', '', 'https://coding-intl.dashscope.aliyuncs.com/v1', '{}', FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
api_key_prefix = EXCLUDED.api_key_prefix,
chat_model = EXCLUDED.chat_model,
@ -76,14 +46,14 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- -- Zhipu Coding Plan model catalog ----------------------------------------
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000230, 'GLM-5 Coding', 'zhipu-cn-codingplan', 'glm-5', '智谱编码套餐 — GLM-5 旗舰', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000231, 'GLM-5.1 Coding', 'zhipu-cn-codingplan', 'glm-5.1', '智谱编码套餐 — GLM-5.1 最新旗舰', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000232, 'GLM-5-Turbo Coding', 'zhipu-cn-codingplan', 'glm-5-turbo', '智谱编码套餐 — GLM-5 高速版', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000233, 'GLM-4.7 Coding', 'zhipu-cn-codingplan', 'glm-4.7', '智谱编码套餐 — GLM-4.7', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000234, 'GLM-5 Coding', 'zhipu-intl-codingplan', 'glm-5', 'Zhipu Coding Plan — GLM-5 flagship', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000235, 'GLM-5.1 Coding', 'zhipu-intl-codingplan', 'glm-5.1', 'Zhipu Coding Plan — GLM-5.1 latest flagship', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000236, 'GLM-5-Turbo Coding', 'zhipu-intl-codingplan', 'glm-5-turbo', 'Zhipu Coding Plan — GLM-5 fast variant', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000237, 'GLM-4.7 Coding', 'zhipu-intl-codingplan', 'glm-4.7', 'Zhipu Coding Plan — GLM-4.7', 0.2, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000000230, 'GLM-5 Coding', 'zhipu-cn-codingplan', 'glm-5', '智谱编码套餐 — GLM-5 旗舰', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000231, 'GLM-5.1 Coding', 'zhipu-cn-codingplan', 'glm-5.1', '智谱编码套餐 — GLM-5.1 最新旗舰', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000232, 'GLM-5-Turbo Coding', 'zhipu-cn-codingplan', 'glm-5-turbo', '智谱编码套餐 — GLM-5 高速版', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000233, 'GLM-4.7 Coding', 'zhipu-cn-codingplan', 'glm-4.7', '智谱编码套餐 — GLM-4.7', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000234, 'GLM-5 Coding', 'zhipu-intl-codingplan', 'glm-5', 'Zhipu Coding Plan — GLM-5 flagship', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000235, 'GLM-5.1 Coding', 'zhipu-intl-codingplan', 'glm-5.1', 'Zhipu Coding Plan — GLM-5.1 latest flagship', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000236, 'GLM-5-Turbo Coding', 'zhipu-intl-codingplan', 'glm-5-turbo', 'Zhipu Coding Plan — GLM-5 fast variant', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000237, 'GLM-4.7 Coding', 'zhipu-intl-codingplan', 'glm-4.7', 'Zhipu Coding Plan — GLM-4.7', 0.2, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
model_name = EXCLUDED.model_name,
description = EXCLUDED.description,
@ -95,17 +65,17 @@ ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
-- Backfill: qwen3.6-plus on aliyun-codingplan (cn).
(1000000162, 'Qwen3.6 Plus', 'aliyun-codingplan', 'qwen3.6-plus', '阿里云编码套餐 — Qwen3.6 Plus 旗舰', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000162, 'Qwen3.6 Plus', 'aliyun-codingplan', 'qwen3.6-plus', '阿里云编码套餐 — Qwen3.6 Plus 旗舰', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
-- Aliyun Coding Plan (International) catalog.
(1000000241, 'Qwen3.6 Plus', 'aliyun-codingplan-intl', 'qwen3.6-plus', 'Aliyun Coding Plan (Intl) — Qwen3.6 Plus flagship', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000242, 'Qwen3.5 Plus', 'aliyun-codingplan-intl', 'qwen3.5-plus', 'Aliyun Coding Plan (Intl) — Qwen3.5 balanced', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000243, 'GLM-5', 'aliyun-codingplan-intl', 'glm-5', 'Aliyun Coding Plan (Intl) — GLM-5 hosted on DashScope', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000244, 'GLM-4.7', 'aliyun-codingplan-intl', 'glm-4.7', 'Aliyun Coding Plan (Intl) — GLM-4.7 hosted on DashScope', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000245, 'MiniMax M2.5', 'aliyun-codingplan-intl', 'MiniMax-M2.5', 'Aliyun Coding Plan (Intl) — MiniMax M2.5 hosted on DashScope', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000246, 'Kimi K2.5', 'aliyun-codingplan-intl', 'kimi-k2.5', 'Aliyun Coding Plan (Intl) — Kimi K2.5 hosted on DashScope', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000247, 'Qwen3 Max 2026-01-23', 'aliyun-codingplan-intl', 'qwen3-max-2026-01-23', 'Aliyun Coding Plan (Intl) — Qwen3 Max pinned snapshot', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000248, 'Qwen3 Coder Next', 'aliyun-codingplan-intl', 'qwen3-coder-next', 'Aliyun Coding Plan (Intl) — Qwen3 Coder Next, agentic coding', 0.2, 8192, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000249, 'Qwen3 Coder Plus', 'aliyun-codingplan-intl', 'qwen3-coder-plus', 'Aliyun Coding Plan (Intl) — Qwen3 Coder Plus, agentic coding', 0.2, 8192, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000000241, 'Qwen3.6 Plus', 'aliyun-codingplan-intl', 'qwen3.6-plus', 'Aliyun Coding Plan (Intl) — Qwen3.6 Plus flagship', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000242, 'Qwen3.5 Plus', 'aliyun-codingplan-intl', 'qwen3.5-plus', 'Aliyun Coding Plan (Intl) — Qwen3.5 balanced', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000243, 'GLM-5', 'aliyun-codingplan-intl', 'glm-5', 'Aliyun Coding Plan (Intl) — GLM-5 hosted on DashScope', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000244, 'GLM-4.7', 'aliyun-codingplan-intl', 'glm-4.7', 'Aliyun Coding Plan (Intl) — GLM-4.7 hosted on DashScope', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000245, 'MiniMax M2.5', 'aliyun-codingplan-intl', 'MiniMax-M2.5', 'Aliyun Coding Plan (Intl) — MiniMax M2.5 hosted on DashScope', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000246, 'Kimi K2.5', 'aliyun-codingplan-intl', 'kimi-k2.5', 'Aliyun Coding Plan (Intl) — Kimi K2.5 hosted on DashScope', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000247, 'Qwen3 Max 2026-01-23', 'aliyun-codingplan-intl', 'qwen3-max-2026-01-23', 'Aliyun Coding Plan (Intl) — Qwen3 Max pinned snapshot', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000248, 'Qwen3 Coder Next', 'aliyun-codingplan-intl', 'qwen3-coder-next', 'Aliyun Coding Plan (Intl) — Qwen3 Coder Next, agentic coding', 0.2, 8192, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000249, 'Qwen3 Coder Plus', 'aliyun-codingplan-intl', 'qwen3-coder-plus', 'Aliyun Coding Plan (Intl) — Qwen3 Coder Plus, agentic coding', 0.2, 8192, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
model_name = EXCLUDED.model_name,

View File

@ -3,17 +3,7 @@
-- -- Provider --------------------------------------------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'xiaomi-mimo',
'Xiaomi MiMo',
'',
'OpenAIChatModel',
'',
'https://api.xiaomimimo.com/v1',
'{}',
0, 0, 1, 1, 1, 1,
NOW(), NOW()
)
VALUES ('xiaomi-mimo', 'Xiaomi MiMo', '', 'OpenAIChatModel', '', 'https://api.xiaomimimo.com/v1', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
api_key_prefix = EXCLUDED.api_key_prefix,
chat_model = EXCLUDED.chat_model,
@ -28,11 +18,11 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- -- Model catalog ---------------------------------------------------------
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000001200, 'MiMo V2.5 Pro', 'xiaomi-mimo', 'mimo-v2.5-pro', 'Xiaomi MiMo V2.5 Pro — latest flagship reasoning + coding model', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000001201, 'MiMo V2.5', 'xiaomi-mimo', 'mimo-v2.5', 'Xiaomi MiMo V2.5 — balanced model in the V2.5 family', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000001202, 'MiMo V2 Pro', 'xiaomi-mimo', 'mimo-v2-pro', 'Xiaomi MiMo V2 Pro — 1M token context window flagship', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000001203, 'MiMo V2 Omni', 'xiaomi-mimo', 'mimo-v2-omni', 'Xiaomi MiMo V2 Omni — multimodal variant supporting text, vision, audio', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000001204, 'MiMo V2 Flash', 'xiaomi-mimo', 'mimo-v2-flash', 'Xiaomi MiMo V2 Flash — fast, low-latency variant with 262K context', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000001200, 'MiMo V2.5 Pro', 'xiaomi-mimo', 'mimo-v2.5-pro', 'Xiaomi MiMo V2.5 Pro — latest flagship reasoning + coding model', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000001201, 'MiMo V2.5', 'xiaomi-mimo', 'mimo-v2.5', 'Xiaomi MiMo V2.5 — balanced model in the V2.5 family', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000001202, 'MiMo V2 Pro', 'xiaomi-mimo', 'mimo-v2-pro', 'Xiaomi MiMo V2 Pro — 1M token context window flagship', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000001203, 'MiMo V2 Omni', 'xiaomi-mimo', 'mimo-v2-omni', 'Xiaomi MiMo V2 Omni — multimodal variant supporting text, vision, audio', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000001204, 'MiMo V2 Flash', 'xiaomi-mimo', 'mimo-v2-flash', 'Xiaomi MiMo V2 Flash — fast, low-latency variant with 262K context', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
model_name = EXCLUDED.model_name,
description = EXCLUDED.description,

View File

@ -4,13 +4,13 @@
-- Idempotent: ON DUPLICATE KEY UPDATE keeps rows in sync if they already exist.
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000020, 'XlsxRenderTool', 'XLSX Render', 'Render Markdown directly into a .xlsx workbook and return a one-time download link. In-process Apache POI; each # heading becomes a sheet, pipe tables become rows, numeric cells auto-detected.', 'builtin', 'xlsxRenderTool', '📊', 1, 1, NOW(), NOW(), 0)
VALUES (1000000020, 'XlsxRenderTool', 'XLSX Render', 'Render Markdown directly into a .xlsx workbook and return a one-time download link. In-process Apache POI; each # heading becomes a sheet, pipe tables become rows, numeric cells auto-detected.', 'builtin', 'xlsxRenderTool', '📊', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, bean_name=EXCLUDED.bean_name, icon=EXCLUDED.icon, update_time=EXCLUDED.update_time;
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000021, 'PptxRenderTool', 'PPTX Render', 'Render Marp-style Markdown directly into a .pptx deck and return a one-time download link. In-process Apache POI; --- separates slides, # / ## titles, - bullets, <!-- speaker notes -->.', 'builtin', 'pptxRenderTool', '🎞️', 1, 1, NOW(), NOW(), 0)
VALUES (1000000021, 'PptxRenderTool', 'PPTX Render', 'Render Marp-style Markdown directly into a .pptx deck and return a one-time download link. In-process Apache POI; --- separates slides, # / ## titles, - bullets, <!-- speaker notes -->.', 'builtin', 'pptxRenderTool', '🎞️', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, bean_name=EXCLUDED.bean_name, icon=EXCLUDED.icon, update_time=EXCLUDED.update_time;
INSERT INTO mate_tool (id, name, display_name, description, tool_type, bean_name, icon, enabled, builtin, create_time, update_time, deleted)
VALUES (1000000022, 'PdfRenderTool', 'PDF Render', 'Render Markdown into a final-form .pdf and return a one-time download link. Two backends (LibreOffice subprocess preferred, OpenPDF + Flying Saucer fallback); supports YAML frontmatter for cover / page header / page footer.', 'builtin', 'pdfRenderTool', '📄', 1, 1, NOW(), NOW(), 0)
VALUES (1000000022, 'PdfRenderTool', 'PDF Render', 'Render Markdown into a final-form .pdf and return a one-time download link. Two backends (LibreOffice subprocess preferred, OpenPDF + Flying Saucer fallback); supports YAML frontmatter for cover / page header / page footer.', 'builtin', 'pdfRenderTool', '📄', TRUE, TRUE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name=EXCLUDED.name, display_name=EXCLUDED.display_name, description=EXCLUDED.description, bean_name=EXCLUDED.bean_name, icon=EXCLUDED.icon, update_time=EXCLUDED.update_time;

View File

@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS mate_workflow (
workspace_id BIGINT NOT NULL,
name VARCHAR(128) NOT NULL,
description VARCHAR(1024),
enabled SMALLINT NOT NULL DEFAULT 1,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
draft_json TEXT,
draft_schema_version VARCHAR(8),
draft_updated_by BIGINT,
@ -128,8 +128,8 @@ CREATE TABLE IF NOT EXISTS mate_trigger (
payload_template TEXT,
rate_limit_per_min INT NOT NULL DEFAULT 60,
dedup_window_secs INT NOT NULL DEFAULT 60,
bot_self_filter SMALLINT NOT NULL DEFAULT 1,
enabled SMALLINT NOT NULL DEFAULT 1,
bot_self_filter BOOLEAN NOT NULL DEFAULT TRUE,
enabled BOOLEAN NOT NULL DEFAULT TRUE,
fire_count BIGINT NOT NULL DEFAULT 0,
max_fires BIGINT NOT NULL DEFAULT 0,
last_fired_at TIMESTAMP(3),

View File

@ -10,17 +10,7 @@
-- -- Provider --------------------------------------------------------------
INSERT INTO mate_model_provider (provider_id, name, api_key_prefix, chat_model, api_key, base_url, generate_kwargs, is_custom, is_local, support_model_discovery, support_connection_check, freeze_url, require_api_key, create_time, update_time)
VALUES (
'dashscope-compat',
'DashScope (兼容模式)',
'sk-',
'OpenAIChatModel',
'',
'https://dashscope.aliyuncs.com/compatible-mode/v1',
'{}',
0, 0, 1, 1, 1, 1,
NOW(), NOW()
)
VALUES ('dashscope-compat', 'DashScope (兼容模式)', 'sk-', 'OpenAIChatModel', '', 'https://dashscope.aliyuncs.com/compatible-mode/v1', '{}', FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, NOW(), NOW())
ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
api_key_prefix = EXCLUDED.api_key_prefix,
chat_model = EXCLUDED.chat_model,
@ -38,9 +28,9 @@ ON CONFLICT (provider_id) DO UPDATE SET name = EXCLUDED.name,
-- accounts; users with whitelist access can add them via Settings → Models.
INSERT INTO mate_model_config (id, name, provider, model_name, description, temperature, max_tokens, top_p, builtin, enabled, is_default, create_time, update_time, deleted)
VALUES
(1000000601, 'Qwen3.6 Plus', 'dashscope-compat', 'qwen3.6-plus', '通义千问 3.6 Plus 旗舰,平衡推理与速度(兼容模式专属)', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000603, 'Qwen3.5 Plus', 'dashscope-compat', 'qwen3.5-plus', '通义千问 3.5 Plus兼容模式专属', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0),
(1000000605, 'Qwen3 VL Plus', 'dashscope-compat', 'qwen3-vl-plus', '通义千问 3 视觉理解 Plus支持图像、视频输入兼容模式专属', 0.7, 4096, 0.8, 1, 1, 0, NOW(), NOW(), 0)
(1000000601, 'Qwen3.6 Plus', 'dashscope-compat', 'qwen3.6-plus', '通义千问 3.6 Plus 旗舰,平衡推理与速度(兼容模式专属)', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000603, 'Qwen3.5 Plus', 'dashscope-compat', 'qwen3.5-plus', '通义千问 3.5 Plus兼容模式专属', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0),
(1000000605, 'Qwen3 VL Plus', 'dashscope-compat', 'qwen3-vl-plus', '通义千问 3 视觉理解 Plus支持图像、视频输入兼容模式专属', 0.7, 4096, 0.8, TRUE, TRUE, FALSE, NOW(), NOW(), 0)
ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name,
model_name = EXCLUDED.model_name,
description = EXCLUDED.description,