Gosquito
gosquito ("go" + "mosquito") is a pluggable tool for data gathering, data processing and data transmitting to various destinations.
Install / Use
/learn @livelace/GosquitoREADME
gosquito
gosquito ("go" + "mosquito") is a pluggable tool for data gathering, data processing and data transmitting to various destinations. Main goal is to replace various in-house automated tasks with a single tool and move those tasks at the edge. See docs and examples for additional info.
graph TD;
I1(io)-->P1(process plugins);
I2(kafka)-->P1;
I3(resty)-->P1;
I4(rss)-->P1;
I5(telegram)-->P1;
P1-->O1(kafka);
P1-->O2(mattermost);
P1-->O3(resty);
P1-->O4(slack);
P1-->O5(smtp);
P1-->O6(telegram);
<br>
Main features:
- Pluggable architecture. Data processing organized as chains of plugins.
- Flow approach. Flow consists of: input plugin (receive), process plugins (filter/transform), output plugin (send).
- Declarative YAML configurations with templates support.
- Consider data as new by configurable signature (data timestamp by default). Force fetching is supported.
- Dependencies between process plugins. Plugin "B" will process data only if plugin "A" derived some data.
- Parallel executions limits.
- Export metrics to Prometheus.
Input plugins:
| Plugin | Description | |:-------------------------------------------|:-----------------------------------------------------------------------------------------------| | io | Use text and files as data source. | | kafka | Kafka topic as data source. | | resty | REST endpoint as data source. | | rss | RSS/Atom feed as data source. | | telegram | Telegram chat as data source. |
Process plugins:
| Plugin | Description | |:-------------------------------------------------------|:-------------------------------------------------------------------------------------------------------| | dedup | Deduplicate datums by UUID. | | echo | Echoing processing data. | | expandurl | Expand short URLs. | | fetch | Fetch remote data. | | iconv | Convert text encoding. | | io | Read/write text and files. | | jq | Extract JSON elements. | | minio | Get/put data from/to S3 bucket. | | regexpfind | Find patters in data. | | regexpmatch | Match data by patterns. | | regexpreplace | Replace patterns in data. | | resty | Perform REST queries. | | same | Match data similarity. | | split | Split single datum into multiple. | | unique | Get unique values from data. | | webchela | Process web pages with full browser support (Chrome, Firefox). | | xpath | Extract HTML/XML nodes. |
Output plugins:
| Plugin | Description | |:------------------------------------------------|:---------------------------------------------------------------------------------------------| | kafka | Send data to Kafka topic. | | mattermost | Send data to Mattermost channel/user. | | resty | Send data to REST endpoint. | | slack | Send data to Slack channel/user. | | smtp | Send data as email. | | telegram | Send data to Telegram chat. |
Related Skills
bluebubbles
348.5kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
gh-issues
348.5kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
348.5kHost security hardening and risk-tolerance configuration for OpenClaw deployments
imsg
348.5kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
