api

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAIPrompt added in v0.1.0

func GetAIPrompt(key string) string

GetAIPrompt 获取指定 AI 功能的提示词(优先自定义,否则默认)

Types

type AIExtractItem added in v0.1.0

type AIExtractItem struct {
	Type    string `json:"type"`
	Value   string `json:"value"`
	Context string `json:"context"`
	Time    string `json:"time"`
}

AIExtractItem 单条抽取信息

type AIExtractRequest added in v0.1.0

type AIExtractRequest struct {
	Talker    string   `json:"talker" binding:"required"`
	TimeRange string   `json:"time_range"`
	Types     []string `json:"types"`
}

AIExtractRequest 关键信息抽取请求

type AIExtractResponse added in v0.1.0

type AIExtractResponse struct {
	Extractions []AIExtractItem `json:"extractions"`
}

AIExtractResponse 关键信息抽取响应

type AISentimentRequest added in v0.1.0

type AISentimentRequest struct {
	Talker    string `json:"talker" binding:"required"`
	TimeRange string `json:"time_range"`
}

AISentimentRequest AI 情感分析请求

type AISentimentResponse added in v0.1.0

type AISentimentResponse struct {
	OverallScore           float64                `json:"overall_score"`
	OverallLabel           string                 `json:"overall_label"`
	RelationshipHealth     string                 `json:"relationship_health"`
	Summary                string                 `json:"summary"`
	EmotionTimeline        []EmotionTimelineItem  `json:"emotion_timeline"`
	SentimentDistribution  SentimentDistribution  `json:"sentiment_distribution"`
	RelationshipIndicators RelationshipIndicators `json:"relationship_indicators"`
}

AISentimentResponse AI 情感分析响应

type AISimulateRequest added in v0.1.0

type AISimulateRequest struct {
	Talker  string `json:"talker" binding:"required"`
	Message string `json:"message" binding:"required"`
}

AISimulateRequest AI 模拟对话请求

type AISummarizeRequest added in v0.1.0

type AISummarizeRequest struct {
	Talker    string `json:"talker" binding:"required"`
	TimeRange string `json:"time_range"`
}

AISummarizeRequest AI 总结请求

type AISummaryRequest added in v0.1.0

type AISummaryRequest struct {
	Talker    string `json:"talker" binding:"required"`
	TimeRange string `json:"time_range"`
}

AISummaryRequest 长对话/群聊摘要请求

type AITodoItem added in v0.1.0

type AITodoItem struct {
	Content    string `json:"content"`
	Deadline   string `json:"deadline"`
	Priority   string `json:"priority"`
	SourceMsg  string `json:"source_msg"`
	SourceTime string `json:"source_time"`
}

AITodoItem 单条待办事项

type AITodosRequest added in v0.1.0

type AITodosRequest struct {
	Talker    string `json:"talker" binding:"required"`
	TimeRange string `json:"time_range"`
}

AITodosRequest 待办事项提取请求

type AITodosResponse added in v0.1.0

type AITodosResponse struct {
	Todos []AITodoItem `json:"todos"`
}

AITodosResponse 待办事项提取响应

type AIVoice2TextRequest added in v0.1.0

type AIVoice2TextRequest struct {
	Talker string `json:"talker" binding:"required"`
	Seq    int64  `json:"seq" binding:"required"`
}

AIVoice2TextRequest 语音转文字请求

type API

type API struct {
	Store           store.Store
	Media           *media.Service
	Export          *export.Service
	Conf            *Config
	AI              *ai.Client
	Password        *PasswordManager
	SyncScheduler   *intsync.Scheduler
	BackupScheduler *backup.Scheduler
	Monitor         *monitor.Store
	MonitorChecker  *monitor.Checker
	TTS             *tts.Client
	// contains filtered or unexported fields
}

API 封装了 API 处理器所需的所有依赖。

func NewAPI

func NewAPI(s store.Store, m *media.Service, conf *Config, staticFS fs.FS) *API

NewAPI 创建一个新的 API 处理器。

func (*API) AIExtractInfo added in v0.1.0

func (a *API) AIExtractInfo(c *gin.Context)

AIExtractInfo 从聊天记录中抽取关键信息(地址、时间、金额、电话等)

func (*API) AIExtractTodos added in v0.1.0

func (a *API) AIExtractTodos(c *gin.Context)

AIExtractTodos 从聊天记录中提取待办事项

func (*API) AISentiment added in v0.1.0

func (a *API) AISentiment(c *gin.Context)

AISentiment 分析对话情感倾向与关系变化趋势

func (*API) AISimulate added in v0.1.0

func (a *API) AISimulate(c *gin.Context)

AISimulate 模拟对方回复

func (*API) AISummarize added in v0.1.0

func (a *API) AISummarize(c *gin.Context)

AISummarize 总结聊天内容

func (*API) AISummary added in v0.1.0

func (a *API) AISummary(c *gin.Context)

AISummary 长对话/群聊自动摘要(增强版)

func (*API) AIVoice2Text added in v0.1.0

func (a *API) AIVoice2Text(c *gin.Context)

AIVoice2Text 语音消息转文字

func (*API) AgreeCompliance added in v0.1.0

func (a *API) AgreeCompliance(c *gin.Context)

AgreeCompliance 提交合规同意

func (*API) CreateMonitorConfig added in v0.1.0

func (a *API) CreateMonitorConfig(c *gin.Context)

CreateMonitorConfig 创建监控配置

func (*API) DeleteMonitorConfig added in v0.1.0

func (a *API) DeleteMonitorConfig(c *gin.Context)

DeleteMonitorConfig 删除监控配置

func (*API) DeleteSession

func (a *API) DeleteSession(c *gin.Context)

DeleteSession 处理删除会话的请求。

func (*API) DetectWeChatDataPath

func (a *API) DetectWeChatDataPath(c *gin.Context)

DetectWeChatDataPath 检测微信数据路径

func (*API) DetectWeChatInstallPath

func (a *API) DetectWeChatInstallPath(c *gin.Context)

DetectWeChatInstallPath 检测微信安装路径

func (*API) DisablePassword added in v0.1.0

func (a *API) DisablePassword(c *gin.Context)

DisablePassword 关闭密码保护

func (*API) ExportChat

func (a *API) ExportChat(c *gin.Context)

ExportChat 处理导出聊天记录的请求

func (*API) ExportContacts added in v0.1.0

func (a *API) ExportContacts(c *gin.Context)

ExportContacts 处理联系人导出请求,支持 CSV 和 XLSX 格式。

func (*API) ExportForensic added in v0.1.0

func (a *API) ExportForensic(c *gin.Context)

ExportForensic 处理法律取证导出请求,返回包含水印和完整性校验的 standalone HTML 报告

func (*API) ExportVoices added in v0.1.0

func (a *API) ExportVoices(c *gin.Context)

ExportVoices 一键导出会话中的所有语音消息为 ZIP 包(每条语音为独立 MP3 文件)

func (*API) GetAIConfig added in v0.1.0

func (a *API) GetAIConfig(c *gin.Context)

GetAIConfig 获取 AI 配置

func (*API) GetAIPrompts added in v0.1.0

func (a *API) GetAIPrompts(c *gin.Context)

GetAIPrompts 获取所有 AI 提示词配置

func (*API) GetAnnualReport added in v0.1.0

func (a *API) GetAnnualReport(c *gin.Context)

GetAnnualReport 获取年度报告

func (*API) GetBackupConfig added in v0.1.0

func (a *API) GetBackupConfig(c *gin.Context)

GetBackupConfig returns the current auto-backup configuration.

func (*API) GetBackupHistory added in v0.1.0

func (a *API) GetBackupHistory(c *gin.Context)

GetBackupHistory returns backup history records.

func (*API) GetCacheStatus

func (a *API) GetCacheStatus(c *gin.Context)

GetCacheStatus 获取当前缓存任务的进度

func (*API) GetChatRoomByID

func (a *API) GetChatRoomByID(c *gin.Context)

GetChatRoomByID 处理通过 ID 获取单个群聊信息的请求。

func (*API) GetChatRooms

func (a *API) GetChatRooms(c *gin.Context)

GetChatRooms 处理获取群聊列表的请求。

func (*API) GetCompliance added in v0.1.0

func (a *API) GetCompliance(c *gin.Context)

GetCompliance 获取合规同意状态

func (*API) GetContactByID

func (a *API) GetContactByID(c *gin.Context)

GetContactByID 处理通过 ID 获取单个联系人信息的请求。

func (*API) GetContacts

func (a *API) GetContacts(c *gin.Context)

GetContacts 处理获取联系人列表的请求。

func (*API) GetDailyActivity

func (a *API) GetDailyActivity(c *gin.Context)

GetDailyActivity 获取每日活跃度

func (*API) GetDashboard

func (a *API) GetDashboard(c *gin.Context)

GetDashboard 获取总览数据

func (*API) GetEmoji

func (a *API) GetEmoji(c *gin.Context)

GetEmoji 处理表情包的下载和解密请求。

func (*API) GetFeishuConfig added in v0.1.0

func (a *API) GetFeishuConfig(c *gin.Context)

GetFeishuConfig 获取飞书平台配置

func (*API) GetHourlyActivity

func (a *API) GetHourlyActivity(c *gin.Context)

GetHourlyActivity 获取每小时活跃度

func (*API) GetImageList added in v0.1.0

func (a *API) GetImageList(c *gin.Context)

GetImageList 获取图片列表,支持按会话筛选和时间范围筛选。

func (*API) GetMedia

func (a *API) GetMedia(c *gin.Context)

GetMedia 处理媒体文件(如图片、视频、语音等)的请求。

func (*API) GetMemberActivity

func (a *API) GetMemberActivity(c *gin.Context)

GetMemberActivity 获取成员活跃度

func (*API) GetMessageTypeDistribution

func (a *API) GetMessageTypeDistribution(c *gin.Context)

GetMessageTypeDistribution 获取消息类型分布

func (*API) GetMessages

func (a *API) GetMessages(c *gin.Context)

GetMessages 处理获取指定对话者聊天消息的请求。

func (*API) GetMonitorConfigs added in v0.1.0

func (a *API) GetMonitorConfigs(c *gin.Context)

GetMonitorConfigs 获取所有监控配置

func (*API) GetMonthlyActivity

func (a *API) GetMonthlyActivity(c *gin.Context)

GetMonthlyActivity 获取月份活跃度

func (*API) GetNeedContactList added in v0.1.0

func (a *API) GetNeedContactList(c *gin.Context)

GetNeedContactList 处理获取需要联系的客户列表的请求。

func (*API) GetPasswordStatus added in v0.1.0

func (a *API) GetPasswordStatus(c *gin.Context)

GetPasswordStatus 获取密码保护状态

func (*API) GetPersonalTopContacts

func (a *API) GetPersonalTopContacts(c *gin.Context)

GetPersonalTopContacts 获取个人社交排行榜

func (*API) GetRepeatAnalysis

func (a *API) GetRepeatAnalysis(c *gin.Context)

GetRepeatAnalysis 获取复读分析

func (*API) GetReplayMessages added in v0.1.0

func (a *API) GetReplayMessages(c *gin.Context)

GetReplayMessages 批量获取指定会话的消息用于回放

func (*API) GetSessions

func (a *API) GetSessions(c *gin.Context)

GetSessions 处理获取聊天会话列表的请求。

func (*API) GetSyncConfig added in v0.1.0

func (a *API) GetSyncConfig(c *gin.Context)

GetSyncConfig returns the current auto-sync configuration.

func (*API) GetSyncStatus added in v0.1.0

func (a *API) GetSyncStatus(c *gin.Context)

GetSyncStatus returns the current sync status (used for polling).

func (*API) GetSystemStatus

func (a *API) GetSystemStatus(c *gin.Context)

GetSystemStatus 返回应用程序的当前状态。 目前,它只确认服务正在运行。

func (*API) GetTTSConfig added in v0.1.0

func (a *API) GetTTSConfig(c *gin.Context)

GetTTSConfig 获取语音转文字配置

func (*API) GetWeChatDbKey

func (a *API) GetWeChatDbKey(c *gin.Context)

GetWeChatDbKey 获取微信数据库密钥 (参考 CliController.Run 逻辑)

func (*API) GetWeChatImageKey

func (a *API) GetWeChatImageKey(c *gin.Context)

GetWeChatImageKey 获取微信图片解密密钥 (参考 CliController.runImageKeyMode 逻辑)

func (*API) GetWeekdayActivity

func (a *API) GetWeekdayActivity(c *gin.Context)

GetWeekdayActivity 获取星期活跃度

func (*API) GetWordCloud added in v0.1.0

func (a *API) GetWordCloud(c *gin.Context)

GetWordCloud 获取指定会话的词云数据

func (*API) GetWordCloudGlobal added in v0.1.0

func (a *API) GetWordCloudGlobal(c *gin.Context)

GetWordCloudGlobal 获取全局词云数据(不限定会话)

func (*API) HandleEnvDecrypt

func (a *API) HandleEnvDecrypt(c *gin.Context)

HandleEnvDecrypt 处理基于环境变量的本地解密请求

func (*API) HandleStartCache

func (a *API) HandleStartCache(c *gin.Context)

HandleStartCache 启动图片缓存预加载任务

func (*API) RunBackup added in v0.1.0

func (a *API) RunBackup(c *gin.Context)

RunBackup manually triggers a backup operation. Accepts optional session_ids in request body to backup specific sessions.

func (*API) Search added in v0.1.0

func (a *API) Search(c *gin.Context)

Search 全文搜索

func (*API) SearchContext added in v0.1.0

func (a *API) SearchContext(c *gin.Context)

SearchContext 获取搜索结果的上下文消息

func (*API) SelectPath

func (a *API) SelectPath(c *gin.Context)

SelectPath 让用户在服务端(本地)选择路径

func (*API) SetPassword added in v0.1.0

func (a *API) SetPassword(c *gin.Context)

SetPassword 设置/修改密码

func (*API) TestAIConfig added in v0.1.0

func (a *API) TestAIConfig(c *gin.Context)

TestAIConfig 测试 AI 连接

func (*API) TestFeishuBitable added in v0.1.0

func (a *API) TestFeishuBitable(c *gin.Context)

TestFeishuBitable 测试飞书多维表格连通性

func (*API) TestFeishuBot added in v0.1.0

func (a *API) TestFeishuBot(c *gin.Context)

TestFeishuBot 测试飞书机器人连通性

func (*API) TestMonitorPush added in v0.1.0

func (a *API) TestMonitorPush(c *gin.Context)

TestMonitorPush 测试推送连通性

func (*API) TranscribeVoice added in v0.1.0

func (a *API) TranscribeVoice(c *gin.Context)

TranscribeVoice 语音转文字

func (*API) TriggerSync added in v0.1.0

func (a *API) TriggerSync(c *gin.Context)

TriggerSync manually triggers a sync operation.

func (*API) UpdateAIConfig added in v0.1.0

func (a *API) UpdateAIConfig(c *gin.Context)

UpdateAIConfig 更新 AI 配置

func (*API) UpdateAIPrompts added in v0.1.0

func (a *API) UpdateAIPrompts(c *gin.Context)

UpdateAIPrompts 更新 AI 提示词配置

func (*API) UpdateBackupConfig added in v0.1.0

func (a *API) UpdateBackupConfig(c *gin.Context)

UpdateBackupConfig updates the auto-backup configuration.

func (*API) UpdateConfig

func (a *API) UpdateConfig(c *gin.Context)

UpdateConfig 更新系统配置

func (*API) UpdateFeishuConfig added in v0.1.0

func (a *API) UpdateFeishuConfig(c *gin.Context)

UpdateFeishuConfig 更新飞书平台配置

func (*API) UpdateMonitorConfig added in v0.1.0

func (a *API) UpdateMonitorConfig(c *gin.Context)

UpdateMonitorConfig 更新监控配置

func (*API) UpdateSyncConfig added in v0.1.0

func (a *API) UpdateSyncConfig(c *gin.Context)

UpdateSyncConfig updates the auto-sync configuration.

func (*API) UpdateTTSConfig added in v0.1.0

func (a *API) UpdateTTSConfig(c *gin.Context)

UpdateTTSConfig 更新语音转文字配置

func (*API) VerifyPassword added in v0.1.0

func (a *API) VerifyPassword(c *gin.Context)

VerifyPassword 验证密码(解锁)

type Config

type Config struct {
	DataDir         string
	WechatDbSrcPath string
	WechatDbKey     string
	WxKeyDllPath    string
	WechatPath      string
	WechatDataPath  string
	ImageKey        string
	XorKey          string
	AIEnabled       bool
	AIProvider      string
	AIAPIKey        string
	AIBaseURL       string
	AIModel         string
}

type EmotionTimelineItem added in v0.1.0

type EmotionTimelineItem struct {
	Period   string   `json:"period"`
	Score    float64  `json:"score"`
	Label    string   `json:"label"`
	Keywords []string `json:"keywords"`
}

EmotionTimelineItem 情绪时间线项

type ExportVoicesRequest added in v0.1.0

type ExportVoicesRequest struct {
	Talker string   `json:"talker"`
	Name   string   `json:"name"`
	IDs    []string `json:"ids"`
}

ExportVoicesRequest 语音导出请求体

type MessageRequest

type MessageRequest struct {
	TalkerID  string `form:"talker_id"` // Remove binding:"required" for global search
	SenderID  string `form:"sender_id"`
	Keyword   string `form:"keyword"`
	TimeRange string `form:"time_range"` // e.g., "2023-01-01~2023-01-31"
	Reverse   bool   `form:"reverse"`    // 是否倒序
	transport.PaginationQuery
}

type PasswordManager added in v0.1.0

type PasswordManager struct {
	// contains filtered or unexported fields
}

PasswordManager 管理密码保护状态

func NewPasswordManager added in v0.1.0

func NewPasswordManager() *PasswordManager

NewPasswordManager 创建密码管理器

func (*PasswordManager) AddSession added in v0.1.0

func (pm *PasswordManager) AddSession(token string)

AddSession 添加已验证的会话

func (*PasswordManager) ClearSessions added in v0.1.0

func (pm *PasswordManager) ClearSessions()

ClearSessions 清除所有会话

func (*PasswordManager) IsValidSession added in v0.1.0

func (pm *PasswordManager) IsValidSession(token string) bool

IsValidSession 检查会话是否有效

type RelationshipIndicators added in v0.1.0

type RelationshipIndicators struct {
	InitiativeRatio float64 `json:"initiative_ratio"`
	ResponseSpeed   string  `json:"response_speed"`
	IntimacyTrend   string  `json:"intimacy_trend"`
}

RelationshipIndicators 关系指标

type ReplayRequest added in v0.1.0

type ReplayRequest struct {
	TalkerID  string `form:"talker_id" binding:"required"`
	StartDate string `form:"start_date"` // YYYY-MM-DD
	EndDate   string `form:"end_date"`   // YYYY-MM-DD
	Limit     int    `form:"limit,default=200"`
	Offset    int    `form:"offset,default=0"`
}

ReplayRequest 回放消息查询参数

type ReplayResponse added in v0.1.0

type ReplayResponse struct {
	Total    int              `json:"total"`
	Messages []*model.Message `json:"messages"`
}

ReplayResponse 回放消息响应

type SearchContextRequest added in v0.1.0

type SearchContextRequest struct {
	Talker string `form:"talker" binding:"required"`
	Seq    int64  `form:"seq" binding:"required"`
	Before int    `form:"before,default=10"`
	After  int    `form:"after,default=10"`
}

SearchContextRequest 搜索上下文请求参数

type SearchRequest added in v0.1.0

type SearchRequest struct {
	Keyword   string `form:"keyword" binding:"required"`
	Talker    string `form:"talker"`
	Sender    string `form:"sender"`
	MsgType   int    `form:"type"`
	TimeRange string `form:"time_range"`
	transport.PaginationQuery
}

SearchRequest 全文搜索请求参数

type SentimentDistribution added in v0.1.0

type SentimentDistribution struct {
	Positive float64 `json:"positive"`
	Neutral  float64 `json:"neutral"`
	Negative float64 `json:"negative"`
}

SentimentDistribution 情感分布

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL