配置说明

配置决定 Tinybot 使用哪个模型、能访问哪些工具、在哪里读写文件,以及网页服务如何启动。新手不需要一次理解全部配置,先掌握模型、密钥、工作区和安全限制即可。

配置文件位置

默认配置文件:

~/.tinybot/config.json

查看当前状态:

uv run tinybot status

重新打开初始化向导:

uv run tinybot onboard

在命令行聊天里也可以输入 /config 或按 Ctrl+O 打开配置编辑器。

最小可用配置

一个能正常对话的最小配置需要三类信息:

配置 作用
Provider API Key 让 Tinybot 能调用 AI 服务
Model 告诉 Tinybot 使用哪个模型
Workspace 告诉 Tinybot 可以在哪个目录工作

示例:

{
  "agents": {
    "defaults": {
      "model": "deepseek-chat",
      "workspace": "~/.tinybot/workspace",
      "timezone": "Asia/Shanghai"
    }
  },
  "providers": {
    "deepseek": {
      "apiKey": "你的 DeepSeek 密钥"
    }
  }
}

配置文件支持 camelCase 和 snake_case。上面的 apiKey 也可以写成 api_key

选择模型

Tinybot 会根据模型名称自动匹配 Provider。新手可以按下面选择:

场景 推荐模型
日常聊天、写文档、总结 deepseek-chat
复杂分析、代码推理、多步骤规划 deepseek-reasoner
已有 OpenAI 账号 gpt-4o 或其他 OpenAI 模型
通义千问用户 qwen-max 或你账号可用的 Qwen 模型

配置位置:

{
  "agents": {
    "defaults": {
      "model": "deepseek-chat"
    }
  }
}

如果模型名称和密钥不匹配,例如使用 gpt-4o 但只配置了 DeepSeek 密钥,就会调用失败。

配置 API 密钥

推荐用初始化向导或网页设置填写密钥。也可以手动写配置文件:

{
  "providers": {
    "deepseek": {
      "apiKey": "你的密钥"
    },
    "openai": {
      "apiKey": "你的密钥"
    },
    "dashscope": {
      "apiKey": "你的密钥"
    }
  }
}

如果你把项目分享给别人,提交代码前一定不要把真实密钥提交到 Git。

工作区和安全限制

工作区是 Tinybot 读写文件时默认使用的目录:

{
  "agents": {
    "defaults": {
      "workspace": "~/.tinybot/workspace"
    }
  }
}

新手建议同时开启工作区限制:

{
  "tools": {
    "restrictToWorkspace": true
  }
}

这样 Tinybot 的文件操作会尽量限制在工作区内,降低误改系统文件或其他项目文件的风险。

常用 Agent 参数

配置 默认倾向 说明
temperature 0.1 越低越稳定,适合编程和严肃任务
maxTokens 8192 单次回复最大长度
contextWindowTokens 65536 可保留的上下文长度
maxToolIterations 200 一轮任务最多调用多少次工具
reasoningEffort 空或模型支持值 推理模型可设置 lowmediumhigh
timezone UTC 建议中国用户设为 Asia/Shanghai

示例:

{
  "agents": {
    "defaults": {
      "temperature": 0.1,
      "maxToolIterations": 100,
      "timezone": "Asia/Shanghai"
    }
  }
}

工具配置

Tinybot 的工具能力由 tools 控制:

{
  "tools": {
    "web": {
      "enable": true,
      "proxy": null,
      "search": {
        "provider": "duckduckgo",
        "maxResults": 5
      }
    },
    "exec": {
      "enable": true,
      "timeout": 60
    },
    "restrictToWorkspace": true
  }
}
配置 建议
tools.web.enable 需要联网搜索时开启
tools.exec.enable 需要执行命令时开启;不放心可以关闭
tools.exec.timeout 命令最长运行时间,默认 60 秒
tools.restrictToWorkspace 新手建议开启

网页界面配置

网页界面由 WebSocket 频道提供:

{
  "channels": {
    "websocket": {
      "enabled": true,
      "host": "127.0.0.1",
      "port": 18790
    }
  }
}

gateway.port 是网关服务配置,WebSocket 频道也有自己的 port。通常保持二者一致或只使用 WebSocket 频道默认值即可。

启动:

uv run tinybot gateway

访问:

http://127.0.0.1:18790

知识库配置

知识库默认关闭。需要让 Tinybot 引用你的文档时再开启:

{
  "knowledge": {
    "enabled": true,
    "autoRetrieve": true,
    "maxChunks": 5,
    "retrievalMode": "hybrid"
  }
}
配置 说明
enabled 是否启用知识库
autoRetrieve 每次提问时是否自动检索相关文档
maxChunks 每次最多取回多少片段
retrievalMode hybrid 适合大多数场景

常见问题

配置改坏了怎么办

先备份旧配置,再重新初始化:

uv run tinybot onboard

如果要完全重来,可以删除 ~/.tinybot/config.json 后再执行初始化。删除前请确认里面没有你还需要的配置。

设置了环境变量但 Tinybot 没读到

当前配置 schema 主要从 config.json 读取 Provider 密钥。最稳妥的方式是通过 uv run tinybot onboard 或网页设置写入配置文件。

更换模型后报错

检查模型和 Provider 是否匹配。例如:

模型 需要的密钥
deepseek-chat DeepSeek
gpt-4o OpenAI
qwen-max DashScope/通义千问

下一步