Skip to main content

Agent execution budget

File: config/system/system-agent.json. Side: server. A missing file is read after being copied from the file of the same name under the JAR's defaults.

FieldTypeRequiredDefaultDescription
timeZoneStringno"Asia/Shanghai"Time zone for daily quota settlement; must be a valid ZoneId.
modelCallsPerPlayerDayIntegerno100Per-player daily model call limit, positive integer.
concurrentModelsIntegerno4Upper limit of model requests the server executes concurrently, positive integer.
routingPolicyObjectnoSee default fileRouter budget, see the table below.
policiesObjectno{}Overrides the complete execution budget by workflow ID; this is not a per-player permission setting.

Execution budget object​

routingPolicy and every value in policies use the same structure. Except for reactIterations, when overriding one budget item the remaining fields must also be provided in full; a zero model / write quota forbids that operation respectively.

FieldTypeRequiredDefaultDescription
modelCallsNon-negative integeryes—Maximum number of model calls.
toolCallsNon-negative integeryes—Maximum number of tool calls.
stepsPositive integeryes—Upper limit of total execution steps.
writeStepsNon-negative integeryes—Upper limit of write steps.
inputBytesPositive integeryes—Upper limit of input bytes.
outputTokensPositive integeryes—Output token budget per request.
totalTokensPositive integeryes—Token budget for the whole execution.
ttlMillisPositive integeryes—Total lifetime of the task, in milliseconds.
modelTimeoutMillisPositive integeryes—Timeout of a single model request, in milliseconds.
reactIterationsNon-negative integerno3Upper limit of the ReAct loop; 0 forbids extra loops.

AI mode limits and per-player authorization are stored in the world SavedData and managed through /system ai; they are not part of this global config file. See AI modes.

Bundled default file​

config/system/system-agent.json
{
"timeZone": "Asia/Shanghai",
"modelCallsPerPlayerDay": 100,
"concurrentModels": 4,
"routingPolicy": {
"modelCalls": 1,
"toolCalls": 0,
"steps": 4,
"writeSteps": 0,
"inputBytes": 16384,
"outputTokens": 512,
"totalTokens": 32768,
"ttlMillis": 14500,
"modelTimeoutMillis": 4000,
"reactIterations": 0
},
"policies": {}
}