Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
new-api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e6f36e79
authored
Feb 08, 2026
by
Calcium-Ion
Committed by
GitHub
Feb 08, 2026
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2864 from seefs001/fix/thining-summary
fix: add paragraph breaks between reasoning summary chunks
parents
99ea0569
d5f0ab01
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
0 deletions
+17
-0
relay/channel/openai/chat_via_responses.go
+17
-0
No files found.
relay/channel/openai/chat_via_responses.go
View file @
e6f36e79
...
@@ -106,6 +106,8 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
...
@@ -106,6 +106,8 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
toolCallArgsByID
:=
make
(
map
[
string
]
string
)
toolCallArgsByID
:=
make
(
map
[
string
]
string
)
toolCallNameSent
:=
make
(
map
[
string
]
bool
)
toolCallNameSent
:=
make
(
map
[
string
]
bool
)
toolCallCanonicalIDByItemID
:=
make
(
map
[
string
]
string
)
toolCallCanonicalIDByItemID
:=
make
(
map
[
string
]
string
)
hasSentReasoningSummary
:=
false
needsReasoningSummarySeparator
:=
false
//reasoningSummaryTextByKey := make(map[string]string)
//reasoningSummaryTextByKey := make(map[string]string)
sendStartIfNeeded
:=
func
()
bool
{
sendStartIfNeeded
:=
func
()
bool
{
...
@@ -154,6 +156,17 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
...
@@ -154,6 +156,17 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
if
delta
==
""
{
if
delta
==
""
{
return
true
return
true
}
}
if
needsReasoningSummarySeparator
{
if
strings
.
HasPrefix
(
delta
,
"
\n\n
"
)
{
needsReasoningSummarySeparator
=
false
}
else
if
strings
.
HasPrefix
(
delta
,
"
\n
"
)
{
delta
=
"
\n
"
+
delta
needsReasoningSummarySeparator
=
false
}
else
{
delta
=
"
\n\n
"
+
delta
needsReasoningSummarySeparator
=
false
}
}
if
!
sendStartIfNeeded
()
{
if
!
sendStartIfNeeded
()
{
return
false
return
false
}
}
...
@@ -177,6 +190,7 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
...
@@ -177,6 +190,7 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
streamErr
=
types
.
NewOpenAIError
(
err
,
types
.
ErrorCodeBadResponse
,
http
.
StatusInternalServerError
)
streamErr
=
types
.
NewOpenAIError
(
err
,
types
.
ErrorCodeBadResponse
,
http
.
StatusInternalServerError
)
return
false
return
false
}
}
hasSentReasoningSummary
=
true
return
true
return
true
}
}
...
@@ -282,6 +296,9 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
...
@@ -282,6 +296,9 @@ func OaiResponsesToChatStreamHandler(c *gin.Context, info *relaycommon.RelayInfo
}
}
case
"response.reasoning_summary_text.done"
:
case
"response.reasoning_summary_text.done"
:
if
hasSentReasoningSummary
{
needsReasoningSummarySeparator
=
true
}
//case "response.reasoning_summary_part.added", "response.reasoning_summary_part.done":
//case "response.reasoning_summary_part.added", "response.reasoning_summary_part.done":
// key := responsesStreamIndexKey(strings.TrimSpace(streamResp.ItemID), streamResp.SummaryIndex)
// key := responsesStreamIndexKey(strings.TrimSpace(streamResp.ItemID), streamResp.SummaryIndex)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment