You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.7 KiB

import 'package:json_annotation/json_annotation.dart';
part 'appconfig_model.g.dart'; // 生成的文件名
@JsonSerializable()
class UserGetAppConfigResp {
final Map<String, String> env;
final List<DBAgent> agents;
final Map<String, DBMCPServer> mcps;
UserGetAppConfigResp(
{required this.env, required this.agents, required this.mcps});
factory UserGetAppConfigResp.fromJson(Map<String, dynamic> json) =>
_$UserGetAppConfigRespFromJson(json);
Map<String, dynamic> toJson() => _$UserGetAppConfigRespToJson(this);
}
@JsonSerializable()
class DBAgent {
final String id;
final String name;
final String avatarUrl;
final String description;
final String tag;
final bool isOnline;
final String voice;
final String? welcomeMessage;
final String? voiceWelcomeMessage;
final String? systemPrompt;
final List<String>? tools;
DBAgent({
required this.id,
required this.name,
required this.avatarUrl,
required this.description,
required this.tag,
required this.isOnline,
required this.voice,
required this.welcomeMessage,
required this.voiceWelcomeMessage,
required this.systemPrompt,
required this.tools,
});
factory DBAgent.fromJson(Map<String, dynamic> json) =>
_$DBAgentFromJson(json);
Map<String, dynamic> toJson() => _$DBAgentToJson(this);
}
@JsonSerializable()
class DBMCPServer {
final String servername;
final String url;
final List<String>? tools;
DBMCPServer({
required this.servername,
required this.url,
required this.tools,
});
factory DBMCPServer.fromJson(Map<String, dynamic> json) =>
_$DBMCPServerFromJson(json);
Map<String, dynamic> toJson() => _$DBMCPServerToJson(this);
}