Documentation
¶
Index ¶
Constants ¶
View Source
const Version = "1"
Variables ¶
This section is empty.
Functions ¶
func UpgradeIfNeeded ¶ added in v1.9.22
Types ¶
type AgentConfig ¶
type AgentConfig struct {
Model string `json:"model,omitempty" yaml:"model,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Toolsets []Toolset `json:"toolsets,omitempty" yaml:"toolsets,omitempty"`
Instruction string `json:"instruction,omitempty" yaml:"instruction,omitempty"`
SubAgents []string `json:"sub_agents,omitempty" yaml:"sub_agents,omitempty"`
AddDate bool `json:"add_date,omitempty" yaml:"add_date,omitempty"`
AddEnvironmentInfo bool `json:"add_environment_info,omitempty" yaml:"add_environment_info,omitempty"`
NumHistoryItems int `json:"num_history_items,omitempty" yaml:"num_history_items,omitempty"`
Commands types.Commands `json:"commands,omitempty" yaml:"commands,omitempty"`
}
AgentConfig represents a single agent configuration
type Config ¶
type Config struct {
Version string `json:"version,omitempty" yaml:"version,omitempty"`
Agents map[string]AgentConfig `json:"agents,omitempty" yaml:"agents,omitempty"`
Models map[string]ModelConfig `json:"models,omitempty" yaml:"models,omitempty"`
Env map[string]string `json:"env,omitempty" yaml:"env,omitempty"`
Metadata Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
}
Config represents the entire configuration file
type ModelConfig ¶
type ModelConfig struct {
Provider string `json:"provider,omitempty" yaml:"provider,omitempty"`
Model string `json:"model,omitempty" yaml:"model,omitempty"`
Temperature float64 `json:"temperature,omitempty" yaml:"temperature,omitempty"`
MaxTokens int `json:"max_tokens,omitempty" yaml:"max_tokens,omitempty"`
TopP float64 `json:"top_p,omitempty" yaml:"top_p,omitempty"`
FrequencyPenalty float64 `json:"frequency_penalty,omitempty" yaml:"frequency_penalty,omitempty"`
PresencePenalty float64 `json:"presence_penalty,omitempty" yaml:"presence_penalty,omitempty"`
BaseURL string `json:"base_url,omitempty" yaml:"base_url,omitempty"`
ParallelToolCalls *bool `json:"parallel_tool_calls,omitempty" yaml:"parallel_tool_calls,omitempty"`
Env map[string]string `json:"env,omitempty" yaml:"env,omitempty"`
TokenKey string `json:"token_key,omitempty" yaml:"token_key,omitempty"`
// ProviderOpts allows provider-specific options. Currently used for "dmr" provider only.
ProviderOpts map[string]any `json:"provider_opts,omitempty" yaml:"provider_opts,omitempty"`
}
ModelConfig represents the configuration for a model
type PostEditConfig ¶ added in v1.2.0
type PostEditConfig struct {
Path string `json:"path" yaml:"path"`
Cmd string `json:"cmd" yaml:"cmd"`
}
PostEditConfig represents a post-edit command configuration
type ScriptShellToolConfig ¶
type ScriptShellToolConfig struct {
Cmd string `json:"cmd" yaml:"cmd"`
Description string `json:"description" yaml:"description"`
// Args is directly passed as "properties" in the JSON schema
Args map[string]any `json:"args,omitempty" yaml:"args,omitempty"`
// Required is directly passed as "required" in the JSON schema
Required []string `json:"required" yaml:"required"`
Env map[string]string `json:"env,omitempty" yaml:"env,omitempty"`
WorkingDir string `json:"working_dir,omitempty" yaml:"working_dir,omitempty"`
}
ScriptShellToolConfig represents a custom shell tool configuration
type Toolset ¶
type Toolset struct {
Type string `json:"type,omitempty" yaml:"type,omitempty"`
Ref string `json:"ref,omitempty" yaml:"ref,omitempty"`
Config any `json:"config,omitempty" yaml:"config,omitempty"`
Command string `json:"command,omitempty" yaml:"command,omitempty"`
Remote Remote `json:"remote,omitempty" yaml:"remote,omitempty"`
Args []string `json:"args,omitempty" yaml:"args,omitempty"`
Env map[string]string `json:"env,omitempty" yaml:"env,omitempty"`
Envfiles types.StringOrList `json:"env_file,omitempty" yaml:"env_file,omitempty"`
Tools []string `json:"tools,omitempty" yaml:"tools,omitempty"`
Shared bool `json:"shared,omitempty" yaml:"shared,omitempty"`
// For the memory tool
Path string `json:"path,omitempty" yaml:"path,omitempty"`
// For the script tool
Shell map[string]ScriptShellToolConfig `json:"shell,omitempty" yaml:"shell,omitempty"`
// For the filesystem tool - post-edit commands
PostEdit []PostEditConfig `json:"post_edit,omitempty" yaml:"post_edit,omitempty"`
}
Toolset represents a tool configuration
Click to show internal directories.
Click to hide internal directories.