Documentation
¶
Index ¶
Constants ¶
View Source
const ( AutoCompactBuffer = 13000 // 自动压缩缓冲 token(CC: AUTOCOMPACT_BUFFER_TOKENS) SummaryReserve = 20000 // 摘要生成保留的输出 token(CC: MAX_OUTPUT_TOKENS_FOR_SUMMARY) WarningBuffer = 20000 // 警告阈值缓冲(CC: WARNING_THRESHOLD_BUFFER_TOKENS) MicroCompactSize = 50000 // 单个工具输出超过 50KB 时微压缩 MicroCompactHead = 10240 // 微压缩保留头部 10KB MicroCompactTail = 5120 // 微压缩保留尾部 5KB KeepRecentTurns = 5 // 压缩时保留最近 5 轮 )
压缩相关常量(对标 CC src/services/compact/autoCompact.ts)
Variables ¶
This section is empty.
Functions ¶
func CompactMessages ¶
CompactMessages 压缩消息历史 策略:保留最近 KeepRecentTurns 轮对话,中间消息生成摘要
func NeedsCompact ¶
NeedsCompact 检查是否需要自动压缩 CC 公式:threshold = (maxContext - SummaryReserve) - AutoCompactBuffer 例:200K context → threshold = (200000 - 20000) - 13000 = 167000
Types ¶
type CompactResult ¶
CompactResult 压缩结果
type IndexEntry ¶
type IndexEntry struct {
ID string `json:"id"`
Name string `json:"name,omitempty"`
Model string `json:"model"`
Provider string `json:"provider,omitempty"`
BaseURL string `json:"base_url,omitempty"`
AuthSource string `json:"auth_source,omitempty"`
WorkDir string `json:"work_dir"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Turns int `json:"turns"`
CostUSD float64 `json:"cost_usd"`
}
IndexEntry 会话索引条目
type Session ¶
type Session struct {
ID string `json:"id"`
Name string `json:"name,omitempty"`
Model string `json:"model"`
WorkDir string `json:"work_dir"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Messages []provider.Message `json:"messages"`
Turns int `json:"turns"`
// 运行环境元数据(/resume 兼容性判断用,omitempty 兼容旧会话)
Provider string `json:"provider,omitempty"`
BaseURL string `json:"base_url,omitempty"`
AuthSource string `json:"auth_source,omitempty"`
// 费用信息
TotalInputTokens int `json:"total_input_tokens"`
TotalOutputTokens int `json:"total_output_tokens"`
TotalCostUSD float64 `json:"total_cost_usd"`
}
Session 会话
func (*Session) ExportMarkdown ¶
ExportMarkdown 导出为 Markdown
func (*Session) UpdateCost ¶
UpdateCost 更新费用信息
type SessionConfig ¶
type SessionConfig struct {
Model string
WorkDir string
Provider string
BaseURL string
AuthSource string
}
SessionConfig 创建会话所需的运行环境配置
Click to show internal directories.
Click to hide internal directories.