GEN step info improved, smooth rendering disabled
frdel committed
Jan 30, 2026 at 13:14 UTC
06abffa012ae62fa3b0def373cf080619ac02c11
5 files changed
+23
-19
python/api/chat_create.py
+8
-7
@@ -17,13 +17,14 @@ class CreateChat(ApiHandler):
17
new_context = self.use_context(new_ctxid)
18
19
# copy selected data from current to new context
20
- if current_context:
21
- current_data_1 = current_context.get_data(projects.CONTEXT_DATA_KEY_PROJECT)
22
- if current_data_1:
23
- new_context.set_data(projects.CONTEXT_DATA_KEY_PROJECT, current_data_1)
24
- current_data_2 = current_context.get_output_data(projects.CONTEXT_DATA_KEY_PROJECT)
25
- if current_data_2:
26
- new_context.set_output_data(projects.CONTEXT_DATA_KEY_PROJECT, current_data_2)
20
+ # do not create new chats in the same project anymore, it can be annoying
21
+ # if current_context:
22
+ # current_data_1 = current_context.get_data(projects.CONTEXT_DATA_KEY_PROJECT)
23
+ # if current_data_1:
24
+ # new_context.set_data(projects.CONTEXT_DATA_KEY_PROJECT, current_data_1)
25
+ # current_data_2 = current_context.get_output_data(projects.CONTEXT_DATA_KEY_PROJECT)
26
+ # if current_data_2:
27
+ # new_context.set_output_data(projects.CONTEXT_DATA_KEY_PROJECT, current_data_2)
28
29
return {
30
"ok": True,
python/extensions/reasoning_stream/_10_log_from_stream.py
+5
-3
@@ -12,8 +12,10 @@ class LogFromStream(Extension):
12
async def execute(self, loop_data: LoopData = LoopData(), text: str = "", **kwargs):
13
14
# thought length indicator
15
- pipes = "|" * math.ceil(math.sqrt(len(text)))
15
+ length = f"({len(text)})" if text else ""
16
+ pipes = "|" * math.ceil(math.sqrt(len(text))/2)
17
heading = build_heading(self.agent, f"Reasoning... {pipes}")
18
+ step = f"Reasoning... {length}"
19
20
# create log message and store it in loop data temporary params
21
if "log_item_generating" not in loop_data.params_temporary:
@@ -21,10 +23,10 @@ class LogFromStream(Extension):
23
self.agent.context.log.log(
24
type="agent",
25
heading=heading,
24
- step="Reasoning..."
26
+ step=step
27
)
28
)
29
30
# update log message
31
log_item = loop_data.params_temporary["log_item_generating"]
30
- log_item.update(heading=heading, reasoning=text, step="Reasoning...")
32
+ log_item.update(heading=heading, reasoning=text, step=step)
python/extensions/response_stream/_10_log_from_stream.py
+8
-8
@@ -25,8 +25,8 @@ class LogFromStream(Extension):
25
heading = build_heading(self.agent, f"Using {parsed['tool_name']}") # if the llm skipped headline
26
elif "thoughts" in parsed:
27
# thought length indicator
28
- pipes = "|" * math.ceil(math.sqrt(len(text)))
29
- heading = build_heading(self.agent, f"Thinking... {pipes}")
28
+ length = "|" * math.ceil(math.sqrt(len(text))/2)
29
+ heading = build_heading(self.agent, f"Thinking... {length}")
30
else:
31
heading = build_heading(self.agent, "Receiving...")
32
@@ -52,16 +52,16 @@ class LogFromStream(Extension):
52
kvps["step"] = f"Using {parsed['tool_name']}..." # using tool XY
53
if parsed["tool_name"]=="code_execution_tool":
54
if "tool_args" in parsed and "runtime" in parsed["tool_args"]:
55
- pipes = ""
55
+ length = ""
56
if "code" in parsed["tool_args"]:
57
- pipes = "|" * math.ceil(math.sqrt(len(parsed["tool_args"]["code"])))
58
- kvps["step"] = f"Writing code... {pipes}"
57
+ length = f"({len(parsed['tool_args']['code'])})"
58
+ kvps["step"] = f"Writing code... {length}"
59
if parsed["tool_args"]["runtime"] == "python":
60
- kvps["step"] = f"Writing Python code... {pipes}"
60
+ kvps["step"] = f"Writing Python code... {length}"
61
elif parsed["tool_args"]["runtime"] == "nodejs":
62
- kvps["step"] = f"Writing Node.js code... {pipes}"
62
+ kvps["step"] = f"Writing Node.js code... {length}"
63
elif parsed["tool_args"]["runtime"] == "terminal":
64
- kvps["step"] = f"Writing terminal command... {pipes}"
64
+ kvps["step"] = f"Writing terminal command... {length}"
65
kvps.update(parsed)
66
67
webui/css/messages.css
+1
@@ -428,6 +428,7 @@
428
}
429
430
.msg-content {
431
+ width: 100%;
432
margin-bottom: 0;
433
padding: 0;
434
overflow: hidden;
webui/js/messages.js
+1
-1
@@ -769,7 +769,7 @@ export function drawMessageResponse({
769
markdown: true,
770
latex: true,
771
mainClass: "message-agent-response",
772
- smoothStream: !isMassRender(), // stream smoothly if not in mass render mode
772
+ smoothStream: false,// !isMassRender(), // stream smoothly if not in mass render mode
773
});
774
775
// Collapsible with action buttons