skip native reasoning
3clyp50 committed
Jan 6, 2026 at 21:06 UTC
98cae36f8785784ebbfae6c3ca1b7a8347929ac8
1 file changed
+13
-8
webui/js/messages.js
+13
-8
@@ -791,7 +791,9 @@ function drawKvps(container, kvps, latex) {
791
for (let [key, value] of Object.entries(kvps)) {
792
const row = table.insertRow();
793
row.classList.add("kvps-row");
794
- if (key === "thoughts" || key === "reasoning")
794
+ // Skip reasoning
795
+ if (key === "reasoning") continue;
796
+ if (key === "thoughts")
797
// TODO: find a better way to determine special class assignment
798
row.classList.add("msg-thoughts");
799
@@ -869,7 +871,8 @@ function drawKvpsIncremental(container, kvps, latex) {
871
872
// Get all current rows for comparison
873
let existingRows = table.querySelectorAll(".kvps-row");
872
- const kvpEntries = Object.entries(kvps);
874
+ // Filter out reasoning
875
+ const kvpEntries = Object.entries(kvps).filter(([key]) => key !== "reasoning");
876
877
// Update or create rows as needed
878
kvpEntries.forEach(([key, value], index) => {
@@ -883,7 +886,7 @@ function drawKvpsIncremental(container, kvps, latex) {
886
887
// Update row classes
888
row.className = "kvps-row";
886
- if (key === "thoughts" || key === "reasoning") {
889
+ if (key === "thoughts") {
890
row.classList.add("msg-thoughts");
891
}
892
@@ -1577,9 +1580,9 @@ function renderStepDetailContent(container, content, kvps, type = null) {
1580
container.appendChild(terminalDiv);
1581
}
1582
1580
- // Still render thoughts if present
1581
- if (kvps.thoughts || kvps.thinking || kvps.reasoning) {
1582
- const thoughtKey = kvps.thoughts ? "thoughts" : (kvps.thinking ? "thinking" : "reasoning");
1583
+ // Still render thoughts if present (but not reasoning - that's native model thinking, not structured output)
1584
+ if (kvps.thoughts || kvps.thinking) {
1585
+ const thoughtKey = kvps.thoughts ? "thoughts" : "thinking";
1586
const thoughtValue = kvps[thoughtKey];
1587
renderThoughts(container, thoughtValue);
1588
}
@@ -1609,8 +1612,10 @@ function renderStepDetailContent(container, content, kvps, type = null) {
1612
// Skip query in agent steps - it's shown in the tool call step
1613
if (type === "agent" && lowerKey === "query") continue;
1614
1612
- // Special handling for thoughts/reasoning - render with single lightbulb icon
1613
- if (lowerKey === "thoughts" || lowerKey === "thinking" || lowerKey === "reflection" || lowerKey === "reasoning") {
1615
+ // Special handling for thoughts - render with single lightbulb icon
1616
+ // Skip reasoning
1617
+ if (lowerKey === "reasoning") continue;
1618
+ if (lowerKey === "thoughts" || lowerKey === "thinking" || lowerKey === "reflection") {
1619
renderThoughts(kvpsDiv, value);
1620
continue;
1621
}