发布时间:2026/9/1 14:07:17
wigolo的--json契约设计:机器可读输出如何直连自动化流水线 wigolo的--json契约设计机器可读输出如何直连自动化流水线【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolowigolo 是面向 AI 编码代理的本地优先 Web 搜索、抓取与调研工具而--json标志正是它机器可读输出契约的核心任何命令加上--jsonstdout 上就只有一份结构化 JSON日志全部走 stderr退出码直接充当自动化门控——不写一行胶水代码就能把 wigolo 的 Web 智能接进 jq、cron 和 CI 流水线。一句话说清--json契约三个保证整条契约浓缩起来只有三句话保证内容对流水线的意义 结果独占 stdout--json下 JSON 是 stdout 上的唯一内容零日志泄漏对整段 stdout 直接JSON.parse永远成功 日志只走 stderr所有人类可读文本、进度、警告都进 stderr2/dev/null即可静默数据流保持纯净 退出码可门控成功0失败1失败时 stdout 仍是可解析的 JSON 错误信封CI、cron、if判断直接复用这个契约在源码注释中被明确写下见 src/cli/tool-run.tsRESULT → stdout, ALL logs → stderr.--jsonemits the tools MCP-shape JSON on stdout (exit 0), a failure exits 1, and under--jsona failure prints a JSON error object on stdout.完整条目参考 docs/cli.md 的 “The --json contract” 一节。如何把 wigolo 输出干净地喂给 jq新手最容易踩的坑是命令一边打进度一边打结果管道里混进了杂质。--json的设计从源头杜绝了这一点——tool-run.ts 中的emit函数在--json模式下只调用一个formatJson不输出任何别的东西wigolo search zig comptime --json 2/dev/null | jq .results[].url不需要grep出从第几行开始才是真正的输出不会被日志行破坏 JSON 解析结果自带results、evidence、citations、engine_telemetry等字段和 MCP 客户端拿到的形状完全一致——为 CLI 写好的管道换到 MCP 或 REST 接口时无需重写退出码与 JSON 错误信封失败也能被程序接住很多 CLI 工具失败时只在 stderr 吼一句脚本无从结构化处理。wigolo 在--json下失败时stdout 上输出的仍是一个可解析的 JSON 错误信封结果对象本身携带error字段退出码为1printf fetch https://no-such-host.invalid\n \ | wigolo shell --json 2/dev/null | jq -c {url, error} # {url:https://no-such-host.invalid,error:DNS resolution failed (ENOTFOUND)} # echo $? → 1配合set -o pipefail即使后面挂了| jq非零退出码也能穿透管道正是 CI 门控想要的行为。这个一次性 CLI 的完整演示在 examples/one-shot-cli/批量自动化NDJSON shell 流水线一次性命令简单但每次调用都要重新冷启动进程模型、缓存、浏览器池。面对 50 个 URL 的抓取清单或定时 cron 任务wigolo shell --json是正解命令从 stdin 逐行喂入stdout一行一个 JSON 文档NDJSON每行独立可解析人类闲聊照旧走 stderr数据流不被污染管道中任何一条命令失败整个会话以1退出失败信封仍是可解析 JSONprintf search bun test runner\nfetch https://bun.sh/docs/cli/test\n \ | wigolo shell --json 2/dev/null \ | jq -r .results[]?.url // .url启动成本只付一次同一批任务从每条命令冷启动的分钟级降到秒级。可直接运行的参考脚本在 examples/shell-ndjson-pipeline/pipeline.sh统一契约CLI、shell、MCP、REST 同一种 JSON--json输出的不是CLI 私有格式而是工具层的全局契约形状四个入口共享同一份结构入口输出形态触发方式一次性 CLI单个美化 JSON 文档wigolo tool --json脚本化 shellNDJSON一行一文档wigolo shell --jsonMCP 服务器stdio 上的同形状 JSONwigolo默认启动REST 守护进程HTTP 响应体即同一 JSONwigolo serve→/v1/toolJSON 序列化逻辑集中在 src/repl/formatters.tsformatJson是一次性的美化格式formatJsonLine是 NDJSON 用的紧凑单行格式文档内绝不插入换行——所以逐行过滤永远是安全的。管理命令init、doctor、verify、status、health、config、plugin、skills、backfill、uninstall等同样接受--jsonserve因输出协议流而例外。REST 侧的完整契约见 docs/rest-api.mdOpenAPI 文件可直接从守护进程拉取。新手三步接入流水线清单✅加--json给任意工具命令加上获得纯净的单文档输出✅用jq取字段如jq .results[].url失败时读.error✅门控退出码set -o pipefailif ! wigolo ... --json; then 重试或告警; fi更多可运行示例见 examples/README.md工具参数与字段语义见 docs/tools.md。掌握这条--json契约后wigolo 的本地 Web 智能就能像curl一样成为你任何自动化流水线里的一环。【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/1 14:07:17

桌面标注神器ShareX:从截图到录屏的全能效率工具实战指南

1. 这篇文章真正要解决的问题 你有没有遇到过这样的场景?辛辛苦苦做了一张图,想圈出重点、添加箭头说明,却发现系统自带的画图工具功能简陋,专业设计软件又过于复杂;或者,在录制软件操作教程时,…

2026/9/1 14:07:17

Upscayl 免费AI图片放大:完整安装与上手指南

Upscayl 免费AI图片放大:完整安装与上手指南 【免费下载链接】upscayl 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl 手机里那张 500 像素…

2026/9/1 14:02:17

Kettle 7.1实战:从环境搭建到数据同步的性能调优

简介:Kettle 7.1 是一款成熟的开源 ETL 工具,后更名为 Pentaho Data Integration,由 Java 开发、支持跨平台运行,适合数据工程师、BI 开发人员及运维人员完成数据抽取、转换与加载。其核心亮点是无需编码、拖拽式开发数据管道&…

2026/9/1 14:17:18

反激式开关电源设计全流程:从拓扑原理到工程调试实战

在实际电力电子和嵌入式系统项目中,高压开关电源的设计与调试是一个既考验理论功底又依赖工程经验的核心环节。它不仅是各类工业设备、通信基站、医疗仪器和新能源系统的“心脏”,其性能直接决定了整机的效率、稳定性和可靠性。很多工程师在初次接触时&a…

2026/9/1 14:17:18

基于Python的办公文档自动化生成系统:从模板引擎到定时任务

1. 先搞清楚这个“系统”到底解决了什么实际问题 看到这个标题,很多在机关、国企或事业单位工作的朋友可能会心一笑。写材料,尤其是公文、报告、总结、汇报,确实是很多“体制内”岗位绕不开的日常工作。痛点很明确:格式要求严格、…

2026/9/1 14:12:18

5 种 Prompt 手法:把非结构化文本批量变成结构化特征

5 种 Prompt 手法:把非结构化文本批量变成结构化特征 【免费下载链接】prompt-eng-interactive-tutorial Anthropics Interactive Prompt Engineering Tutorial 项目地址: https://gitcode.com/GitHub_Trending/pr/prompt-eng-interactive-tutorial 手里有一…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…