wigolo的--json契约设计:机器可读输出如何直连自动化流水线

发布时间:2026/11/2 16:15:58

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/10/31 1:33:11

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

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

2026/11/2 16:15:58

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/10/31 12:34:32

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

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

2026/11/2 16:12:51

Qt数据库开发实战:从基础操作到高级应用

1. Qt数据库开发实战概述在桌面应用开发领域,数据库操作几乎成为标配功能。作为跨平台框架的Qt,提供了一套完整的数据库操作类库,让开发者能够以统一的方式处理各种数据库。我经历过多个Qt数据库项目的完整生命周期,从简单的SQLit…

2026/11/2 16:12:51

2026年主流视频转文字工具评测与使用技巧

1. 视频转文字工具的价值与现状 2026年的今天,视频内容已经占据了互联网流量的85%以上,但文字依然是信息检索和内容消化的主要形式。作为一名长期与视频内容打交道的从业者,我深刻体会到视频转文字工具的重要性。记得去年为了整理一场3小时的…

2026/11/2 16:12:51

Burpsuite越权漏洞实战与防御指南

1. 越权漏洞实战解析与Burpsuite靶场通关指南越权漏洞(Broken Access Control)长期占据OWASP Top 10安全风险前三名,我在渗透测试项目中遇到的90%系统都存在这类问题。Burpsuite官方靶场作为业界公认的实战训练场,其越权漏洞场景设…

2026/11/2 16:12:51

C++多态基类为何需要virtual析构函数?

1. 为什么多态基类需要virtual析构函数?1.1 从内存泄漏说起上周排查一个内存泄漏问题时,发现一个典型场景:通过基类指针删除派生类对象时,如果基类析构函数非virtual,只会调用基类的析构函数。这直接导致派生类成员未被…

2026/11/2 16:12:51

SG3525推挽升压逆变器电路图拆解:从PWM到220V正弦波

简介:这份SG3525逆变器电路图资料面向电子工程师、电源设计爱好者及电类专业学生,聚焦以SG3525脉宽调制控制器为核心的逆变方案,解决将10.5~14.5V低压直流转换为220V正弦波交流、驱动200W负载的设计参考问题,适合具备一…

2026/11/2 16:07:48

MATLAB特征值入门:三行代码看懂数据的‘性格说明书’

简介:本资源是一份面向MATLAB初学者与工科高年级学生的矩阵分析专项学习文档,聚焦特征值与特征向量、矩阵对角化、实对称矩阵正交对角化、若当标准形等核心线性代数计算实践。内容以高校数值分析或矩阵论实验为背景,完整覆盖实验目的、原理推…

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业级SPI隔离设计:硬件抗扰与信号完整性实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

PLFM_RADAR:主动探测数据通道,构建低误报的数据感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业SPI隔离设计:MAX14431与STM32F746硬件抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑