< 返回版块

Mike Tang 发表于 2026-03-07 14:59

Saikuro - 跨语言IPC库

项目简介

Saikuro是一个语言无关、易于使用的IPC(进程间通信)库,用于跨语言集成。它允许开发者用一种语言编写函数,并从任何其他支持的语言中透明调用这些函数。

核心特性

  • 共享类型模式:统一的类型定义系统
  • 能力强制执行:权限控制机制
  • 可插拔传输:支持TCP、Unix套接字、WebSocket或内存传输方式
  • 语言无关性:真正的跨语言互操作

支持的编程语言

  • Rust - saikuro (crates.io) ✅
  • TypeScript - saikuro (npm) ✅
  • Python - saikuro (PyPI) ✅
  • C# - Saikuro (NuGet) ✅

注:目前暂未添加到包管理器,即将推出

使用示例

  • Rust端:创建Provider,注册"add"函数,通过TCP提供服务
  • TypeScript/Python端:创建Client,连接服务并调用"math.add"函数

项目结构

  • crates/:核心Rust库(协议、模式、传输、路由、运行时、代码生成)
  • adapters/:各语言适配器(Rust、TypeScript、Python、C#)
  • docs/:文档站点

许可证

Apache-2.0开源协议

https://github.com/Nisoku/Saikuro

Rust 文档链接检查工具 - 裸 URL 检测

这是 Rust 编译器中 rustdoc 工具的一个代码模块,用于检测和修复文档中未链接化的 URL。

主要功能

  • 检测裸 URL:识别 Markdown 文档中未被链接化的 URL(如 https://example.com
  • 自动修复建议:建议用尖括号包裹 URL(如 <https://example.com>)使其自动转换为可点击链接

关键技术点

  • 正则表达式匹配:使用正则表达式检测以 http://https:// 开头的完整 URL

    • 匹配子域名、根域名和可选的查询参数或 URL 片段
  • Markdown 解析:通过 pulldown_cmark 解析器遍历文档内容

    • 只检查普通文本内容
    • 跳过代码块和已有链接内的文本
  • 智能修复

    • 标准情况:在 URL 前后添加 <>
    • 特殊情况:如果 URL 已被方括号 [] 包裹,则替换方括号为尖括号
  • 诊断报告:生成编译器 lint 警告,提示"裸 URL 不会自动转换为可点击链接",并提供机器可应用的修复建议

代码位置

位于 Rust 编译器源码:src/librustdoc/passes/lint/bare_urls.rs

https://github.com/rust-lang/rust/blob/024757fe/src/librustdoc/passes/lint/bare_urls.rs#L76-L84:

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页