高级配置

本文介绍 Wesclaw 的高级配置选项,包括配置文件详解、环境变量、代理设置、日志管理和性能调优。


config.yaml 详解

Wesclaw 桌面版使用 YAML 格式的配置文件。首次运行 wesclaw init 时自动创建。

配置文件位置

操作系统路径
macOS~/Library/Application Support/wesclaw/config.yaml
Linux~/.config/wesclaw/config.yaml
Windows%APPDATA%\wesclaw\config.yaml

可通过环境变量 WESCLAW_CONFIG 自定义路径。

完整配置示例

# Wesclaw 配置文件

# 模型提供商配置
providers:
  - name: my-openai
    type: openai
    base_url: https://api.openai.com/v1
    api_key_ref:
      source: inline
      value: sk-xxxx          # 存储时会自动加密
    models:
      - name: gpt-4o
        context_window: 128000
        supports_vision: true
      - name: gpt-4o-mini
        context_window: 128000

  - name: my-claude
    type: anthropic
    api_key_ref:
      source: env
      value: ANTHROPIC_API_KEY  # 从环境变量读取
    models:
      - name: claude-sonnet-4-20250514
        context_window: 200000
        supports_vision: true

# 默认 Provider 策略
provider_strategy: own_only    # own_only | shared_only | own_first | shared_first

# 治理配置
governance:
  mode: open                   # open(默认)| locked
  deny_paths:                  # 禁止 AI 访问的路径
    - /etc/passwd
    - ~/.ssh/

# 通用设置
locale: zh-CN
timezone: Asia/Shanghai

# IM 渠道配置
channels:
  - type: wecom
    corp_id: wxXXXXXX
    agent_id: 1000001
    secret_ref:
      source: env
      value: WECOM_SECRET

# 邮件配置
email:
  - address: ai@example.com
    smtp_host: smtp.example.com
    smtp_port: 465
    imap_host: imap.example.com
    imap_port: 993
    password_ref:
      source: env
      value: EMAIL_PASSWORD

# MCP 服务器
mcps:
  - name: local-tools
    transport: stdio
    command: ["/usr/local/bin/my-mcp-server"]

配置分层

配置按以下优先级生效(高 → 低):

  1. 运行时命令(如 /model 命令)
  2. 环境变量
  3. config.yaml 文件
  4. 内置默认值

环境变量

基础环境变量

变量名说明默认值
WESCLAW_DATA_DIR数据存储目录系统 XDG 目录
WESCLAW_CONFIG配置文件路径<config_dir>/config.yaml
WESCLAW_LOG_LEVEL日志级别info

模型密钥环境变量

API Key 推荐通过环境变量配置,而非写在配置文件中:

# 在 shell 配置文件中添加(如 .zshrc / .bashrc)
export OPENAI_API_KEY="sk-xxxx"
export ANTHROPIC_API_KEY="sk-ant-xxxx"
export AZURE_OPENAI_API_KEY="xxxx"

然后在 config.yaml 中引用:

providers:
  - name: openai
    api_key_ref:
      source: env
      value: OPENAI_API_KEY

SaaS 版环境变量

云端版部署时的额外配置:

变量名说明
WESCLAW_SAAS_DATA_DIRSaaS 数据目录
WEISYN_BASE_URL平台 API 地址
JWT_PUBLIC_KEY_PATHJWT 公钥路径

代理设置

HTTP 代理

如果需要通过代理访问 AI 模型 API:

# 系统级代理
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export NO_PROXY="localhost,127.0.0.1"

模型 API 代理

也可以通过修改 base_url 使用代理或中转服务:

providers:
  - name: openai-proxy
    type: openai
    base_url: https://my-proxy.example.com/v1    # 代理地址
    api_key_ref:
      source: env
      value: OPENAI_API_KEY

日志配置

日志文件位置

<数据目录>/logs/
├── wesclaw.log          # 主日志(Go 后端)
└── wesclaw-stderr.log   # 错误日志(崩溃堆栈)

日志级别

通过环境变量控制:

export WESCLAW_LOG_LEVEL=debug    # debug | info | warn | error

查看日志

# macOS
tail -f ~/Library/Application\ Support/wesclaw/logs/wesclaw.log

# 查看错误日志
cat ~/Library/Application\ Support/wesclaw/logs/wesclaw-stderr.log

Electron 前端日志

桌面版 Electron 前端日志位于:

<数据目录>/logs/<timestamp>/

包含 renderer 进程和 main 进程的日志。


性能调优

上下文压缩

对于长对话,引擎会自动压缩上下文以保持性能。你可以关注以下指标:

模型选择

不同场景选择合适的模型可以显著影响性能:

场景推荐模型原因
简单问答GPT-4o-mini / Claude Haiku快速响应,低成本
复杂分析GPT-4o / Claude Sonnet平衡质量与速度
深度推理Claude Opus / o3最佳质量

网络优化

内存管理

Wesclaw 桌面版是 Electron 应用,内存使用建议:


配置文件版本

配置文件有内部版本号,升级 Wesclaw 时会自动迁移配置格式。如遇问题:

  1. 备份当前配置文件
  2. 删除配置文件
  3. 运行 wesclaw init 重新生成
  4. 手动迁移自定义配置

常见问题

配置不生效

  1. 确认 YAML 语法正确(注意缩进)
  2. 重启 Wesclaw 使配置生效
  3. 检查是否有同名环境变量覆盖了配置

API Key 无法连接

  1. 检查网络连接和代理设置
  2. 确认 API Key 未过期
  3. 使用「设置 → AI 模型 → 测试连接」验证
  4. 查看日志中的详细错误信息

配置文件损坏

# 备份当前配置
mv config.yaml config.yaml.bak

# 重新初始化
wesclaw init

# 手动迁移需要的配置项

注意事项

  1. 不要在配置文件中存储明文密码:使用 source: env 引用环境变量
  2. 修改配置后需重启:大部分配置变更需要重启 Wesclaw 才能生效
  3. YAML 格式敏感:注意缩进使用空格而非 Tab
  4. 密钥加密:source: inline 的密钥在存储时会自动加密,但建议仍优先使用环境变量

相关文档