Files
ai-agent/contract/business_read_tool.go
T
t 18c9354095 refactor: 将客服后端重构为宿主可嵌入模块
- 注入数据库、运行时配置、统一响应、文件存储和平台 AI 能力,补充业务读写工具与客户快捷操作契约。

- 移除模块内重复的组织、客户、工单、标签、技能、旧工作流、MCP 和迁移实现,将身份权限与业务主体交由宿主管理。

- 使用 libSQL 重构向量存储,并完善图片消息、访客身份、排队调度、企业微信和支持聊天页面。

- 统一 HTTP、DTO 与 WebSocket 的 snake_case 协议,补齐模块初始化、业务动作和公共载荷等回归测试。
2026-08-28 22:23:13 +08:00

32 lines
1.1 KiB
Go

package contract
import "context"
// BusinessReadContext identifies the customer bound to the current support
// conversation. Host tools must use these trusted values instead of accepting
// customer identifiers from model-generated arguments.
type BusinessReadContext struct {
ConversationID int64
CustomerType string
CustomerID int64
CustomerExternalID string
CustomerName string
RequestMessageID int64
RequestID string
CheckPointID string
AccessProof *CustomerAccessProof
}
// BusinessReadTool lets the host expose a narrowly scoped, read-only business
// query to AI Agent without coupling the customer-service module to host data.
type BusinessReadTool struct {
Code string
Description string
CustomerTypes []string
InputSchema map[string]any
// MatchIntent lets the host require a fresh read for messages whose answer
// must not rely on stale conversational text. It must be side-effect free.
MatchIntent func(string) bool
Execute func(context.Context, BusinessReadContext, map[string]any) (any, error)
}