MCPcopy Create free account
hub / github.com/Louisym/MiniCC / stream

Method stream

tutorials/05_agentic_loop_complete.py:404–440  ·  view source on GitHub ↗
(self, request: ApiRequest)

Source from the content-addressed store, hash-verified

402 self.call_count = 0
403
404 def stream(self, request: ApiRequest) -> list[AssistantEvent]:
405 self.call_count += 1
406
407 if self.call_count == 1:
408 return [
409 AssistantEvent(event_type="text_delta", text="让我看看当前目录。"),
410 AssistantEvent(
411 event_type="tool_use",
412 tool_id="tool-001",
413 tool_name="bash",
414 tool_input='{"command": "ls"}',
415 ),
416 AssistantEvent(
417 event_type="usage",
418 usage=TokenUsage(input_tokens=50, output_tokens=12),
419 ),
420 AssistantEvent(event_type="message_stop"),
421 ]
422 else:
423 # 从对话历史里找到工具结果
424 tool_output = ""
425 for msg in request.messages:
426 for block in msg.blocks:
427 if isinstance(block, ToolResultBlock):
428 tool_output = block.output
429
430 return [
431 AssistantEvent(
432 event_type="text_delta",
433 text=f"当前目录的文件有:\n{tool_output}",
434 ),
435 AssistantEvent(
436 event_type="usage",
437 usage=TokenUsage(input_tokens=80, output_tokens=20),
438 ),
439 AssistantEvent(event_type="message_stop"),
440 ]
441
442
443def main():

Callers

nothing calls this directly

Calls 2

AssistantEventClass · 0.70
TokenUsageClass · 0.70

Tested by

no test coverage detected