W22: coverage metric + network tests + Tool stream feedback + stdin pipe + session path + dependency check (W22.1-W22.6)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled
CI / Sanitizer (ASan+UBSan) / ubuntu-24.04 (push) Has been cancelled
CI / Coverage (gcovr) / ubuntu-24.04 (push) Has been cancelled

- W22.1: gcovr 覆盖率度量 + CI coverage job(40% 阈值 warning)
- W22.2: network_plugin 单元测试(parse_headers_json/extract_host_port/SSE/异常保护)
- W22.3: Tool Calling 流式反馈(chat_stream + "[工具调用]/[工具结果]" 状态行)
- W22.4: --prompt stdin pipe(--prompt - 从 stdin 读取)
- W22.5: session 路径健壮化(static 缓存 + mkdir + fallback)
- W22.6: 插件依赖拓扑静态校验(validate_dependencies 循环/缺失检测)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 21:21:24 +08:00
parent b2b381b9b3
commit df3bf298ee
13 changed files with 753 additions and 23 deletions

View File

@@ -92,5 +92,14 @@ performance_log:
std::vector<ToolCallAccum> tool_calls 字段。流结束后序列化为 OpenAI tool_calls JSON
写入 result.tool_calls_json。未改动 dstalk_services.h vtable 签名。
构建: cmake --build --target plugin-deepseek 0 error; ctest 5/5 pass (test #6 预存不相关)。
- date: 2026-05-27
event: "W22.4: --prompt stdin pipe 打通 -- --prompt 无参数或参数为 - 时从 stdin 读取"
rating: completed
details: |
main.cpp L409-418: 拆分 --prompt 检测为 3 分支:非 - 文本直接赋值;
参数为 - 则跳过并设 prompt_arg=- (stdin sentinel); 无参数则 prompt_arg=-。
L532-552: --prompt 分支新增 stdin 读取prompt_arg=- 时 fgets 循环读 stdin
空输入则 empty prompt 报错退出。pipe_mode 分支已覆盖 echo|dstalk --prompt -。
构建: cmake --build Release 0 error; ctest 8/8 pass。
current_groups: []
---