You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pnpm run typecheck 通过;pnpm test 108 文件 / 2645 passed / 15 skipped。
pnpm run build、pnpm run build:rust 成功(native linux-x64 SHA-256 6a08ed50c4000230f47b0a5f9265d42cf8fdc037673bec948dba062af42f188d);check:rust-package 与 rust-install-test.py 通过。
PTY:rust-web-config(新)、rust-workflow、rust-image-gen、rust-video-gen、rust-memory-capture 通过。rust-plain-pipe-test.py 在本机于修改部分之前的沙箱用例处因无 bubblewrap 拒绝(needs a macOS Seatbelt subpath or a Linux bubblewrap bind),跳过该沙箱段后全部通过;核心 PTY 测试在 Linux 上按设计拒绝运行。
llama.cpp b11200 llama-server + Qwen3-4B-Instruct-2507 Q4_K_M(CPU,-c 20480 -np 1),源码安装的 SearXNG(127.0.0.1:18888,JSON 格式),GROK_WORKFLOW_MAX_CONCURRENT_AGENTS=1。问题:“In which Rust release was the Rust 2024 edition stabilized, and on what date was it announced?”
Activity
feat(rust): built-in deep-research workflow (ticket 74 / #206)
fix(rust): deep-research web tools from config, partial notice, headl…
Blackman99 commentedon Sep 26, 2026
已集成到
rewrite/grok-dsh-20260920:490a12f(#206 真实运行暴露问题的修复,已 rebase 到 22f6bb8 并重新检查)。原实现为 5b300a8。修复内容(来自本机真实运行发现的问题)
config.toml之前,就按CODSH_WEB_SEARCH/CODSH_WEB_FETCH环境变量写 dsh 的tool-web行,所以只在config.toml中配置时是search:false fetch:false,研究代理拿不到web_search/web_fetch。现在rust.mjs只写 fail-closed 占位行,config::apply_to_dsh(及测试 seam 补丁)在其后追加web_tools_yaml,取值为生效的web.search/fetch.enabled(config.toml +GROK_WEB_FETCH/GROK_DISABLE_WEB_SEARCH等环境变量覆盖 + requirements +--disable-web-search)。游离的CODSH_WEB_*不再算设置。这一修复同时恢复了 [Grok/dsh 39] 可配置网页搜索与获取 #171 仅用 config.toml 配置时的会话内网页搜索。◎ Task completed · workflow deep-research [complete (result: partial)],workflow事件带result,/tasks行与工作流块标题显示complete (result: partial),与/workflow runs的Result status: partial一致。-p "/deep-research <问题>"真正执行内置命令(按参考 slash_exec 行为):客户端发workflow_launch而不是把文本交给模型,插件前台等待(CODSH_WORKFLOW_FOREGROUND),结果块作为回答;运行完成(partial 或 verified)退出码 0,停止/阻塞/预算用尽/失败为 1,收到信号会停止运行;无问题时输出参考用法。streaming-messages-json的 init 行在发出启动时立即输出,列出会话可见工具(新增 controltools请求)并在slash_commands中列出deep-research。检查(本机 Linux x86_64,rebase 后的 490a12f)
scripts/rust-web-config-pty-test.py(packed 安装产物,不设CODSH_WEB_*、不用CODSH_ACP_PATCH,回环 OpenAI 形态假模型 + 假 SearXNG/页面;已加入test:rust:pty):通过。只靠 config.toml 时会话提供并实际调用web_search/web_fetch;-pinit 含两者与workflow、slash_commands == ["deep-research"];GROK_DISABLE_WEB_SEARCH=1只剩 fetch;未配置但设了游离CODSH_WEB_*时两者都没有。rust-workflow-pty-test.py的 overlay 改为以 web 关闭生成,只由 config.toml 打开工具,并新增 partial 通知/任务行与无头/deep-research(含无问题用法、init)检查:通过;rust-plain-pipe-test.py不再因游离CODSH_WEB_SEARCH期望出现web_search。CODSH_WEB_*:仅配置、环境覆盖、--disable-web-search、游离环境变量)、control、headless、subagents、plain 路径;spec 新增statusWords与 partialworkflow事件。cargo test --locked --workspace --no-fail-fast:codsh-rust 782 passed / 4 失败(2 个 filesystem_sandbox、privacy、voice,与基线相同的 Linux 已知失败),其他 crate 1043 passed。cargo fmt --check干净;严格 Clippy-D warnings仅基线已有的filesystem_sandbox.rs:743与:1372两项,-A dead_code -A clippy::needless_return下 0 警告。pnpm run typecheck通过;pnpm test108 文件 / 2645 passed / 15 skipped。pnpm run build、pnpm run build:rust成功(native linux-x64 SHA-2566a08ed50c4000230f47b0a5f9265d42cf8fdc037673bec948dba062af42f188d);check:rust-package与rust-install-test.py通过。rust-web-config(新)、rust-workflow、rust-image-gen、rust-video-gen、rust-memory-capture通过。rust-plain-pipe-test.py在本机于修改部分之前的沙箱用例处因无 bubblewrap 拒绝(needs a macOS Seatbelt subpath or a Linux bubblewrap bind),跳过该沙箱段后全部通过;核心 PTY 测试在 Linux 上按设计拒绝运行。真实运行(本机 localhost,免费无密钥)
llama.cpp b11200
llama-server+ Qwen3-4B-Instruct-2507 Q4_K_M(CPU,-c 20480 -np 1),源码安装的 SearXNG(127.0.0.1:18888,JSON 格式),GROK_WORKFLOW_MAX_CONCURRENT_AGENTS=1。问题:“In which Rust release was the Rust 2024 edition stabilized, and on what date was it announced?”修复前(2026-09-26,95070ba):
tool-web search:false fetch:false,研究代理没有任何网页工具,结果 partial,但通知与/tasks显示complete。CODSH_WEB_SEARCH=1 CODSH_WEB_FETCH=1,即所有旧测试的做法):4 个研究代理真实调用 SearXNG;两个验证代理输出裸数组未通过 schema,结果 partial(35 分钟)。/workflow stop,/workflow runs、/tasks、通知均为 cancelled,研究代理被取消,无报告、无残留进程。tools:[]、slash_commands:[];-p "/deep-research"被发给模型,退出码 1。修复后(2026-09-27,本分支构建,全程不设任何
CODSH_WEB_*,web 配置只来自 config.toml):search:true fetch:true;4 个研究代理都真实调用了web_search。所有web_fetch都返回Error: permission mode ask——工作流子代理不能回答审批(codsh 既有规则:子代理内的 ask 会被拒绝),而默认模式是 ask。两个验证代理 schema 失败 → Status: Partial。显示:通知[complete (result: partial)],/tasks为'deep-research' — complete (result: partial) · Verify · 7 agents,/workflow runs为Result status: partial。--always-approve):-p "/deep-research"输出参考用法,退出码 0;-p "/deep-research <问题>" --output-format streaming-messages-json第 1 行 init 含 30 个工具(含web_search、web_fetch、workflow)与slash_commands:["deep-research"];内置命令实际运行了整个流程(规划 2 问题,2 个研究代理搜索+抓取,2 个验证代理,综合报告),结果— status: complete、Result status: partial,9 条带引用结论(1.85.0,2025-02-20,来源 blog.rust-lang.org / doc.rust-lang.org 等),2 条被验证排除,综合正文引用校验失败 → 改用确定性列表;退出码 0,35 分钟。[permission] allow = ["WebFetch(domain:…)"]覆盖抓取白名单域名):研究代理web_search+web_fetch均成功,两个验证代理都实际抓取了来源;验证代理 1 输出未通过 schema,其分片被排除。报告 Status: Partial,综合回答“Rust 2024 edition 在 Rust 1.85.0 中稳定,于 2025 年 2 月 20 日发布公告”,引用 [S1]–[S6] 均为 blog.rust-lang.org,覆盖范围列出分片失败与被排除的结论。通知、/tasks(complete (result: partial) · Report · 6 agents)、/workflow runs均显示 partial。运行的script.rhai与固定版本逐字节相同。对照验收标准
deep_research.rhai逐字节固定并有摘要校验;真实运行保存的script.rhai与之相同,子代理拿到的是参考提示原文。参考中编译进的内置工作流只有这一个;bundled 作用域在参考中从托管存储下载,本构建没有,不随此票完成。/tasks、工作流块、/workflow runs与无头结果中一致显示;真实取消为 cancelled;缺网页工具与抓取被拒都以不确定项写入报告并标为 partial;限流仅用假服务验证。已记录的差异 / 未覆盖
web_fetch需要允许规则、已记住的域名授权或 always-approve,否则抓取被拒并如实报告为不确定项(已写入 README)。证据:本机
/workspace/evidence-206/(修复前)与/workspace/evidence-206/fixes/(修复后,含 README、每个子代理的工具调用统计、屏幕快照、报告与工作流目录)。未改动
main、npm 发布、默认切换均未改动。