diff --git a/relay/channel/aws/relay-aws.go b/relay/channel/aws/relay-aws.go index 1438f10..125f6f2 100644 --- a/relay/channel/aws/relay-aws.go +++ b/relay/channel/aws/relay-aws.go @@ -14,6 +14,7 @@ import ( "one-api/relay/channel/claude" relaycommon "one-api/relay/common" "strings" + "time" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/credentials" @@ -156,6 +157,7 @@ func awsStreamHandler(c *gin.Context, info *relaycommon.RelayInfo, requestMode i var usage relaymodel.Usage var id string var model string + isFirst := true createdTime := common.GetTimestamp() c.Stream(func(w io.Writer) bool { event, ok := <-stream.Events() @@ -166,6 +168,10 @@ func awsStreamHandler(c *gin.Context, info *relaycommon.RelayInfo, requestMode i switch v := event.(type) { case *types.ResponseStreamMemberChunk: + if isFirst { + isFirst = false + info.FirstResponseTime = time.Now() + } claudeResp := new(claude.ClaudeResponse) err := json.NewDecoder(bytes.NewReader(v.Value.Bytes)).Decode(claudeResp) if err != nil {