Ctrl K
ComunidadGuías…

config.example.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "_说明": "模型不出厂预置:models 里只放你真配过的(首页向导或 设置→模型 从厂商预设一键添加,填了 Key 才算一条)。provider 可选 'anthropic'(Claude 官方)或 'openai'(OpenAI 兼容接口:DeepSeek/通义Qwen/智谱GLM/Kimi/Ollama 本地模型都用这个)。api_key 也可以用环境变量 ANTHROPIC_API_KEY / OPENAI_API_KEY 提供。",
  "provider": "openai",
  "anthropic": {
    "api_key": "",
    "model": "claude-opus-5"
  },
  "openai": {
    "_预设示例": {
      "DeepSeek": {
        "base_url": "https://api.deepseek.com/v1",
        "model": "deepseek-chat"
      },
      "通义Qwen": {
        "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "model": "qwen-max"
      },
      "智谱GLM": {
        "base_url": "https://open.bigmodel.cn/api/paas/v4",
        "model": "glm-4-plus"
      },
      "Kimi": {
        "base_url": "https://api.moonshot.cn/v1",
        "model": "moonshot-v1-32k"
      },
      "Ollama本地": {
        "base_url": "http://localhost:11434/v1",
        "model": "qwen3:14b"
      }
    },
    "base_url": "https://api.deepseek.com/v1",
    "api_key": "",
    "model": "deepseek-chat"
  },
  "server": {
    "port": 3800
  },
  "agent": {
    "max_steps": 25,
    "tool_timeout_ms": 120000,
    "_max_runtime_ms_说明": "单趟任务(含专家子代理)的墙上时间预算,撞到就强制收尾。默认 30 分钟:短剧那类要出十几段配音、再跑十几次 ffmpeg 编码的活儿,10 分钟多半在半路被掐,前面花掉的钱全白扔。",
    "max_runtime_ms": 1800000,
    "_auto_continue_rounds_说明": "撞到步数/时间上限但活儿还没干完时,自动重置预算接着跑的最大轮数。0 = 关闭(默认)。开了之后长任务会照着 PROGRESS.md 的进度接着做,直到做完或轮数用光;手动停的不会续跑。注意每一轮都是真花钱,所以默认关着——要不要多花这笔钱是你的决定。",
    "auto_continue_rounds": 0,
    "_continue_gate_说明": "自动续跑之前先问判断模型一句:撞上限停下的这一趟,用户交代的事到底还有没有没做完的。说「没剩了」并且它自己也拿得准,就不再续这一轮——省下的是一整份时间和步数预算。PROGRESS.md 里还有没打勾的条目时不问(那已经是确定的答案,白花钱)。默认关,要 auto_continue_rounds 大于 0 才有意义。开关在 设置 → 智能体 →「确认没做完才接着做」。",
    "continue_gate": false,
    "_memory_gate_说明": "agent 自己调 remember 往长期记忆里写之前,先问判断模型一句:这句话下个月还用得上吗。说用不上、而且确定度到 80% 就不收,回执里告诉它该改成怎么记。拦的是「这次把第 3 行改成了 8081」这类只在这一趟里成立的过程细节——记下来会跟着往后每一趟任务进系统提示词。用户在设置里亲手敲的那份记忆不归它管;说不准、问不成一律照旧记下。默认关。开关在 设置 → 智能体 →「AI 只存以后用得上的记忆」。",
    "memory_gate": false,
    "_ask_gate_说明": "agent 想弹 ask_user 打断你之前,先问判断模型一句:这一问非得你本人答不可吗。一轮里的头一问永远放行、一分钱不花;往后每一问才判——说「不必非问」并且确定度到 80% 就不弹,回执里让它自己挑个最合理的默认往下做,并在汇报里注明。拦的是「我写完前三节了要继续吗」这类汇报、「用 axios 还是 node-fetch」这类技术路线、以及换个说法又问一遍的。选错了整件事会白做的岔路不拦,拿不准也不拦。ask_user 是全场唯一不受转圈守卫管的工具,在它之前除了提示词没有别的闸。默认关。开关在 设置 → 智能体 →「少问我不必问的问题」。",
    "ask_gate": false,
    "_skill_gate_说明": "开工之前先问判断模型一道单选:这活儿该先照哪个技能做(选项是装着的技能名加一个「都不对口」)。它挑了一个并且确定度到 70%,就把那份技能全文挂进系统提示词,模型动手前就看见了。挑「都不对口」或拿不准,照旧交给模型自己想。用户在消息里点了名(「/ppt-master」或直接写技能名)的,不用开这个开关也会直接加载、一分钱不花。一轮里只问一次;已经加载过技能的不问;专家子任务不问。默认关。开关在 设置 → 智能体 →「没指定技能时自动挑一个」。",
    "skill_gate": false,
    "_push_gate_说明": "定时任务推之前先问判断模型一句:这一轮跟上一次真推出去的那条比,有没有新东西。说没有、确定度到 70% 就不推——运行记录照常留着全文和没推的理由,只是不响这一声铃。红的、出错的、挂了疑问的一律照推。比的是上一次真推出去的那条,所以某一轮判错了,攒下的变化下一次会一起推给你。默认关。开关在 设置 → 智能体 →「定时任务没新内容就不通知」。",
    "push_gate": false,
    "ask_user_timeout_ms": 300000,
    "llm_timeout_ms": 300000,
    "_gen_parallel_max_说明": "出图 / 出片 / 配音 这类生成工具,一轮里最多同时跑几条。范围 1-4,默认 2:一集短剧十几个镜头,一条条排队最坏要等一两个小时;但这类每条都花钱(视频按条计费),所以比只读工具那档保守得多。设成 1 就是回到老样子,全部排队。",
    "gen_parallel_max": 2,
    "_max_parallel_tasks_说明": "同时跑几个任务。0 = 按物理内存自动定(8G 3 个 / 16G 5 个 / 32G 8 个 / 更大 12 个)。多出来的排队,不中断,任务时间从开始执行算起。截图、渲染、合成和本机引擎另有更紧的上限(8G 1 件 / 16G 2 件 / 32G 3 件)。",
    "max_parallel_tasks": 0,
    "_thinking_说明": "思考模式档位:auto=跟随模型自己的默认(什么参数都不发)/ off=关闭 / low / medium / high。各家参数名不同,映射表在 src/core/model/thinking.js",
    "thinking": "auto",
    "_second_opinion_说明": "定时任务跑绿之后,再拿判断模型看一眼:这一轮真办完了吗。只问那些裁定判据主动让路的绿(汇报正文超过 400 字的那一段),而且只挂疑问、不改判。默认关:每一条这样的绿都要多发一道题(一万次约 0.5 美元),花不花这笔钱由你定。开关在 设置 → 智能体 →「定时任务办完后再核实一遍」。",
    "second_opinion": false
  },
  "search": {
    "_说明": "web_search 工具的搜索 API。provider=jina 时用 s.jina.ai(去 jina.ai 免费领 key);api_key 留空则自动回退免费 DuckDuckGo",
    "provider": "jina",
    "api_key": ""
  },
  "langfuse": {
    "_说明": "执行追踪。打开后,每趟任务的模型调用、工具调用、token 花销会发到你填的 Langfuse 上,在网页里一层层展开看。自己用 Docker 搭一个就全在自己机器里;填官方 cloud.langfuse.com 就是发给别人,所以默认关着。公钥私钥在 Langfuse 项目设置里生成。",
    "enabled": false,
    "host": "https://cloud.langfuse.com",
    "public_key": "",
    "secret_key": ""
  },
  "mcp_servers": [],
  "_mcp_示例": [
    {
      "name": "filesystem",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "D:/某个目录"
      ]
    }
  ],
  "im": {
    "feishu": {
      "app_id": "",
      "app_secret": "",
      "notify_target": "",
      "verification_token": ""
    },
    "wecom_bot_webhook": "",
    "webhook_secret": "openworkbuddy-secret-请修改"
  },
  "models": [],
  "active_model": ""
}