mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 02:36:01 -10:00
61 lines
2.6 KiB
Go
61 lines
2.6 KiB
Go
package agent
|
|
|
|
// agentConfig is everything New fixes for an Agent's lifetime; nothing writes
|
|
// it afterwards, which agent_config_test.go enforces. Embedded rather than
|
|
// nested so access stays flat, as perTurnState already does. Separating it lets
|
|
// the struct-state ratchet count reachable states instead of size: an immutable
|
|
// field combines with nothing. Anything that changes after New goes on Agent.
|
|
type agentConfig struct {
|
|
maxSteps int
|
|
maxStepsKey string
|
|
reasoningByteLimit int
|
|
// perseverationGuard enables the loop detector (on by default);
|
|
// perseverationMaxRetries is the cut-and-retry budget (0 = report only,
|
|
// >0 = cut and nudge).
|
|
perseverationGuard bool
|
|
perseverationMaxRetries int
|
|
maxOutputTokens int
|
|
temperature float64
|
|
usageSource string
|
|
modelRef string
|
|
// workspaceID is a prompt-cache lineage component, so it must not move
|
|
// while an agent lives — a change would silently rekey the cache.
|
|
workspaceID string
|
|
// classifierTaskText is the host-trusted task text for delivery intent
|
|
// classification, set by sub-agent spawners whose Run input carries host
|
|
// framing. Empty means classify the raw input verbatim.
|
|
classifierTaskText string
|
|
// writeWorkspaceRoot scopes write reservations when writeScheduler is set.
|
|
writeWorkspaceRoot string
|
|
// observeRoot is the workspace an unclassified call's effect is observed in.
|
|
observeRoot string
|
|
// extraRoots are granted folders that are workspace beside the root.
|
|
extraRoots []string
|
|
// workspaceScanLimit bounds the observation walk; zero means workspaceScanLimit.
|
|
workspaceScanLimit int
|
|
// renderRoot opens written pages for a look; empty owes no look.
|
|
renderRoot string
|
|
// workspaceVCS rides the turn block; in the prefix it would diverge it.
|
|
workspaceVCS string
|
|
// workspaceUnversioned: the host found no version-control root around the workspace.
|
|
workspaceUnversioned bool
|
|
// subagentDepth caps delegation; at maxSubagentDepth the recursive
|
|
// agent/skill tools are excluded.
|
|
subagentDepth int
|
|
maxSubagentDepth int
|
|
providerRetries int
|
|
// contextWindow and compactRatio decide when at most one provider-visible
|
|
// checkpoint is installed; archiveDir is where the folded span is written.
|
|
contextWindow int
|
|
compactRatio float64
|
|
archiveDir string
|
|
budgets CompactionBudgets
|
|
}
|
|
|
|
// CompactionBudgets are the fold's user-owned bounds: how small its result
|
|
// must be. A zero field selects the
|
|
// built-in default, so an unconfigured agent behaves exactly as before.
|
|
type CompactionBudgets struct {
|
|
CheckpointCeilingRatio float64
|
|
}
|