guidomantilla/yarumo

GitHub: guidomantilla/yarumo

Yarumo 是一个模块化 Go 工具包,为后端应用提供通用工具、配置管理、生命周期控制和智能推理功能。

Stars: 0 | Forks: 0

# Yarumo [![构建状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1240901f7e034414.svg)](https://github.com/guidomantilla/yarumo/actions/workflows/build.yml) [![许可证](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Go](https://img.shields.io/badge/Go-1.25-00ADD8.svg)](https://go.dev/) 一个用于构建后端应用的模块化 Go 工具包。Yarumo 提供了涵盖通用操作、配置引导、生命周期管理、可观测性、数学以及多范式推理引擎的基础包——旨在组合,而非强加。 ## 模块 Yarumo 以 Go 工作区的形式组织,包含可独立导入的模块。 | 模块 | 导入路径 | 描述 | |--------|-------------|-------------| | **common** | `github.com/guidomantilla/yarumo/core/common` | 核心库——包含16个包,覆盖断言、加密、错误处理、HTTP、gRPC、日志记录等 | | **config** | `github.com/guidomantilla/yarumo/config` | 一次性引导,用于通过环境变量进行应用配置 | | **managed** | `github.com/guidomantilla/yarumo/managed` | 组件生命周期管理(启动/停止/完成) | | **managed/telemetry/otel** | `github.com/guidomantilla/yarumo/core/telemetry/otel` | OpenTelemetry 设置,用于追踪、指标和日志记录 | | **maths** | `github.com/guidomantilla/yarumo/maths` | 数学基元——命题逻辑、离散概率、模糊逻辑 | | **inference** | `github.com/guidomantilla/yarumo/inference` | 多范式推理引擎——经典、贝叶斯、模糊推理 | ### 依赖关系图 ``` inference → maths → common telemetry/otel managed config │ │ │ └──────────────┴─────────┘ │ common ``` ### 通用包 | 包 | 用途 | |---------|---------| | `assert` | 运行时断言 | | `cast` | 类型转换工具 | | `constraints` | 泛型类型约束 | | `cron` | Cron 调度 | | `crypto` | 哈希、签名器(HMAC, ECDSA, Ed25519, RSA-PSS)、加密器(AEAD, RSA-OAEP)、证书、密码、令牌 | | `diagnostics` | 飞行记录器与追踪 | | `errs` | 类型化错误处理 | | `grpc` | gRPC 工具 | | `http` | HTTP 客户端及辅助函数 | | `log` | 结构化日志记录 (slog) | | `pointer` | 安全的指针操作 | | `random` | 随机值生成 | | `rest` | REST API 工具 | | `types` | 通用类型定义 | | `uids` | ID 生成(UUID, ULID, XID, CUID2, NanoID) | | `utils` | 通用工具 | ### 数学包 | 包 | 用途 | |---------|---------| | `logic` | 命题逻辑——公式、求值、转换(NNF/CNF/DNF)、化简(18条规则)、分析 | | `logic/parser` | 支持 Unicode 运算符和关键字的递归下降解析器 | | `logic/sat` | SAT 求解器(DPLL 算法) | | `logic/entailment` | 逻辑蕴含与等价性检查 | | `probability` | 离散概率——条件概率表、因子、贝叶斯定理、分布、熵 | | `fuzzy` | 模糊逻辑——隶属函数、t-范数/t-余范数、去模糊化方法 | ### 推理引擎 | 包 | 用途 | |---------|---------| | `classical/engine` | 正向与反向链式推理,带溯源追踪 | | `classical/rules` | 带优先级和条件的规则定义 | | `classical/facts` | 支持断言/撤销/克隆操作的事实库 | | `classical/explain` | 带逐步溯源的执行追踪 | | `bayesian/engine` | 精确推理——枚举和变量消除算法 | | `bayesian/network` | 带 DAG 验证的贝叶斯网络定义 | | `bayesian/evidence` | 用于观测变量的证据库 | | `bayesian/explain` | 带后验分布的推理追踪 | | `fuzzy/engine` | Mamdani 和 Sugeno 推理方法 | | `fuzzy/variable` | 带模糊化的语言变量 | | `fuzzy/rules` | 带条件、权重和 AND/OR 运算符的模糊规则 | | `fuzzy/explain` | 带隶属度和激活度的推理追踪 | ## 入门指南 ### 要求 - Go 1.25+ - [graphviz](https://graphviz.org/)(用于生成依赖关系图) ### 安装 ``` go get github.com/guidomantilla/yarumo/core/common@latest go get github.com/guidomantilla/yarumo/maths@latest go get github.com/guidomantilla/yarumo/inference@latest ``` ### 工具链 ``` make install # Install dev tools (linter, coverage, etc.) make validate # Run full validation: tidy, generate, format, vet, lint, coverage make build # Full build: validate + vulnerability check ``` ## 许可证 [Apache License 2.0](LICENSE)
标签:API集成, ETW劫持, GET参数, Go语言, gRPC, OpenTelemetry, 加密, 可组合, 可观测性, 后端开发, 基础库, 工具包, 应用程序构建, 推理引擎, 数学计算, 断言, 日志审计, 日志记录, 概率逻辑, 模块化, 模糊逻辑, 漏洞扫描器, 生命周期管理, 用户代理, 程序破解, 经典推理, 贝叶斯推理, 错误处理