serverfs.toml.example
Rama main · réplica de lectura del repositorio original.
# ServerFS native configuration
#
# Copy this file to serverfs.toml next to your deployment, edit the
# [[workdirs]] entries, then run:
#
# serverfs doctor --config serverfs.toml # read-only health report
# serverfs serve --config serverfs.toml # MCP stdio service
#
# Rules that never change:
# - every path here is operator configuration; the agent only ever sees
# workdir aliases, never host paths;
# - no secrets belong in this file. Tunnel/proxy credentials live in the
# separate .env consumed by `serverfs tunnel` (see SERVERFS_PROXY_* in
# README), and the Control Plane API key lives in a file OUTSIDE every
# workdir referenced below.
#
# Agent delegation (v0.11) is DISABLED by default. A file with no [agent]
# section at all behaves exactly like v0.10: no Bridge process, no Agent
# tools, filesystem-only surface. Nothing below needs to be present unless you
# want Agent delegation.
#
# The [agent] section below is documentation, not a requirement -- it is
# commented out so this example stays filesystem-only by default. Uncomment it
# to opt in.
#
# Agent secrets are NOT configured here either. The dedicated egress proxy
# endpoint arrives through the SERVERFS_AGENT_PROXY_URL environment variable
# (plus optional SERVERFS_AGENT_NO_PROXY) and is deliberately absent from this
# file, from the generated Bridge configuration, and from every log and MCP
# result. The booleans below are routing policy only.
#
# The Agent Bridge is a SEPARATE distribution in a SEPARATE virtual environment
# (the frozen two-environment boundary): point the supervisor at its
# interpreter with SERVERFS_BRIDGE_PYTHON in the .env next to this file, e.g.
# SERVERFS_BRIDGE_PYTHON=C:\path\to\.venv-bridge\Scripts\python.exe
# The root environment never contains the Bridge package and the Bridge
# environment never contains the product package. Runtime binaries below are
# optional: an absent field means the product default, which is the launch
# path a default deployment runs.
[server]
# DEBUG | INFO | WARNING | ERROR (default: INFO)
# Structured JSON logs go to stderr only; stdout is reserved for MCP frames.
log_level = "INFO"
# Policy defaults applied to every workdir unless noted. These mirror the
# global SERVERFS_* environment defaults of the Docker deployment.
[defaults]
max_read_bytes = 524288 # read_text_file page cap
max_read_lines = 500 # read_text_file line cap per call
max_write_bytes = 1048576 # create/edit text size cap
allow_hidden = false # true exposes dotfiles on every channel
binary_transfer_enabled = false # true enables upload/download binary tools
max_binary_transfer_bytes = 8388608
# One [[workdirs]] entry per exposed directory. Aliases must be unique and
# match ^[A-Za-z][A-Za-z0-9_-]{0,31}$. Paths must be absolute native paths
# (D:\trees\project or /srv/trees/project) and must not contain "..".
# read_only defaults to TRUE: mutations are refused by the kernel unless you
# explicitly opt the workdir in.
[[workdirs]]
alias = "docs"
path = "D:\\agent-data\\docs"
description = "Documentation tree, offered read-only"
read_only = true
[[workdirs]]
alias = "workspace"
path = "D:\\agent-data\\workspace"
description = "Writable scratch area for agent tasks"
read_only = false
# ---------------------------------------------------------------------------
# Agent delegation -- opt in by uncommenting. Absent means v0.10 behavior.
# ---------------------------------------------------------------------------
# [agent]
# enabled = true
# # Lifecycle limits. The defaults shown are the Agent Bridge's own; they are
# # written here only so an operator can see and tune them.
# task_timeout_seconds = 7200
# interaction_timeout_seconds = 1800
# max_active_tasks = 4
# retention_seconds = 604800
#
# [agent.proxy]
# # Disabled by default. v0.11 supports exactly one source: the environment.
# enabled = false
# source = "env"
#
# [agent.codex]
# enabled = false
# codex_bin = "codex"
# # true is required where provider egress is unreachable direct (measured on
# # the reference Windows host: api.openai.com and chatgpt.com time out).
# use_proxy = true
#
# [agent.claude]
# enabled = false
# claude_bin = "claude"
# use_proxy = false
#
# [agent.qoder]
# enabled = false
# qoder_bin = "qodercli"
# # Measured directly reachable, so proxying is a policy choice here.
# use_proxy = false
#
# Generic ACP v1 profiles (v0.19.0). Leave this list
# absent or empty when no ACP Agent is configured. Every profile command is
# an operator-selected absolute executable path; argv is fixed at config time.
# Task callers cannot override command, argv or environment. ACP profiles
# require workspace-write workdir policy. Provider authentication remains in
# provider-owned state. No Registry Agent is installed or trusted automatically.
#
# [[agent.acp_profiles]]
# id = "opencode"
# command = "/absolute/path/to/opencode"
# args = ["acp"]
# use_proxy = false
#
# Per-workdir Agent policy. agent_mode is one of disabled | review |
# workspace-write. A workdir that allowlists a native runtime must be
# workspace-write, because a native runtime may only submit with that profile,
# and workspace-write in turn requires read_only = false above.
#
# [[workdirs]]
# alias = "project"
# path = "D:\\agent-data\\project"
# read_only = false
# agent_mode = "workspace-write"
# agent_runtimes = ["acp-opencode"]