SeaworkSeawork

配置

Seawork 从 Seawork 主目录中的单个 JSON 文件加载配置,并支持可选的环境变量和 CLI 覆盖。

配置文件位置

默认情况下,Seawork 使用 ~/.seawork 作为其主目录。配置文件为:

$ ~/.seawork/config.json

你可以通过设置 SEAWORK_HOME 或向 --home to seawork daemon start传递参数来更改主目录。

优先级

Seawork 按以下顺序合并配置:

  1. 默认值
  2. config.json
  3. 环境变量
  4. CLI 参数

列表在各来源之间追加(例如, allowedHosts and cors.allowedOrigins)。

示例

最简示例,配置监听地址、主机白名单、提供商密钥和 MCP:

{
  "$schema": "https://seawork.ai/schemas/seawork.config.v1.json",
  "version": 1,
  "providers": {
    "openai": { "apiKey": "..." }
  },
  "daemon": {
    "listen": "127.0.0.1:6767",
    "allowedHosts": ["localhost", ".localhost"],
    "mcp": { "enabled": true }
  }
}

智能体提供商运行时设置

使用 agents.providers 自定义 Seawork 启动智能体提供商 CLI 的方式。适用于 claude and codex.

command.mode 可以是 default, append, or replace. 使用 env 注入特定于提供商的环境变量。

启用 Claude Code Chrome MCP

{
  "agents": {
    "providers": {
      "claude": {
        "command": {
          "mode": "append",
          "args": ["--chrome"]
        }
      }
    }
  }
}

将 Claude 指向兼容 Anthropic 的端点(z.ai 示例)

{
  "agents": {
    "providers": {
      "claude": {
        "env": {
          "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
          "ANTHROPIC_AUTH_TOKEN": "auth token",
          "ANTHROPIC_API_KEY": ""
        }
      }
    }
  }
}

通过 Docker 运行 Claude

创建一个在 Docker 中运行 Claude 的包装脚本,然后告诉 Seawork 用该脚本替换 Claude 的启动命令。

{
  "agents": {
    "providers": {
      "claude": {
        "command": {
          "mode": "replace",
          "argv": ["/Users/you/bin/claude-docker"]
        }
      }
    }
  }
}
#!/usr/bin/env bash
set -euo pipefail
docker run --rm -i \
  -v "$PWD":"$PWD" \
  -w "$PWD" \
  -v "$HOME/.claude":"$HOME/.claude" \
  ghcr.io/anthropics/claude-code:latest \
  claude "$@"

语音

语音通过 features.dictation features.voiceMode配置,提供商凭证在 providers.

有关语音设计理念、架构和完整的本地/OpenAI 设置示例,请参阅 语音文档

日志

守护进程日志默认使用独立的控制台和文件输出:

  • 控制台: info 及以上
  • 文件($SEAWORK_HOME/daemon.log): trace 及以上
  • 文件轮转:最大文件大小 10m ,共保留 2 个文件(当前 + 1 个已轮转)
{
  "log": {
    "console": {
      "level": "info",
      "format": "pretty"
    },
    "file": {
      "level": "trace",
      "path": "daemon.log",
      "rotate": {
        "maxSize": "10m",
        "maxFiles": 2
      }
    }
  }
}

旧字段 log.level and log.format 仍然支持,并映射到新的目标设置。

常用环境变量

  • SEAWORK_HOME — set Seawork home directory
  • SEAWORK_LISTEN — override daemon.listen
  • SEAWORK_ALLOWED_HOSTS — override/extend daemon.allowedHosts
  • SEAWORK_LOG_CONSOLE_LEVEL — override log.console.level
  • SEAWORK_LOG_FILE_LEVEL — override log.file.level
  • SEAWORK_LOG_FILE_PATH — override log.file.path
  • SEAWORK_LOG_FILE_ROTATE_SIZE — override log.file.rotate.maxSize
  • SEAWORK_LOG_FILE_ROTATE_COUNT — override log.file.rotate.maxFiles
  • SEAWORK_LOG, SEAWORK_LOG_FORMAT — legacy log overrides (still supported)
  • OPENAI_API_KEY — override OpenAI provider key
  • SEAWORK_VOICE_LLM_PROVIDER — override voice LLM provider (claude or codex)
  • SEAWORK_DICTATION_STT_PROVIDER, SEAWORK_VOICE_STT_PROVIDER, SEAWORK_VOICE_TTS_PROVIDER — override voice provider selection (local or openai)
  • SEAWORK_LOCAL_MODELS_DIR — control local model directory
  • SEAWORK_DICTATION_LOCAL_STT_MODEL — override local dictation STT model
  • SEAWORK_VOICE_LOCAL_STT_MODEL, SEAWORK_VOICE_LOCAL_TTS_MODEL — override local voice STT/TTS models
  • SEAWORK_VOICE_LOCAL_TTS_SPEAKER_ID, SEAWORK_VOICE_LOCAL_TTS_SPEED — optional local voice TTS tuning

Schema

用于编辑器自动补全/验证,将 $schema 设置为:

https://seawork.ai/schemas/seawork.config.v1.json