资讯详情

资讯详情

ketch 配置完全指南:config.json、KETCH_* 环境变量与 4 级优先级机制

【免费下载链接】ketchFast, stateless CLI for web search and scrape. Built for AI agents.项目地址https://gitcode.com/gh_mirrors/ketch/ketch点击查看免费下载ketch是一个快速、无状态的命令行工具专为 AI Agent 提供网页搜索search与网页抓取scrape能力。它的配置体系只有两个入口一份 JSON 配置文件config.json以及一组KETCH_*环境变量。两者按CLI flag KETCH_环境变量 配置文件 内置默认值* 的 4 级优先级叠加让你既能在本地持久化设置又能在容器和 CI 中不落盘注入 API 密钥。 配置文件在哪里场景路径默认位置~/.config/ketch/config.json用KETCH_CONFIG环境变量指定任意你指定的路径随时查询当前路径ketch config path想确认当前生效的完整配置含所有后端可用列表只需运行ketch config它会以 JSON 输出发现式配置每个后端是否已配置密钥只报*_api_key_set布尔值从不打印密钥本身、当前后端、缓存 TTL以及哪些值来自环境变量env_overrides字段。 一键初始化ketch config init首次使用一条命令生成默认配置文件ketch config init默认值开箱即用源码见 Defaults()配置项默认值含义backendauto自动在多个搜索引擎间择优回退limit5每次搜索返回条数cache_ttl72h页面缓存有效期code_backendgrepapp代码搜索后端docs_backendcontext7文档搜索后端extract_modeclean抓取内容清洗模式clean/complete 没有配置任何密钥时auto后端会自动走免密钥提供商链ketch search照样能出结果。⚙️ 用 ketch config set 持久化配置所有配置项都能用config set key value写入文件无需手写 JSONketch config set backend searxng # 指定搜索后端 ketch config set brave_api_key key # 配置 Brave API 密钥 ketch config set searxng_url http://my-searxng:8080 # 自建 SearXNG 实例 ketch config set browser chrome # 启用浏览器兜底渲染 JS 页面 ketch config set limit 10几个实用细节多密钥轮换brave_api_keys等复数字段接受 JSON 数组每次请求随机选一把自动摊平限流。只写文件不混入环境变量config set内部走 LoadFile()只读文件、不叠加环境变量因此KETCH_*注入的值永远不会被误写进config.json。坏文件拒写如果现有配置 JSON 损坏或类型错误config set会拒绝覆盖避免把你的其他设置冲掉——需要手工修复。 KETCH_* 环境变量容器与 CI 的免文件配置每个标量配置项都有对应的环境变量命名规则是机械映射KETCH_ 配置键名的大写下划线形式实现见 config/env.go配置键环境变量backendKETCH_BACKENDlimitKETCH_LIMITbrave_api_keyKETCH_BRAVE_API_KEYcache_ttlKETCH_CACHE_TTLsearxng_urlKETCH_SEARXNG_URL典型用法KETCH_BRAVE_API_KEYkey ketch search query # 密钥不落盘 KETCH_BACKENDddg KETCH_LIMIT10 ketch search query KETCH_CONFIG/etc/ketch/config.json ketch config # 指向另一份配置文件环境变量同样支持多密钥轮换——复数池没有*_API_KEYS变量单数变量直接接受逗号分隔列表并整体替换该提供商的密钥池KETCH_BRAVE_API_KEYkey1,key2 ketch search query⚠️刻意不提供环境变量覆盖的例外见 ADR-0001url_rewrites、spa_markers正则/HTML 子串在 shell 引号里无法安全转义只能在配置文件里写github_token它有专门的解析链KETCH_GITHUB_TOKEN 配置文件 $GITHUB_TOKEN/$GH_TOKENgh auth token不走通用覆盖以免优先级倒挂。 4 级优先级机制详解这是整个配置系统的核心也是排查为什么我的设置没生效的第一站CLI flag KETCH_* 环境变量 config.json 文件 内置默认值层级例子适用场景1️⃣ CLI flagketch search q --backend ddg一次性覆盖不污染全局2️⃣ KETCH_* 环境变量KETCH_LIMIT10 ketch search q容器、CI、临时实验3️⃣ config.json 文件ketch config set limit 10个人长期默认值4️⃣ 内置默认值backend: auto、limit: 5全新安装的兜底两个让机制透明化的设计来源可追溯ketch config输出中的env_overrides会列出每个被环境变量覆盖的键、对应的变量名和被替换的原值密钥自动打码一眼看懂生效配置和文件配置的差异从何而来。空值 未设置环境变量设为空字符串时视为未设置不会把配置清空。️ 密钥安全与错误处理永不外泄ketch config、ketch doctor、错误信息中都不打印 API 密钥与http_headers的值派生的子进程无头浏览器、外部 PDF 转换器环境也会被 ScrubbedEnviron() 剥离所有KETCH_*密钥变量。坏值响亮失败KETCH_LIMITabc这样的非法值会在命令报错时点名该变量坏的配置 JSON 同样会报出哪个键、需要哪种类型退出码 2且整份文件不被部分应用。关键命令不受坏环境影响ketch version、ketch config set/path等不消费配置的命令在坏环境下依然可用。 相关源码与文档模块说明config/env.go环境变量覆盖表、env_overrides溯源、密钥脱敏config/config.go配置加载、文件读写与 JSON 错误诊断internal/configbase/config.go配置结构体、默认值、github_token解析链cmd/config.goketch config init/set/path/show命令实现search/registry.go14 个搜索后端的注册与可用性判定design/adr/0001-env-var-config.md环境变量覆盖机制的设计决策记录掌握config.json、KETCH_*环境变量与这 4 级优先级后你就掌握了 ketch 配置的全部本地用config set落盘容器用环境变量注入临时实验用 CLI flag一切生效情况用ketch config随时验证。赞分享【免费下载链接】ketchFast, stateless CLI for web search and scrape. Built for AI agents.项目地址https://gitcode.com/gh_mirrors/ketch/ketch点击查看免费下载相关推荐darktable 免费 RAW 处理教程从导入到导出的完整指南darktable 免费 RAW 处理教程从导入到导出的完整指南 如果你拍 RAW 却不愿为商业软件付费那么 darktable 正好对症导入、评级、调色图像处理桌面应用Mem0 CLI 配置完全指南config.json 文件格式、环境变量、mem0 init 向导与配置优先级规则Mem0 CLI 配置完全指南config.json 文件格式、环境变量、 mem0 init 向导与配置优先级规则 Mem0 CLI 是 mem0「AI A人工智能Agent 记忆RAG终极Semaphore配置指南环境变量优先级与配置文件完全解析终极Semaphore配置指南环境变量优先级与配置文件完全解析 Semaphore作为一款现代UI工具为Ansible、Terraform、OpenTofu运维DevOps任务调度工作流自动化后端前端认证鉴权IaC上一篇DevOps-Projects Serverless实战用Terraform构建LambdaAPI GatewayDynamoDB REST API下一篇Metabase case 表达式完全指南条件逻辑、数据分桶与聚合实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →