Tokitai
🎯 一行贴纸,让 AI 调用你的 Rust 代码
use tool;
// ← 就这一行!
编译期生成 · 零运行时侵入 · 类型安全
编译期 AI 工具定义 · 零运行时侵入 · 魔法贴纸式集成
Tokitai 是一个零运行时依赖的过程宏库,只需一个 #[tool] 属性,即可将你的 Rust 方法自动转换为 AI 可调用的工具。所有工具定义在编译期生成,类型错误在编译时暴露。
🚀 5 分钟快速开始
1. 添加依赖
[]
= "0.3.3"
就这一行!所有必需的依赖(serde、serde_json、thiserror)都会自动包含。
2. 定义工具
use tool;
;
3. 获取工具定义
let tools = TOOL_DEFINITIONS;
4. 处理 AI 调用
use json;
let calc = Calculator;
let result = calc.call_tool?;
println!; // 30
✨ 核心特性
| 特性 | 说明 |
|---|---|
| 零依赖侵入 | 用户只需添加 tokitai = "0.3.3" |
| 编译期生成 | 工具定义在编译期生成,类型错误早发现 |
| 单一属性 | 只需 #[tool],无需多个标签 |
| 类型安全 | Rust 类型自动映射到 JSON Schema |
| 供应商中立 | 支持任何 AI/LLM 提供商 |
📋 类型映射
| Rust 类型 | JSON Schema |
|---|---|
String, &str |
string |
i32, i64, u32 等 |
integer |
f32, f64 |
number |
bool |
boolean |
Vec<T> |
array |
| 自定义 struct | object |
🔧 常用属性
📚 文档
- 5 分钟快速开始 - 详细入门教程
- 高级用法 - 高级功能和最佳实践
- 类型系统 - Rust 类型到 JSON Schema 的映射
- AI 集成 - 与 AI 提供商集成的指南
- 架构说明 - 项目架构和设计
- API 文档 - 完整的 API 参考
⚙️ 要求
- Rust 版本: 1.70+
- Edition: 2021
📄 许可证
Licensed under either of:
at your option.
🤝 贡献
除非你明确声明其他许可,否则你为本 crate 提交的所有贡献都将按上述两种方式之一授权,无需额外条款或条件。
📦 子 crate
Tokitai 由三个 crate 组成:
| Crate | Crates.io | 说明 |
|---|---|---|
tokitai |
主 crate,包含运行时支持 | |
tokitai-core |
核心类型和 trait(零依赖) | |
tokitai-macros |
过程宏实现 |
99% 的用户只需要:
[]
= "0.3.3"
📝 示例
更多示例见 examples 目录:
basic_usage.rs- 基础使用示例quick_chat.rs- 交互式数学计算器version_management.rs- 版本管理属性演示ollama_integration.rs- Ollama AI 集成
Happy Coding! 🦀