Skip to content

软件包快速开始(Package quick-start) ​

SPOKE 在锁步 SemVer 下发布消费方软件包 —— 生成的线上类型、手写操作库,以及 Connect 会话客户端(语言原生客户端、Rust 参考实现与原生绑定)。将您使用的所有面固定到同一个 X.Y.Z。

本页为英文原页(English)的中文概览。规范说明(specs)保持英文原文并作为 SSOT(单一事实来源);完整细节见文末「规范参考」。

TypeScript(npm) ​

bash
pnpm add @42ch/[email protected] @42ch/[email protected]
  • @42ch/spoke-schemas —— 生成的线上类型(从包根导入 KnowledgeEntry(知识条目)、TimelineEvent(时间轴事件)、PromoteRequest、AssemblePacket(上下文组装载荷)、HostCapabilityManifest(主机能力清单)等)。
  • @42ch/spoke-operations —— 纯辅助函数、按能力切分的 adapter ports 与 orchestrate* 入口。

Rust(crates.io) ​

toml
[dependencies]
spoke-schemas = "X.Y.Z"
spoke-operations = "X.Y.Z"
  • spoke-schemas —— 由同一 JSON Schema SSOT 生成的 Rust 线上类型。
  • spoke-operations —— port traits 与 orchestrate_*(重新导出 spoke_schemas)。

Connect ​

Connect 会话客户端与线上/操作软件包在同一锁步 SemVer 下发布:

bash
pnpm add @42ch/[email protected]
  • @42ch/spoke-connect —— TypeScript 语言原生客户端。
  • @42ch/spoke-connect/remote —— RemoteAdapter 子路径:经消费方 Transport 拨号远端对等节点并跨多个对等节点路由(见通过 Transport 使用 RemoteAdapter)。
bash
cargo add [email protected]
  • spoke-connect —— Rust 参考实现(libp2p 传输 + uniffi 绑定面)。

原生绑定宿主语言(C# NuGet 42ch.Spoke.Connect、Kotlin Maven dev.42ch:spoke-connect、Swift SPM SpokeConnect、Go 模块 github.com/42ch-dev/spoke/crates/spoke-connect/bindings/go、Python PyPI spoke-connect)与 C 和 C++(手写 C ABI,git)经 FFI 嵌入共享会话核心 —— 见原生绑定与从 C 与 C++ 连接。

C 与 C++(git) ​

bash
git clone --branch vX.Y.Z --depth 1 https://github.com/42ch-dev/spoke.git
  • crates/spoke-connect/bindings/cpp/include/spoke_connect.h —— 手写 C ABI 头文件。
  • crates/spoke-connect/bindings/cpp/include/spoke_connect.hpp —— C++17 头文件式便利层。
  • crates/spoke-connect/bindings/cpp/native/osx-arm64/libspoke_connect_capi.dylib —— macOS arm64 载体。
  • crates/spoke-connect/bindings/cpp/native/win-x64/spoke_connect_capi.dll —— Windows x64 载体。
  • crates/spoke-connect/bindings/cpp/native/win-x64/spoke_connect_capi.dll.lib —— Windows x64 链接步骤所用的 Rust 生成导入库。

已提交的 C/C++ 载体面向 macOS arm64(osx-arm64)与 Windows x64(win-x64)。spoke_connect.h、spoke_connect.hpp 与目标平台的原生文件均取自同一仓库标签 vX.Y.Z —— 获取方式是一次标签检出,cargo add spoke-connect 安装的是 crates.io 上的 crate。两个载体动态库是 Git LFS 对象,请先执行一次 git lfs install,已有 clone 再执行 git lfs pull。完整指南:从 C 与 C++ 连接。

集成路径 ​

  1. 从 schemas 软件包导入线上类型。
  2. 在一个 adapter 类型上为所声明能力实现 port 族(BaselineAdapter … FullAdapter)。
  3. 调用匹配的编排器(orchestrateUpsert、orchestratePromote、orchestrateExtract 等)—— 纯门禁运行,承载持久化的路径经您的 ports 写入。可选的 ke-extraction 路径接收独立的 ExtractionPort 与异步抽取器回调,返回 provisional 候选,供随后经 promote 准入持久存储。
  4. 走一遍已提交的 "Mira at Harbor" 图与 fixtures/toy-world/ 中的参考 ToyWorldAdapter(TypeScript adapter 与 Rust fixture crate)。

版本策略 ​

全部软件包一起升版(锁步 SemVer);带注释标签 vX.Y.Z 与之匹配。固定指南见 版本与发布。

更多资源 ​