Skip to content

配置文件详解 ​

本页列出 ~/.manyoyo/manyoyo.json 的所有字段。文件为 JSON5 格式(支持注释),完整模板见仓库 manyoyo.example.json。

文件与优先级 ​

只有一个配置文件:~/.manyoyo/manyoyo.json。顶层字段是全局配置,runs.<name> 是运行配置,用 -r <name> 加载。

优先级:命令行 > runs.<name> > 全局配置 > 默认值。

  • 标量字段:取最高优先级的值。
  • env:按 key 合并,后者覆盖前者。
  • envFile、volumes、ports、imageBuildArgs:按「全局 → runs.<name> → 命令行」追加。
  • serverUser / serverPass:命令行 > runs.<name> > 全局配置 > 环境变量 > 默认值。
json5
{
    "imageName": "ghcr.io/xcanwin/manyoyo",
    "imageVersion": "2.2.0-full",
    "runs": {
        "claude": {
            "envFile": ["/abs/path/anthropic_claudecode.env"],
            "yolo": "c"
        }
    }
}

容器与镜像 ​

字段类型默认值说明
containerName字符串my-{月日-时分}容器名,支持 {now}(→ MMDD-HHmm)
hostPath字符串当前目录挂载到容器的宿主机工作目录
containerPath字符串同 hostPath容器内工作目录
imageName字符串ghcr.io/xcanwin/manyoyo镜像名(不含版本)
imageVersion字符串无格式 x.y.z-后缀,如 2.2.0-common、2.2.0-full
containerMode字符串commoncommon / dind / sock,见 容器模式
imageBuildArgs字符串数组无构建参数 KEY=VALUE,追加合并,如 TOOL=common

环境、挂载与端口 ​

字段类型合并规则说明
envFile字符串数组追加环境变量文件,仅支持绝对路径;新容器里每次执行命令时实时读取,改了文件下一条命令生效
env对象按 key 覆盖直接指定环境变量
volumes字符串数组追加宿主机路径:容器路径[:ro],宿主机路径支持绝对路径与 ~ / $HOME 前缀
ports字符串数组追加透传为 --publish,如 "8080:80"
json5
{
    "env": { "TZ": "Asia/Shanghai" },
    "volumes": ["~/.ssh:/root/.ssh:ro"],
    "ports": ["127.0.0.1:8443:443"]
}

挂载与 sock 模式的安全提示见 安全说明。

命令 ​

字段类型说明
yolo字符串c / gm / cx / oc(或 claude / gemini / codex / opencode),跳过权限确认,详见 智能体
shellPrefix字符串命令前缀,常用于临时环境变量
shell字符串主命令,如 claude
shellSuffix字符串追加在 shell 后,如 resume --last;可被 --ss 或 -- ... 覆盖(后者最高)
first对象仅在新建容器后执行一次,复用容器时不执行;含 shellPrefix / shell / shellSuffix(覆盖型)、env(按 key 合并)、envFile(追加)
network对象网络策略,新建容器时写入:preset(restricted 默认 / allowlist / custom)、outbound / inbound(规则数组,每条 { "action": "allow", "target": "@host", "ports": "11434", "proto": "tcp" },入站用 source,变量与规则见管理容器)、expose;不写为默认收紧
autostart字符串容器每次启动都由容器内 init 执行的 bash 脚本,新建容器时写入,之后在网页「设置容器」页修改,见管理容器
autostartOnServe布尔serve 启动时自动拉起此容器
agentPromptCommand字符串网页 AGENT 模式的提示词命令模板,须含 {prompt};为空时按 shell / yolo 自动推断
quiet字符串数组静默显示,可选 tip / cmd / full
json5
{
    "first": { "shell": "echo setup-once", "env": { "BOOTSTRAP": "1" } },
    "shell": "codex",
    "shellSuffix": "resume --last"
}

全局专属字段 ​

以下字段只在全局配置生效,不支持 runs.<name>。

字段类型默认值说明
containerRuntime字符串autoauto / docker / podman;auto 优先私有 Podman,其次 daemon 可用的 docker / podman。manyoyo doctor 会显示选中的运行时
updateCheck布尔trueserve 每天最多查询一次新版本;请求不带本机信息,false 则完全不请求
mirrors对象官方源容器内软件源 apt / npm / pip(http(s):// 地址,留空为官方源),新建容器时生效;apt 只填镜像站主机,如 https://mirrors.aliyun.com。env 里的同名变量优先

网页服务 ​

字段类型默认值说明
serverUser字符串admin登录用户名,环境变量 MANYOYO_SERVER_USER
serverPass字符串随机生成登录密码,环境变量 MANYOYO_SERVER_PASS
serve.title字符串按会话 Agent 名动态显示一旦设置(含空字符串)即固定显示;runs.<name>.serve 优先于全局
serve.quickChat对象无网页「快捷对话」:path 为工作根目录,run 为使用的 runs.<name>

认证与对外监听的注意事项见 网页服务 与 安全说明。

插件 ​

plugins.playwright 配置 manyoyo playwright,runs.<name>.plugins.playwright 可覆盖全局。字段说明见 Playwright 插件,默认值见 manyoyo.example.json。

调试配置 ​

bash
manyoyo config show             # 全局配置合并结果
manyoyo config show -r claude   # 某个运行配置的合并结果
manyoyo config command -r claude  # 将要执行的命令

配置没生效时先确认是有效的 JSON5,再用 config show 看最终值;envFile 没加载时确认是绝对路径。

下一步 ​

Released under the MIT License.