MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / UpdateModelConfig

Method UpdateModelConfig

agent/app/service/agents.go:937–978  ·  view source on GitHub ↗
(req dto.AgentModelConfigUpdateReq)

Source from the content-addressed store, hash-verified

935}
936
937func (a AgentService) UpdateModelConfig(req dto.AgentModelConfigUpdateReq) error {
938 agent, err := agentRepo.GetFirst(repo.WithByID(req.AgentID))
939 if err != nil {
940 return err
941 }
942 account, err := agentAccountRepo.GetFirst(repo.WithByID(req.AccountID))
943 if err != nil {
944 return err
945 }
946 resolvedRuntime, err := resolveOpenclawAccountModelRuntimeByID(account, req.Model)
947 if err != nil {
948 return err
949 }
950 modelName := resolvedRuntime.StoredModel
951 apiType, maxTokens, contextWindow := resolvedRuntime.APIType, resolvedRuntime.MaxTokens, resolvedRuntime.ContextWindow
952 confDir := path.Dir(agent.ConfigPath)
953 if agent.AgentType == constant.AppHermesAgent {
954 cfg, err := readHermesConfig(agent.ConfigPath)
955 if err != nil {
956 return err
957 }
958 if err := writeHermesConfig(confDir, account, modelName, cfg.Timezone); err != nil {
959 return err
960 }
961 } else {
962 if agent.AgentType != constant.AppOpenclaw {
963 return fmt.Errorf("%s does not support", agent.AgentType)
964 }
965 if err := writeOpenclawConfig(confDir, account, modelName, agent.Token, nil, req.Fallbacks); err != nil {
966 return err
967 }
968 }
969 agent.Provider = account.Provider
970 agent.Model = modelName
971 agent.APIType = apiType
972 agent.MaxTokens = maxTokens
973 agent.ContextWindow = contextWindow
974 agent.BaseURL = account.BaseURL
975 agent.APIKey = account.APIKey
976 agent.AccountID = account.ID
977 return agentRepo.Save(agent)
978}
979
980func (a AgentService) GetProviders() ([]dto.ProviderInfo, error) {
981 definitions := providercatalog.All()

Callers

nothing calls this directly

Calls 7

readHermesConfigFunction · 0.85
writeHermesConfigFunction · 0.85
writeOpenclawConfigFunction · 0.85
GetFirstMethod · 0.65
WithByIDMethod · 0.65
SaveMethod · 0.65

Tested by

no test coverage detected