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

Method GetModelConfig

agent/app/service/agents.go:886–935  ·  view source on GitHub ↗
(req dto.AgentIDReq)

Source from the content-addressed store, hash-verified

884}
885
886func (a AgentService) GetModelConfig(req dto.AgentIDReq) (*dto.AgentModelConfig, error) {
887 agent, err := agentRepo.GetFirst(repo.WithByID(req.AgentID))
888 if err != nil {
889 return nil, err
890 }
891 if agent.AgentType == constant.AppHermesAgent {
892 cfg, err := readHermesConfig(agent.ConfigPath)
893 if err != nil {
894 return nil, err
895 }
896 account, err := agentAccountRepo.GetFirst(repo.WithByID(agent.AccountID))
897 if err != nil {
898 return nil, err
899 }
900 accountModels, err := loadAgentAccountModels(account)
901 if err != nil {
902 return nil, err
903 }
904 model, err := resolveHermesConfiguredModelID(account, accountModels, cfg.Model.Default)
905 if err != nil {
906 return nil, err
907 }
908 return &dto.AgentModelConfig{
909 AccountID: agent.AccountID,
910 Model: model,
911 Fallbacks: []string{},
912 }, nil
913 }
914 agent, _, conf, err := a.loadOpenclawAgentConfig(req.AgentID)
915 if err != nil {
916 return nil, err
917 }
918 account, err := agentAccountRepo.GetFirst(repo.WithByID(agent.AccountID))
919 if err != nil {
920 return nil, err
921 }
922 models, err := loadAgentAccountModels(account)
923 if err != nil {
924 return nil, err
925 }
926 model := extractOpenclawPrimaryModelID(conf, account, models)
927 if model == "" {
928 model = agent.Model
929 }
930 return &dto.AgentModelConfig{
931 AccountID: agent.AccountID,
932 Model: model,
933 Fallbacks: extractOpenclawFallbackModelIDs(conf, account, models, model),
934 }, nil
935}
936
937func (a AgentService) UpdateModelConfig(req dto.AgentModelConfigUpdateReq) error {
938 agent, err := agentRepo.GetFirst(repo.WithByID(req.AgentID))

Callers

nothing calls this directly

Calls 8

readHermesConfigFunction · 0.85
loadAgentAccountModelsFunction · 0.85
GetFirstMethod · 0.65
WithByIDMethod · 0.65

Tested by

no test coverage detected