Documentation
¶
Index ¶
- type AliyunConfig
- type AliyunOSSConfig
- type AtomgitConfig
- type Attachment
- type ClickHouse
- type CnbConfig
- type CnbOAuthConfig
- type CodeupConfig
- type CodeupOAuthConfig
- type Config
- func (c *Config) GetAtomgitBaseURL() string
- func (c *Config) GetCnbBaseURL() string
- func (c *Config) GetCnbOAuthClientID() string
- func (c *Config) GetCnbOAuthClientSecret() string
- func (c *Config) GetCnbOAuthRedirectURL() string
- func (c *Config) GetCnbOAuthScope() string
- func (c *Config) GetCnbWebBaseURL() string
- func (c *Config) GetCodeupBaseURL() string
- func (c *Config) GetCodeupOAuthAuthorizeURL() string
- func (c *Config) GetCodeupOAuthClientID() string
- func (c *Config) GetCodeupOAuthClientSecret() string
- func (c *Config) GetCodeupOAuthRedirectURL() string
- func (c *Config) GetCodeupOAuthTokenURL() string
- func (c *Config) GetGiteaBaseURL() string
- func (c *Config) GetGiteaOAuthClientID() string
- func (c *Config) GetGiteaOAuthClientSecret() string
- func (c *Config) GetGiteaOAuthRedirectURL() string
- func (c *Config) GetGiteaToken() string
- func (c *Config) GetGiteeBaseURL() string
- func (c *Config) GetGiteeOAuthClientID() string
- func (c *Config) GetGiteeOAuthClientSecret() string
- func (c *Config) GetGiteeOAuthRedirectURL() string
- func (c *Config) GetGiteeToken() string
- func (c *Config) GetGitlabBaseURL(instanceName string) string
- func (c *Config) GetGitlabOAuthClientID(instanceName string) string
- func (c *Config) GetGitlabOAuthClientSecret(instanceName string) string
- func (c *Config) GetGitlabOAuthRedirectURL(instanceName string) string
- func (c *Config) GetGitlabOAuthScope(instanceName string) string
- func (c *Config) GetGitlabToken(instanceName string) string
- func (c *Config) IsAtomgitEnabled() bool
- func (c *Config) IsCnbEnabled() bool
- func (c *Config) IsCodeupEnabled() bool
- func (c *Config) IsGiteaEnabled() bool
- func (c *Config) IsGiteeEnabled() bool
- func (c *Config) IsGithubEnabled() bool
- func (c *Config) IsGitlabInstanceEnabled(instanceName string) bool
- type Database
- type Doubao
- type GiteaConfig
- type GiteaOAuthConfig
- type GiteeConfig
- type GiteeOAuthConfig
- type GithubAppConfig
- type GithubConfig
- type GithubOAuthConfig
- type GitlabConfig
- type GitlabInstance
- type GitlabOAuthConfig
- type HostInstaller
- type InitTeam
- type LLM
- type Loki
- type MCPHub
- type NLS
- type Notify
- type OAuthLoginConfig
- type OAuthLoginProviderConfig
- type ObjectStorageConfig
- type PublicHost
- type ReviewAgent
- type SMTP
- type Session
- type StaticFilesConfig
- type Task
- type TaskFlow
- type TaskSummary
- type VMIdle
- type WechatConfig
- type WechatMPConfig
- type WechatMPQAConfig
- type WechatOpenConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AliyunConfig ¶
type AliyunConfig struct {
PublicOSS AliyunOSSConfig `mapstructure:"public_oss"`
PrivateOSS AliyunOSSConfig `mapstructure:"private_oss"`
}
AliyunConfig mirrors mcai-backend's config.AliyunConfig.
type AliyunOSSConfig ¶
type AliyunOSSConfig struct {
AvatarPrefix string `mapstructure:"avatar_prefix"`
SpecPrefix string `mapstructure:"spec_prefix"`
RepoPrefix string `mapstructure:"repo_prefix"`
TempPrefix string `mapstructure:"temp_prefix"`
Endpoint string `mapstructure:"endpoint"`
AccessEndpoint string `mapstructure:"access_endpoint"`
AccessKey string `mapstructure:"access_key"`
AccessKeySecret string `mapstructure:"access_key_secret"`
Bucket string `mapstructure:"bucket"`
Region string `mapstructure:"region"`
MaxSize int64 `mapstructure:"max_size"`
}
AliyunOSSConfig is structurally identical to mcai-backend's config.OSSConfig so the same aliyun.public_oss yaml block can be pasted into mcai-gh/backend deploys. Only Endpoint / Bucket / AccessKey / AccessKeySecret / Region are read by the agent-resources Resolver; the *Prefix fields are accepted for shape parity but unused on this side.
type AtomgitConfig ¶
type AtomgitConfig struct {
// OpenAPI 域名(默认 https://api.atomgit.com)
BaseURL string `mapstructure:"base_url"`
Enabled bool `mapstructure:"enabled"`
}
AtomgitConfig atomgit (https://atomgit.com) 配置
当前实现仅支持 PAT 模式; OAuth authorize/callback 链路待补 (token endpoint 已在文档中: POST https://api.atomgit.com/login/oauth/access_token, refresh_token 也走该地址)。
type Attachment ¶
type Attachment struct {
AllowedURLPrefixes []string `mapstructure:"allowed_url_prefixes"`
}
type ClickHouse ¶
type ClickHouse struct {
Addr string `mapstructure:"addr"`
Database string `mapstructure:"database"`
Table string `mapstructure:"table"`
ModelUsageTable string `mapstructure:"model_usage_table"`
InitEnabled bool `mapstructure:"init_enabled"`
Username string `mapstructure:"username"`
Password string `mapstructure:"password"`
ReadUsername string `mapstructure:"read_username"`
ReadPassword string `mapstructure:"read_password"`
MaxOpenConns int `mapstructure:"max_open_conns"`
MaxIdleConns int `mapstructure:"max_idle_conns"`
ConnMaxLifetime int `mapstructure:"conn_max_lifetime"`
}
type CnbConfig ¶
type CnbConfig struct {
// OpenAPI 域名(默认 https://api.cnb.cool)
BaseURL string `mapstructure:"base_url"`
// Web 域名(默认 https://cnb.cool,OAuth authorize / token endpoint 走这个)
WebBaseURL string `mapstructure:"web_base_url"`
Enabled bool `mapstructure:"enabled"`
OAuth CnbOAuthConfig `mapstructure:"oauth"`
}
CnbConfig 腾讯 CNB (cnb.cool) 配置
type CnbOAuthConfig ¶
type CnbOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
// Scope 默认 "repo-basic-info repo-code account-profile"
Scope string `mapstructure:"scope"`
}
CnbOAuthConfig CNB OAuth2 配置(标准授权码模式 + refresh_token)
type CodeupConfig ¶
type CodeupConfig struct {
// OpenAPI 域名(默认 https://openapi-rdc.aliyuncs.com,专有云可覆盖)
BaseURL string `mapstructure:"base_url"`
Enabled bool `mapstructure:"enabled"`
OAuth CodeupOAuthConfig `mapstructure:"oauth"`
}
CodeupConfig 阿里云云效 Codeup 配置
type CodeupOAuthConfig ¶
type CodeupOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
// TokenURL 阿里云 OAuth2 token endpoint,默认 https://account.aliyun.com/oauth2/v1/token
TokenURL string `mapstructure:"token_url"`
// AuthorizeURL 阿里云 OAuth2 authorize endpoint,默认 https://account.aliyun.com/oauth2/v1/auth
AuthorizeURL string `mapstructure:"authorize_url"`
}
CodeupOAuthConfig Codeup OAuth 配置(走阿里云账号 OAuth2)
⚠️ 暂未启用:云效 OAuth(POST /login/oauth/create)官方仍在内测,且响应不返回 refresh_token / expires_in,与现有 OAuth2 刷新模型不兼容。当前 codeup 一律走 PAT 模式(identity.AccessToken 存用户填写的 PAT)。等云效放开公网接入并补齐响应字段后, 再补 Authorize/Callback handler 和 token 持久化逻辑。
type Config ¶
type Config struct {
Debug bool `mapstructure:"debug"`
Server struct {
Addr string `mapstructure:"addr"`
BaseURL string `mapstructure:"base_url"`
} `mapstructure:"server"`
Database Database `mapstructure:"database"`
Redis struct {
Host string `mapstructure:"host"`
Port int `mapstructure:"port"`
Pass string `mapstructure:"pass"`
DB int `mapstructure:"db"`
} `mapstructure:"redis"`
Session Session `mapstructure:"session"`
SMTP SMTP `mapstructure:"smtp"`
LLMProxy struct {
Addr string `mapstructure:"addr"`
BaseURL string `mapstructure:"base_url"`
Timeout string `mapstructure:"timeout"`
KeepAlive string `mapstructure:"keep_alive"`
ClientPoolSize int `mapstructure:"client_pool_size"`
StreamClientPoolSize int `mapstructure:"stream_client_pool_size"`
RequestLogPath string `mapstructure:"request_log_path"`
} `mapstructure:"llm_proxy"`
RootPath string `mapstructure:"root_path"`
Logger logger.Config `mapstructure:"logger"`
AdminToken string `mapstructure:"admin_token"`
Proxies []string `mapstructure:"proxies"`
TaskFlow TaskFlow `mapstructure:"taskflow"`
MCPHub MCPHub `mapstructure:"mcp_hub"`
PublicHost PublicHost `mapstructure:"public_host"`
Task Task `mapstructure:"task"`
TaskSummary TaskSummary `mapstructure:"task_summary"`
Loki Loki `mapstructure:"loki"`
ClickHouse ClickHouse `mapstructure:"clickhouse"`
LLM LLM `mapstructure:"llm"`
Notify Notify `mapstructure:"notify"`
VMIdle VMIdle `mapstructure:"vm_idle"`
Attachment Attachment `mapstructure:"attachment"`
ObjectStorage ObjectStorageConfig `mapstructure:"object_storage"`
// Aliyun mirrors mcai-backend's aliyun.public_oss block so the agent-
// resources Resolver can fall back to that bucket when ObjectStorage is
// disabled (the same OSS that admin-new writes assets into). Optional.
Aliyun AliyunConfig `mapstructure:"aliyun"`
StaticFiles StaticFilesConfig `mapstructure:"static_files"`
HostInstaller HostInstaller `mapstructure:"host_installer"`
// Context7 API 配置
Context7ApiKey string `mapstructure:"context7_api_key"`
// Git 平台配置
Github GithubConfig `mapstructure:"github"`
Gitlab GitlabConfig `mapstructure:"gitlab"`
Gitea GiteaConfig `mapstructure:"gitea"`
Gitee GiteeConfig `mapstructure:"gitee"`
Codeup CodeupConfig `mapstructure:"codeup"`
Cnb CnbConfig `mapstructure:"cnb"`
Atomgit AtomgitConfig `mapstructure:"atomgit"`
// 微信配置(开放平台 OAuth 登录 + 公众号消息推送)
Wechat WechatConfig `mapstructure:"wechat"`
OAuthLogin OAuthLoginConfig `mapstructure:"oauth_login"`
InitTeam InitTeam `mapstructure:"init_team"`
// 语音识别配置(阿里云 NLS,用于一段录音 POST 接口)
NLS NLS `mapstructure:"nls"`
// 流式语音识别配置(豆包 SAUC bigmodel,用于 WS 实时流式接口)
Doubao Doubao `mapstructure:"doubao"`
ReviewAgent ReviewAgent `mapstructure:"review_agent"`
}
func (*Config) GetAtomgitBaseURL ¶
GetAtomgitBaseURL 获取 atomgit OpenAPI 域名(默认 https://api.atomgit.com)
func (*Config) GetCnbBaseURL ¶
GetCnbBaseURL 获取 CNB OpenAPI 域名(默认 https://api.cnb.cool)
func (*Config) GetCnbOAuthClientID ¶
GetCnbOAuthClientID 获取 CNB OAuth Client ID
func (*Config) GetCnbOAuthClientSecret ¶
GetCnbOAuthClientSecret 获取 CNB OAuth Client Secret
func (*Config) GetCnbOAuthRedirectURL ¶
GetCnbOAuthRedirectURL 获取 CNB OAuth Redirect URL
func (*Config) GetCnbOAuthScope ¶
GetCnbOAuthScope 获取 CNB OAuth scope(多 scope 空格分隔)
func (*Config) GetCnbWebBaseURL ¶
GetCnbWebBaseURL 获取 CNB Web 域名(OAuth authorize/token 走此域名)
func (*Config) GetCodeupBaseURL ¶
GetCodeupBaseURL 获取 Codeup OpenAPI 域名(默认公共站)
func (*Config) GetCodeupOAuthAuthorizeURL ¶
GetCodeupOAuthAuthorizeURL 获取 Codeup OAuth authorize endpoint
func (*Config) GetCodeupOAuthClientID ¶
GetCodeupOAuthClientID 获取 Codeup OAuth Client ID
func (*Config) GetCodeupOAuthClientSecret ¶
GetCodeupOAuthClientSecret 获取 Codeup OAuth Client Secret
func (*Config) GetCodeupOAuthRedirectURL ¶
GetCodeupOAuthRedirectURL 获取 Codeup OAuth Redirect URL
func (*Config) GetCodeupOAuthTokenURL ¶
GetCodeupOAuthTokenURL 获取 Codeup OAuth token endpoint(默认阿里云账号通用网关)
func (*Config) GetGiteaBaseURL ¶
GetGiteaBaseURL 获取 Gitea Base URL
func (*Config) GetGiteaOAuthClientID ¶
GetGiteaOAuthClientID 获取 Gitea OAuth Client ID
func (*Config) GetGiteaOAuthClientSecret ¶
GetGiteaOAuthClientSecret 获取 Gitea OAuth Client Secret
func (*Config) GetGiteaOAuthRedirectURL ¶
GetGiteaOAuthRedirectURL 获取 Gitea OAuth Redirect URL
func (*Config) GetGiteeBaseURL ¶
GetGiteeBaseURL 获取 Gitee Base URL
func (*Config) GetGiteeOAuthClientID ¶
GetGiteeOAuthClientID 获取 Gitee OAuth Client ID
func (*Config) GetGiteeOAuthClientSecret ¶
GetGiteeOAuthClientSecret 获取 Gitee OAuth Client Secret
func (*Config) GetGiteeOAuthRedirectURL ¶
GetGiteeOAuthRedirectURL 获取 Gitee OAuth Redirect URL
func (*Config) GetGitlabBaseURL ¶
GetGitlabBaseURL 获取指定 GitLab 实例的 Base URL
func (*Config) GetGitlabOAuthClientID ¶
GetGitlabOAuthClientID 获取指定 GitLab 实例的 OAuth Client ID
func (*Config) GetGitlabOAuthClientSecret ¶
GetGitlabOAuthClientSecret 获取指定 GitLab 实例的 OAuth Client Secret
func (*Config) GetGitlabOAuthRedirectURL ¶
GetGitlabOAuthRedirectURL 获取指定 GitLab 实例的 OAuth Redirect URL
func (*Config) GetGitlabOAuthScope ¶
GetGitlabOAuthScope 获取指定 GitLab 实例的 OAuth Scope
func (*Config) GetGitlabToken ¶
GetGitlabToken 获取 GitLab token
func (*Config) IsAtomgitEnabled ¶
IsAtomgitEnabled 检查 atomgit 是否启用
func (*Config) IsCodeupEnabled ¶
IsCodeupEnabled 检查 Codeup 是否启用
func (*Config) IsGithubEnabled ¶
IsGithubEnabled 检查 GitHub 是否启用
func (*Config) IsGitlabInstanceEnabled ¶
IsGitlabInstanceEnabled 检查指定 GitLab 实例是否启用
type Doubao ¶
type Doubao struct {
// 火山控制台获取的 App Key,作为 X-Api-Key header 发送
AppKey string `mapstructure:"app_key"`
// 资源 ID;ASR 2.0 取值: volc.seedasr.sauc.duration (按时长) 或 volc.seedasr.sauc.concurrent (按并发)
ResourceID string `mapstructure:"resource_id"`
// WebSocket URL,默认 wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async
URL string `mapstructure:"url"`
// 自学习平台上预建的热词词表 ID (单表最多 5000 个热词)。
// BoostingTableID 与 BoostingTableName 二选一即可,同时配置时豆包优先用 ID。
BoostingTableID string `mapstructure:"boosting_table_id"`
// 自学习平台上预建的热词词表名称,可替代 BoostingTableID 使用 (改名会失效,推荐用 ID)
BoostingTableName string `mapstructure:"boosting_table_name"`
}
Doubao 豆包流式语音识别 2.0 配置 (火山引擎 SAUC bigmodel)。 新版控制台:只需 AppKey 一个鉴权字段 (作为 X-Api-Key header)。
type GiteaConfig ¶
type GiteaConfig struct {
BaseURL string `mapstructure:"base_url"`
Token string `mapstructure:"token"`
Enabled bool `mapstructure:"enabled"`
OAuth GiteaOAuthConfig `mapstructure:"oauth"`
}
GiteaConfig Gitea 配置
type GiteaOAuthConfig ¶
type GiteaOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
}
GiteaOAuthConfig Gitea OAuth 配置
type GiteeConfig ¶
type GiteeConfig struct {
BaseURL string `mapstructure:"base_url"`
Token string `mapstructure:"token"`
Enabled bool `mapstructure:"enabled"`
OAuth GiteeOAuthConfig `mapstructure:"oauth"`
}
GiteeConfig Gitee 配置
type GiteeOAuthConfig ¶
type GiteeOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
}
GiteeOAuthConfig Gitee OAuth 配置
type GithubAppConfig ¶
type GithubConfig ¶
type GithubConfig struct {
Token string `mapstructure:"token"`
Enabled bool `mapstructure:"enabled"`
App GithubAppConfig `mapstructure:"app"`
OAuth GithubOAuthConfig `mapstructure:"oauth"`
}
GithubConfig GitHub 配置
type GithubOAuthConfig ¶
type GithubOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
}
GithubOAuthConfig GitHub OAuth 配置
type GitlabConfig ¶
type GitlabConfig struct {
Default string `mapstructure:"default"`
Instances map[string]GitlabInstance `mapstructure:"instances"`
WebhookSecret string `mapstructure:"webhook_secret"`
AllowedDomains []string `mapstructure:"allowed_domains"`
}
GitlabConfig GitLab 配置
type GitlabInstance ¶
type GitlabInstance struct {
Token string `mapstructure:"token"`
BaseURL string `mapstructure:"base_url"`
Enabled bool `mapstructure:"enabled"`
OAuth GitlabOAuthConfig `mapstructure:"oauth"`
}
GitlabInstance GitLab 实例配置
type GitlabOAuthConfig ¶
type GitlabOAuthConfig struct {
ClientID string `mapstructure:"client_id"`
ClientSecret string `mapstructure:"client_secret"`
RedirectURL string `mapstructure:"redirect_url"`
Scope []string `mapstructure:"scope"`
}
GitlabOAuthConfig GitLab OAuth 配置
type HostInstaller ¶
type LLM ¶
type LLM struct {
BaseURL string `mapstructure:"base_url"`
APIKey string `mapstructure:"api_key"`
Model string `mapstructure:"model"`
InterfaceType string `mapstructure:"interface_type"` // openai_chat, openai_responses, anthropic
}
LLM 大语言模型配置
type MCPHub ¶
type MCPHub struct {
Enabled bool `mapstructure:"enabled"`
URL string `mapstructure:"url"`
Token string `mapstructure:"token"`
UpstreamTimeout string `mapstructure:"upstream_timeout"`
}
func (MCPHub) UpstreamTimeoutDuration ¶
type NLS ¶
type NLS struct {
AppKey string `mapstructure:"app_key"`
AkID string `mapstructure:"ak_id"`
AkKey string `mapstructure:"ak_key"`
}
NLS 阿里云语音识别配置
type Notify ¶
type Notify struct {
VMExpireWarningMinutes int `mapstructure:"vm_expire_warning_minutes"` // VM 过期预警时间(分钟)
}
Notify 通知配置
type OAuthLoginConfig ¶
type OAuthLoginConfig struct {
Google OAuthLoginProviderConfig `mapstructure:"google"`
Github OAuthLoginProviderConfig `mapstructure:"github"`
}
type ObjectStorageConfig ¶
type ObjectStorageConfig struct {
Enabled bool `mapstructure:"enabled"`
Provider string `mapstructure:"provider"`
ForcePathStyle bool `mapstructure:"force_path_style"`
InitBucket bool `mapstructure:"init_bucket"`
PresignExpires string `mapstructure:"presign_expires"`
Endpoint string `mapstructure:"endpoint"`
AccessEndpoint string `mapstructure:"access_endpoint"`
AccessKey string `mapstructure:"access_key"`
AccessKeySecret string `mapstructure:"access_key_secret"`
Bucket string `mapstructure:"bucket"`
Region string `mapstructure:"region"`
MaxSize int64 `mapstructure:"max_size"`
AvatarPrefix string `mapstructure:"avatar_prefix"`
SpecPrefix string `mapstructure:"spec_prefix"`
RepoPrefix string `mapstructure:"repo_prefix"`
TempPrefix string `mapstructure:"temp_prefix"`
}
type PublicHost ¶
type PublicHost struct {
CountLimit int `mapstructure:"count_limit"` // 每用户公共主机 VM 数量限制,0 表示不限制
TTLLimit int64 `mapstructure:"ttl_limit"` // 公共主机 VM 续期上限(秒),0 表示不限制
}
PublicHost 公共主机配置(可选,内部项目通过 WithPublicHost 注入时生效)
type ReviewAgent ¶
type StaticFilesConfig ¶
type Task ¶
type Task struct {
LogLimit int `mapstructure:"log_limit"` // Loki tail 日志 limit
TaskerTTLSeconds int `mapstructure:"tasker_ttl_seconds"` // Tasker 状态机 TTL(秒)
CreateReqTTLSeconds int `mapstructure:"create_req_ttl_seconds"` // 创建任务请求 Redis TTL(秒)
ImageID string `mapstructure:"image_id"` // 默认镜像 ID
Core int `mapstructure:"core"` // VM CPU 核数
Memory uint64 `mapstructure:"memory"` // VM 内存(字节)
}
Task 任务相关配置
type TaskSummary ¶
type TaskSummary struct {
Enabled bool `mapstructure:"enabled"` // 是否启用
Model string `mapstructure:"model"` // 摘要生成模型 ID
BaseURL string `mapstructure:"base_url"` // API Base URL
ApiKey string `mapstructure:"api_key"` // API Key // nolint:revive
InterfaceType string `mapstructure:"interface_type"` // API 接口类型(openai_chat/openai_responses/anthropic)
Delay int `mapstructure:"delay"` // 延迟时间(秒),默认 3600
MaxChars int `mapstructure:"max_chars"` // 摘要最大字符数,默认 300
MaxRounds int `mapstructure:"max_rounds"` // 最近对话轮数,默认 3
MaxWorkers int `mapstructure:"max_workers"` // 最大消费者数量,默认 5
}
TaskSummary 任务摘要生成配置
type VMIdle ¶
type VMIdle struct {
SleepSeconds int `mapstructure:"sleep_seconds"` // VM 空闲休眠时间(秒)
RecycleSeconds int `mapstructure:"recycle_seconds"` // VM 空闲回收时间(秒)
RecycleWarnWechatLeadSeconds []int `mapstructure:"recycle_warn_wechat_lead_seconds"` // VM 回收前,微信公众号档每个 tier 的提前预警时长(秒),可配多档;缺省 [7200, 900]
RecycleWarnDefaultLeadSeconds int `mapstructure:"recycle_warn_default_lead_seconds"` // VM 回收前,非微信公众号渠道(钉钉/飞书等)的提前预警时长(秒),<=0 视为禁用该档;缺省 3600
}
type WechatConfig ¶
type WechatConfig struct {
Open WechatOpenConfig `mapstructure:"open"`
MP WechatMPConfig `mapstructure:"mp"`
}
WechatConfig 微信配置(包含开放平台和公众号两部分)
type WechatMPConfig ¶
type WechatMPConfig struct {
AppID string `mapstructure:"app_id"`
AppSecret string `mapstructure:"app_secret"`
Token string `mapstructure:"token"`
EncodingAESKey string `mapstructure:"encoding_aes_key"`
Templates map[string]string `mapstructure:"templates"`
MirrorMode bool `mapstructure:"mirror_mode"`
QA WechatMPQAConfig `mapstructure:"qa"` // 文本消息自动问答
}
WechatMPConfig 微信公众号配置 - 用于消息推送
type WechatMPQAConfig ¶
type WechatMPQAConfig struct {
Enabled bool `mapstructure:"enabled"`
BaseURL string `mapstructure:"base_url"` // 形如 https://monkeycode.docs.baizhi.cloud
APIKey string `mapstructure:"api_key"` // 知识库 share token
Model string `mapstructure:"model"` // 形如 deepseek-v3.2
}
WechatMPQAConfig 公众号文本消息自动问答(接 baizhi 知识库 chat/completions)