58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
//go:build llm_script && !scripts_pkg
|
|
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
loadSubscriptionImportEnv()
|
|
|
|
var url string
|
|
var fixture string
|
|
var snapshotDir string
|
|
var baselinePath string
|
|
var timeoutSeconds int
|
|
var allowBootstrap bool
|
|
var sourceKey string
|
|
var snapshotBase string
|
|
|
|
flag.StringVar(&sourceKey, "source-key", "deepseek_pricing_signature", "审计 source_key")
|
|
flag.StringVar(&snapshotBase, "snapshot-base", "deepseek-pricing", "snapshot 文件名前缀")
|
|
flag.StringVar(&url, "url", defaultDeepSeekPricingFetchURL, "DeepSeek 官方价格页")
|
|
flag.StringVar(&fixture, "fixture", "", "DeepSeek 价格页样例文件")
|
|
flag.StringVar(&snapshotDir, "snapshot-dir", "", "DeepSeek pricing snapshot 输出目录")
|
|
flag.StringVar(&baselinePath, "baseline-path", "", "DeepSeek pricing 结构基线签名路径")
|
|
flag.IntVar(&timeoutSeconds, "timeout", 20, "请求超时(秒)")
|
|
flag.BoolVar(&allowBootstrap, "allow-bootstrap", true, "当 baseline 缺失时自动初始化")
|
|
flag.Parse()
|
|
|
|
now := time.Now()
|
|
cfg := deepseekPricingSignatureGuardConfig{
|
|
SourceKey: sourceKey,
|
|
URL: url,
|
|
Fixture: fixture,
|
|
SnapshotDir: snapshotDir,
|
|
BaselinePath: baselinePath,
|
|
Timeout: time.Duration(timeoutSeconds) * time.Second,
|
|
AllowBootstrap: allowBootstrap,
|
|
SnapshotBase: snapshotBase,
|
|
}
|
|
result, err := runDeepSeekPricingSignatureGuard(cfg, now)
|
|
if auditErr := persistDeepSeekPricingSignatureAuditIfConfigured(cfg, result, now, err); auditErr != nil {
|
|
fmt.Fprintf(os.Stderr, "deepseek_pricing_signature_guard audit: %v\n", auditErr)
|
|
if err == nil {
|
|
err = auditErr
|
|
}
|
|
}
|
|
fmt.Println(formatDeepSeekPricingSignatureGuardSummary(sourceKey, result))
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "deepseek_pricing_signature_guard: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|