服务端配置说明(mindlink.json)
仅环境变量模式:不放置 mindlink.json 时,进程完全依赖环境变量(见各节「环境变量」列)。
来源 help/admin-ops/mindlink-server-config.md
本文说明 Cadau 后端进程 的主配置文件 backend/mindlink.json:各段做什么、改哪里会影响什么。面向 平台运维与管理员;普通成员一般无需阅读。
安全:本文件含密钥与账号,勿提交到 Git(仓库已忽略)。帮助文档里只写字段含义与非敏感示例,不写真实密钥。
1. 文件位置与加载方式
| 项 | 说明 |
|---|---|
| 默认路径 | 在 backend/ 目录启动时,自动查找 mindlink.json;也可用环境变量 MINDLINK_CONFIG 指定绝对路径 |
| 语法 | HuJSON(标准 JSON + // 注释 + 尾逗号),启动时标准化后再解析 |
| 示例模板 | 仓库内 backend/config.example.json(可提交,无真实密钥) |
| 与环境变量 | 先读环境变量默认值,再读 JSON 覆盖;部分项(如 AGENT_HTTP_*)环境变量在 JSON 之后仍可再次覆盖 |
仅环境变量模式:不放置 mindlink.json 时,进程完全依赖环境变量(见各节「环境变量」列)。
2. 配置总览(结构示例)
以下为 mindlink.json 常见段落(密钥已省略;各环境具体取值以本机文件为准,完整字段见 backend/config.example.json):
{
"http": { "addr": ":8080" },
"auth": { "jwt_secret": "<勿写入帮助文档>" },
"database": { "url": "file:mindlink.db?cache=shared&mode=rwc" },
"admin_bootstrap": { "email": "admin@local", "password": "<勿写入帮助文档>" },
"redis": { "addr": "127.0.0.1:6379", "password": "", "db": 0 },
"rag": {
"enable_vector": true,
"enable_bm25": false,
"enable_rerank": false,
"enable_query_rewrite": false
},
"sms": {
"enabled": true,
"api_url": "https://apis.shlianlu.com/sms/trade/template/send",
"mch_id": "<商户号>",
"app_id": "<应用 ID>",
"api_secret": "<勿写入帮助文档>",
"template_code": "<模板编号>"
},
"smtp": {
"host": "smtp.qiye.aliyun.com",
"port": 465,
"username": "msg@hrsvc.cn",
"password": "<勿写入帮助文档>",
"from": "msg@hrsvc.cn",
"use_starttls": false
},
"llm": {
"default_profile": "minimax",
"profiles": {
"minimax": {
"base_url": "https://api.minimaxi.com/v1",
"api_key": "<勿写入帮助文档>",
"model": "MiniMax-M3",
"timeout_sec": 90,
"context_tokens": 1000000
}
}
},
"agent_http_tool": {
"enabled": true,
"allow_hosts": ["localhost", "127.0.0.1", "::1", "crm.katop.com"],
"max_rounds": 500,
"timeout_sec": 45,
"max_body_bytes": 262144,
"max_request_body_bytes": 1048576,
"allow_public_internet": true
},
"data_source_tool": {
"enabled": true,
"allow_hosts": [],
"default_preview_max_rows": 200,
"absolute_preview_max_rows": 500
},
"agent_script_tool": {
"enabled": true,
"timeout_sec": 60,
"max_output_bytes": 10485760,
"pip_index_url": "https://pypi.tuna.tsinghua.edu.cn/simple"
},
"agent_officecli_tool": {
"enabled": true,
"timeout_sec": 60,
"max_output_bytes": 20971520
},
"paths": {
"upload_dir": "tmp/uploads",
"runtime_dir": "tmp/runtime",
"agent_runtime_template_dir": "",
"chat_archive_dir": "tmp/memoryforge/chat-archive"
},
"help_docs": { "dir": "help", "index_file": "index.json" },
"skill_docs": { "dir": "docs/agent-skills", "index_file": "index.json" },
"skill_registries": {
"allow_external": true,
"install_requires_admin": false,
"http_timeout_sec": 30,
"clawhub": {
"enabled": true,
"base_url": "https://clawhub.ai"
}
},
"chat_context": {
"resolve_max_runes_from_model": true,
"max_runes": 937500,
"reply_reserve_runes": 16000,
"summarize_threshold_pct": 88,
"min_verbatim_messages": 6,
"summarize_batch_messages": 4
},
"debug_mirror": { "enabled": true, "dir": "" },
"memory_forge": {
"auto_scan_enabled": false,
"auto_scan_interval": "24h",
"auto_scan_days": 7
},
"agent_memory_maintain": {
"enabled": false,
"daily_local_hour": 2,
"daily_note_retain_days": 14,
"stale_review_days": 90,
"min_entries_for_llm": 5,
"max_agents_per_run": 30,
"max_deletes_per_agent": 8,
"use_llm": true
},
"schedule": {
"enabled": true,
"tick_interval": "30s",
"max_active_per_user": 20
},
"mobile_push": {
"base_url": "https://crm.katop.com/dtzXyJPn",
"secret_key": "<勿写入帮助文档>"
}
}
另有一项 未写在 JSON 内、由环境变量控制:运行时时区 MINDLINK_RUNTIME_TIMEZONE(默认 Asia/Shanghai / 北京时间)。 对话注入「当前时间」时:优先用户账号显示时区,未设置则用本项作为回退。界面消息时间同样跟账号时区;详见产品规格 §1.5.4。
3. 各段字段说明
3.1 http — 监听地址
| 字段 | 含义 | 本环境 |
|---|---|---|
addr | HTTP 服务监听地址,如 :8080 | :8080 |
环境变量:HTTP_ADDR
影响:API、Web 代理、移动端请求的入口端口。
3.2 auth — 登录令牌签名
| 字段 | 含义 |
|---|---|
jwt_secret | 签发与校验用户登录令牌的密钥;生产环境必须更换 |
环境变量:JWT_SECRET
影响:更换后所有已登录用户需重新登录。
3.3 database — 数据库
| 字段 | 含义 | 本环境 |
|---|---|---|
url | 数据库连接串 | SQLite 文件 mindlink.db |
环境变量:DATABASE_URL
影响:用户、工作区、会话、附件元数据等持久化存储。
3.4 admin_bootstrap — 首次管理员
| 字段 | 含义 | 本环境 |
|---|---|---|
email | 若库中尚无管理员,用此邮箱创建首个管理员 | admin@local |
password | 对应密码(仅首次引导用) | 已配置(勿公开) |
环境变量:ADMIN_BOOTSTRAP_EMAIL、ADMIN_BOOTSTRAP_PASSWORD
影响:仅 数据库里还没有任何管理员 时生效;之后改 JSON 不会改已有管理员密码。
3.5 redis — 缓存与队列
| 字段 | 含义 | 本环境 |
|---|---|---|
addr | Redis 地址,空表示不用 Redis | 127.0.0.1:6379 |
password | Redis 密码 | 空 |
db | 库编号 | 0 |
环境变量:REDIS_ADDR、REDIS_PASSWORD、REDIS_DB
影响:会话缓存、部分异步能力;未配置时部分功能降级为进程内实现。
3.6 rag — 知识检索管线
| 字段 | 含义 | 本环境 |
|---|---|---|
enable_vector | 向量检索 | 开 |
enable_bm25 | 关键词 BM25 检索 | 关 |
enable_rerank | 重排序 | 关 |
enable_query_rewrite | 查询改写 | 关 |
环境变量:RAG_ENABLE_VECTOR、RAG_ENABLE_BM25、RAG_ENABLE_RERANK、RAG_ENABLE_QUERY_REWRITE
影响:智能体读取 知识文档目录、帮助智能体检索 系统知识文档 时的召回策略。
3.7 sms — 短信验证码
| 字段 | 含义 | 本环境 |
|---|---|---|
enabled | 是否启用短信登录/注册验证码 | 开 |
api_url | 短信网关地址 | 联麓模板发送接口 |
mch_id | 商户号 | 已配置 |
app_id | 应用 ID | 已配置 |
api_secret | 接口密钥 | 已配置(勿公开) |
template_code | 短信模板编号 | 已配置 |
环境变量:ENABLE_SMS_NOTIFICATIONS、SMS_API_URL、SMS_MCH_ID、SMS_APP_ID、SMS_API_SECRET、SMS_TEMPLATE_CODE
影响:用户选「验证码登录」时能否收到短信;关则只能密码登录或改走邮件(若 SMTP 已配)。
3.8 smtp — 邮件
| 字段 | 含义 | 本环境 |
|---|---|---|
host | SMTP 服务器 | smtp.qiye.aliyun.com |
port | 端口;465 时默认隐式 TLS | 465 |
username / password | 发信账号 | 企业邮箱(密码勿公开) |
from | 发件人地址 | msg@hrsvc.cn |
use_starttls | 是否 STARTTLS(非 465 时常用) | false |
环境变量:SMTP_HOST、SMTP_PORT、SMTP_USERNAME、SMTP_PASSWORD、SMTP_FROM、SMTP_USE_TLS
影响:邮件验证码、通知类邮件。
3.9 llm — 大模型接入
| 字段 | 含义 | 本环境 |
|---|---|---|
default_profile | 当前进程使用的配置档名称 | minimax |
profiles.<id>.base_url | 兼容 OpenAI 的 API 根地址 | MiniMax 官方 |
profiles.<id>.api_key | API 密钥 | 已配置(勿公开) |
profiles.<id>.model | 默认模型名 | MiniMax-M3 |
profiles.<id>.timeout_sec | 单次请求超时(秒) | 90 |
profiles.<id>.context_tokens | 模型上下文 token 上限;后端按约 15/16 换算为 总字数预算 | 1000000(约 93.75 万字) |
profiles.<id>.context_max_runes | 可选,直接指定总字数预算(与 context_tokens 二选一) | 未设 |
profiles.<id>.resolve_context_from_model | 可选,是否按模型名自动解析上下文上限 | 继承 chat_context |
环境变量(单档兼容):OPENAI_BASE_URL、OPENAI_API_KEY、OPENAI_MODEL、LLM_TIMEOUT_SEC
影响:帮助智能体、工作区智能体、摘要、索引重建等所有对话与嵌入能力。
3.10 agent_http_tool — 智能体联网请求(平台总开关)
工作区里开通 联网请求 能力后,智能体才能调用 http_request;此处是 全平台 门控与安全策略。
| 字段 | 含义 | 本环境 |
|---|---|---|
enabled | 是否允许智能体发起 HTTP 工具 | 开 |
allow_hosts | 平台备案主机名列表(小写、无协议);命中则可访问(仍须工作区策略允许) | 含 crm.katop.com 与本地环回 |
allow_public_internet | 为 true 时,工作区可选 公网开放访问;为 false 时仅白名单/备案主机 | 开 |
max_rounds | 单轮用户消息内,模型调用工具的最多次数 | 500 |
timeout_sec | 单次 HTTP 请求超时(秒) | 45 |
max_body_bytes | 响应体最大字节 | 262144(256 KiB) |
max_request_body_bytes | 请求体最大字节 | 1048576(1 MiB) |
也可用 allow_hosts_csv 逗号分隔字符串代替 allow_hosts 数组。
环境变量:AGENT_HTTP_TOOL_ENABLED、AGENT_HTTP_ALLOW_HOSTS、AGENT_HTTP_ALLOW_PUBLIC_INTERNET、AGENT_TOOL_MAX_ROUNDS、AGENT_HTTP_TIMEOUT_SEC、AGENT_HTTP_MAX_BODY_BYTES、AGENT_HTTP_MAX_REQUEST_BODY_BYTES
与工作区的关系(用户侧说法):
- 工作区须开通 联网请求 能力包;
- 成员或智能体须配置允许的站点(白名单 / 公网开放等);
- 平台
enabled为关,则全站智能体均不能联网; - 内网、本地环回等仍受 SSRF 防护;公网开放须 本段
allow_public_internet为真。
详情见仓库 docs/core-mechanisms/工作区能力包.md 中「联网请求」一节。
3.10a data_source_tool — 数据连接(平台总开关)
工作区开通 数据集成 能力后,智能体才能通过 data_source_invoke 访问 MySQL / PostgreSQL / SQLite 等连接;此处为 全平台 门控与安全策略。
| 字段 | 含义 | 默认(JSON 未写时) |
|---|---|---|
enabled | 是否允许智能体使用数据连接工具 | false |
allow_hosts | 允许列表:MySQL/PostgreSQL 为数据库主机名;SQLite 为文件路径前缀(匹配绝对路径或其子路径);空数组表示不限制(开发常用);生产建议填写 | [] |
default_preview_max_rows | 表预览 与预定义查询未指定 limit / max_rows 时的默认行数 | 200 |
absolute_preview_max_rows | 单次查询硬上限(表预览的 limit、预定义查询的 max_rows 均不超过此值) | 500 |
环境变量:AGENT_DATA_SOURCE_TOOL_ENABLED、DATA_SOURCE_ALLOWED_HOSTS、DATA_SOURCE_DEFAULT_PREVIEW_MAX_ROWS、DATA_SOURCE_ABSOLUTE_PREVIEW_MAX_ROWS
与工作区的关系(用户侧说法):
- 工作区须开通 数据集成 能力包;
- 管理员配置 数据连接、数据资源 与 谁可以使用;
- 平台
enabled为关,则全站智能体均不能查库; - 主机或 SQLite 路径须在平台
allow_hosts白名单内(若已配置)。
用户侧操作见 数据连接与预定义查询。
3.11 agent_script_tool — 智能体脚本执行(平台总开关)
工作区里开通 脚本执行 能力后,智能体才能按技能执行 Python 脚本并产出 Office 等文件;此处是 全平台 门控。
| 字段 | 含义 |
|---|---|
enabled | 是否允许智能体执行脚本工具 |
timeout_sec | 单次脚本最长运行时间(秒) |
max_output_bytes | 脚本产出文件合计最大字节(默认约 10 MiB) |
pip_index_url | 自动安装 reportlab/matplotlib 等脚本白名单依赖时传给 pip install -i 的镜像地址;国内环境建议设为清华/阿里等 PyPI 镜像 |
环境变量:AGENT_SCRIPT_TOOL_ENABLED、AGENT_SCRIPT_TIMEOUT_SEC、AGENT_SCRIPT_MAX_OUTPUT_BYTES、MINDLINK_PIP_INDEX_URL(或 AGENT_SCRIPT_PIP_INDEX_URL、PIP_INDEX_URL)
与工作区的关系(用户侧说法):
- 工作区须开通 脚本执行 能力包,且 基础文档工具 同期有效;
- 管理员可为 每位成员 单独设置 跟随工作区 / 禁止使用 / 单独授权;
- 平台
enabled为关,则全站智能体均不能执行脚本; - 服务器须安装 Python;脚本白名单依赖可自动 pip。.xlsx/.docx/.pptx 须安装 OfficeCLI,见
agent_officecli_tool。
用户侧操作说明见 脚本执行与成员授权。
3.11a agent_officecli_tool — 办公文档内置操作(OfficeCLI)
工作区开通 办公文档工具 后,智能体可通过 office_document 读写 .docx/.xlsx/.pptx;此处为 全平台 门控,且服务器须安装 OfficeCLI。
| 字段 | 含义 |
|---|---|
enabled | 是否启用内置 Office 操作(默认 true;二进制缺失时工具不出现在 schema) |
timeout_sec | 单次 OfficeCLI 调用最长秒数 |
max_output_bytes | 单次 stdout / 产出文件大小上限(默认约 20 MiB) |
环境变量:AGENT_OFFICECLI_TOOL_ENABLED、AGENT_OFFICECLI_TIMEOUT_SEC、AGENT_OFFICECLI_MAX_OUTPUT_BYTES、MINDLINK_OFFICECLI(可执行文件路径)、OFFICECLI_SKIP_UPDATE=1(生产建议)
安装:
- Linux 容器:
deploy/backend/Dockerfile已内置officecli-linux-x64 - Windows 本地开发:PowerShell 执行
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex,或下载 release 后设置MINDLINK_OFFICECLI
3.12 paths — 运行时目录
| 字段 | 含义 | 本环境 |
|---|---|---|
upload_dir | 用户上传附件存放目录 | tmp/uploads |
runtime_dir | 工作区运行时文件根目录 | tmp/runtime |
agent_runtime_template_dir | 智能体运行时模板目录;空则用内置默认 | 空 |
chat_archive_dir | 长会话归档目录 | tmp/memoryforge/chat-archive |
环境变量:UPLOAD_DIR、RUNTIME_DIR、AGENT_RUNTIME_TEMPLATE_DIR、CHAT_ARCHIVE_DIR
影响:附件、智能体工作目录、操作规则文件(AGENTS.md)、会话摘要归档位置。
3.13 help_docs — 系统知识文档(帮助智能体)
| 字段 | 含义 | 本环境 |
|---|---|---|
dir | 相对仓库根或解析后的 系统知识文档 根目录 | help |
index_file | 根索引文件名 | index.json |
环境变量:HELP_DOCS_DIR、HELP_DOCS_INDEX_FILE
影响:未选工作区时 帮助智能体 检索的本目录(含新手引导、本文等)。维护方式见 help/README.md。
3.14 skill_docs — 内置技能目录索引
| 字段 | 含义 | 本环境 |
|---|---|---|
dir | 平台内置技能说明目录 | docs/agent-skills |
index_file | 索引文件 | index.json |
环境变量:SKILL_DOCS_DIR、SKILL_DOCS_INDEX_FILE
影响:技能中心展示与召回时的内置技能元数据(与工作区自建技能互补)。
3.15 skill_registries — 外部技能目录(ClawHub 等)
成员可在 技能中心 使用 「从目录安装」,或在 消息 里请工作区智能体 搜索 / 安装 公开技能包。服务端从目录 下载 zip,经与「导入技能包」相同的校验后写入 本工作区技能中心;不集成 OpenClaw 运行时,不执行包内的 OpenClaw 安装脚本或插件。
| 字段 | 含义 | 默认(JSON 未写时) |
|---|---|---|
allow_external | 总开关;false 时隐藏外部目录、对话内搜索/安装会提示已关闭 | true |
install_requires_admin | true 时仅 工作区管理员 可安装;普通成员只能浏览(若前端已开放搜索) | false |
http_timeout_sec | 访问目录 API、下载 zip 的超时(秒) | 30 |
clawhub.enabled | 是否启用 ClawHub 技能目录(clawhub.ai) | true |
clawhub.base_url | ClawHub API 根地址;内网镜像或代理网关可改此项 | https://clawhub.ai |
环境变量(JSON 加载后仍可覆盖):
| 环境变量 | 对应字段 |
|---|---|
SKILL_REGISTRIES_ALLOW_EXTERNAL | allow_external |
SKILL_REGISTRIES_INSTALL_REQUIRES_ADMIN | install_requires_admin |
SKILL_REGISTRIES_HTTP_TIMEOUT_SEC | http_timeout_sec |
SKILL_REGISTRIES_CLAWHUB_ENABLED | clawhub.enabled |
SKILL_REGISTRY_CLAWHUB_BASE | clawhub.base_url |
出站网络:进程需能访问 clawhub.base_url(HTTPS)。服务器在 HTTP 代理 后时,可设 HTTPS_PROXY / HTTP_PROXY(与 ClawHub CLI 行为一致)。
安全与边界(运维须知):
- 外部包视为 不可信输入;单包上限 50 MiB;OpenClaw 插件包 会被拒绝,仅 操作说明类 Agent Skills 包可安装。
- 安装记录写入审计(
user_conversation_skill.registry_installed);技能来源在列表中显示为 「外部目录」。 - 关闭
allow_external不影响本地上传 zip 导入技能。
示例(内网仅允许管理员安装):
"skill_registries": {
"allow_external": true,
"install_requires_admin": true,
"http_timeout_sec": 45,
"clawhub": {
"enabled": true,
"base_url": "https://clawhub.ai"
}
}
示例(完全关闭外部目录):
"skill_registries": {
"allow_external": false
}
实现对照与设计说明见仓库 docs/core-mechanisms/外部技能目录安装设计.md。
3.16 chat_context — 对话上下文与自动摘要
| 字段 | 含义 | 本环境 |
|---|---|---|
resolve_max_runes_from_model | 是否按当前模型名自动推算总字数预算 | 开 |
max_runes | 未从模型解析成功时的默认总预算(字) | 937500 |
reply_reserve_runes | 预留给本轮回复的字数 | 16000 |
summarize_threshold_pct | 用量达到总预算的该百分比时触发摘要(50–99) | 88 |
min_verbatim_messages | 摘要后仍保留的最近完整消息条数 | 6 |
summarize_batch_messages | 每次摘要合并的早期消息条数 | 4 |
max_concurrent_agent_streams | 同一用户同时「正在生成」的不同智能体上限;0 表示不限制 | 5 |
max_concurrent_embed_streams | 同一智能体作为嵌入助手时,同时「正在生成」的对话上限;0 表示不限制 | 20 |
环境变量:CHAT_CONTEXT_RESOLVE_MAX_FROM_MODEL、CHAT_CONTEXT_MAX_RUNES、CHAT_CONTEXT_REPLY_RESERVE_RUNES、CHAT_CONTEXT_SUMMARIZE_THRESHOLD_PCT、CHAT_CONTEXT_MIN_VERBATIM_MESSAGES、CHAT_CONTEXT_SUMMARIZE_BATCH_MESSAGES、CHAT_MAX_CONCURRENT_AGENT_STREAMS、CHAT_MAX_CONCURRENT_EMBED_STREAMS(与 JSON 字段 max_concurrent_agent_streams / max_concurrent_embed_streams 等价,环境变量在 JSON 之后仍可覆盖)
影响:长会话是否自动压缩历史、界面上下文用量圆环上限。与 llm.profiles.*.context_tokens 联动。
3.16.1 对话生成并发(仅环境变量)
同一登录用户可同时让多个不同智能体生成回复;本项限制「同时生成中的智能体个数」,防止多开标签或脚本打满连接与模型调用。
| 环境变量 | 含义 | 默认 |
|---|---|---|
CHAT_MAX_CONCURRENT_AGENT_STREAMS | 同一用户同时「正在生成」的不同智能体上限;0 表示不限制 | 5 |
超限:HTTP 429,code=agent_generation_user_limit,提示等待一条完成后再开。 同智能体(主站)仍互斥:HTTP 409,code=agent_generation_busy(与本上限无关)。
嵌入助手:同一智能体可同时为多位访客生成回复。限制的是「正在生成」的路数,不是历史会话条数。
| 环境变量 | 含义 | 默认 |
|---|---|---|
CHAT_MAX_CONCURRENT_EMBED_STREAMS | 同一智能体嵌入场景同时「正在生成」上限;0 表示不限制 | 20 |
智能体人格设置里的「嵌入助手同时回复上限」可再收紧,但不能突破本项。 超限:HTTP 429,code=embed_generation_limit,挂件提示「当前对话人数已达上限,请稍后再试」。同一对话内仍须等本轮说完再发。
改后需 重启后端。
3.17 debug_mirror — 调试镜像
| 字段 | 含义 | 本环境 |
|---|---|---|
enabled | 是否把部分请求/响应镜像到本地目录 | 开 |
dir | 镜像目录;enabled 为真且为空时默认 tmp/debug-mirror | 空(用默认) |
环境变量:MINDLINK_DEBUG_MIRROR、MINDLINK_DEBUG_MIRROR_DIR
影响:排障用;生产环境建议关闭,避免磁盘堆积与敏感信息落盘。
3.18 mobile_push — 移动端推送
| 字段 | 含义 | 本环境 |
|---|---|---|
base_url | 推送服务根地址 | https://crm.katop.com/dtzXyJPn |
secret_key | 推送鉴权密钥 | 已配置(勿公开) |
环境变量:MOBILE_PUSH_BASE_URL、MOBILE_PUSH_SECRET_KEY
影响:Cadau 移动 App 接收离线通知;未配置则仅应用内消息。
3.19 memory_forge — 记忆锻造自动扫描
| 字段 | 含义 | 默认 |
|---|---|---|
auto_scan_enabled | 是否定期扫描会话归档并生成知识改进提案 | false |
auto_scan_interval | 扫描间隔(Go duration,如 24h) | 24h |
auto_scan_days | 回溯最近 N 天的会话归档参与聚类 | 7 |
环境变量:MEMORYFORGE_AUTO_SCAN_ENABLED、MEMORYFORGE_AUTO_SCAN_INTERVAL、MEMORYFORGE_AUTO_SCAN_DAYS
影响:管理端 记忆锻造(帮助/工作区知识叠加层提案);不是个人智能体记忆清理。关闭时不影响用户「记住」、对话提炼与记忆维护。
3.20 agent_memory_maintain — 智能体个人记忆闲时整理
| 字段 | 含义 | 默认 |
|---|---|---|
enabled | 是否启用夜里自动整理个人记忆 | false |
daily_local_hour | 本地时区夜里起点钟点(0–23);窗口约 2 小时 | 2 |
daily_note_retain_days | 日笔记保留天数,更早的可删除 | 14 |
stale_review_days | 供模型审核的「偏旧」标记天数 | 90 |
min_entries_for_llm | 长期记忆条数达到该值才启用模型审核删除 | 5 |
max_agents_per_run | 每轮最多扫描的智能体数 | 30 |
max_deletes_per_agent | 每智能体每轮最多删除条数 | 8 |
use_llm | 是否用模型审核近重复/过期项目记忆 | true |
环境变量:AGENT_MEMORY_MAINTAIN_ENABLED、AGENT_MEMORY_MAINTAIN_DAILY_LOCAL_HOUR、AGENT_MEMORY_MAINTAIN_DAILY_NOTE_RETAIN_DAYS、AGENT_MEMORY_MAINTAIN_USE_LLM 等。
影响:个人记忆去重与过期清理;须同时 schedule.enabled。管理端入口与说明见 agent-memory-maintain.md。与 memory_forge 无关。
3.21 schedule — 用户定时任务调度
| 字段 | 含义 | 默认 |
|---|---|---|
enabled | 是否启用智能体定时任务调度 | true |
tick_interval | 调度器 tick 间隔(如 30s) | 30s |
max_active_per_user | 每用户最多同时启用的定时任务数 | 20 |
环境变量:SCHEDULE_ENABLED、SCHEDULE_TICK_INTERVAL、SCHEDULE_MAX_ACTIVE_PER_USER
影响:成员在 我的智能体 中创建的 Cron 类定时任务是否会被执行。
4. 修改后如何生效
- 改
mindlink.json后 重启后端进程(本地 Air 会自动重载;Docker 需重建/重启容器)。 - 若同时设置了环境变量,确认优先级:JSON 加载后,部分
AGENT_HTTP_*、HELP_DOCS_*等仍可能被环境变量覆盖。 - 改
jwt_secret、数据库路径、LLM 密钥前建议备份并安排短暂维护窗口。
5. 常见问题(帮助智能体可引用)
| 用户/运维问题 | 查哪一段 |
|---|---|
| 验证码收不到 | sms.enabled 与网关字段,或 smtp 邮件通道 |
| 智能体不能访问外网 API | agent_http_tool.enabled、allow_public_internet,以及工作区 联网请求 与站点白名单 |
| 智能体不能查业务库 / 表预览只有很少几行 | data_source_tool.enabled、工作区 数据集成、成员 数据资源 授权;行数见 default_preview_max_rows / absolute_preview_max_rows |
| 智能体不能执行脚本 / 不能导出 Excel | agent_script_tool.enabled、工作区 脚本执行、成员 脚本授权;服务器 Python 与依赖库 |
| 智能体只能访问 CRM | allow_hosts 含 crm.katop.com;工作区策略选白名单而非公网 |
| 帮助回答不像文档里写的 | help_docs.dir 是否指向最新 help/,管理端是否已 重新生成索引 |
| 对话很早的内容被「忘掉」 | chat_context 摘要阈值与 llm 上下文预算 |
| 技能中心没有「从目录安装」 / 对话无法从外部装技能 | skill_registries.allow_external、clawhub.enabled;改后重启后端 |
| 从 ClawHub 安装超时或失败 | 出站能否访问 clawhub.base_url;可调大 http_timeout_sec;代理环境设 HTTPS_PROXY |
| 希望只有管理员能装外部技能 | skill_registries.install_requires_admin: true |
| 「最近三天」日期不对 | 时区 MINDLINK_RUNTIME_TIMEZONE;业务规则在智能体 操作规则(AGENTS.md) |
| 定时任务不执行 | schedule.enabled、tick_interval;工作区与智能体侧任务是否启用 |
| 夜里个人记忆没自动整理 | agent_memory_maintain.enabled、daily_local_hour、时区;且须 schedule.enabled |
| 记忆锻造不自动扫描 | memory_forge.auto_scan_enabled 与扫描间隔(知识提案,非个人记忆) |
| 对话后不自动提炼个人记忆 | 智能体概况里的「自动提炼」开关;与 memory_forge 无关 |
6. 相关文档
- 示例配置:
backend/config.example.json - 工作区能力(用户视角):
docs/core-mechanisms/工作区能力包.md - 脚本执行与成员授权:script-execution.md
- 数据连接与预定义查询(用户视角):../product-features/data-integration.md
- 技能与技能中心(用户视角):
help/product-features/skills-and-agents.md - 外部技能目录设计(实现对照):
docs/core-mechanisms/外部技能目录安装设计.md - 智能体操作规则:
help/product-features/agents-operating-rules.md - 系统知识文档维护:
help/README.md - 智能体记忆维护(管理端):agent-memory-maintain.md
- 智能体记忆(用户):../product-features/agent-memory.md