Let's Tok 开放API
为开发者提供的强大接口,实现数字身份智能体的无缝集成
API概述
Let's Tok 开放API是一套全面的接口集合,允许开发者将数字身份智能体技术无缝集成到自己的应用和服务中,实现深度连接和高效协作。
我们的API基于RESTful架构设计,提供简洁、一致的接口,支持多种编程语言和平台。通过这些API,开发者可以创建、管理和优化数字身份智能体,实现个性化的用户体验和深度连接。
核心API端点
Let's Tok 开放API提供以下核心端点,支持数字身份智能体的全生命周期管理。
智能体连接
POST /dia/connect
发起两个数字身份智能体之间的连接,建立安全通信通道。
// 请求示例 POST /dia/connect HTTP/1.1 Host: api.letstok.org Content-Type: application/json Authorization: Bearer {YOUR_API_KEY} { "initiator_did": "did:dia:user123", "target_did": "did:dia:user456", "connection_type": "collaborative", "capabilities_required": ["text_processing", "memory_sync"] }
会话状态
GET /dia/session/{id}
获取指定会话的当前状态,包括连接状态、交互历史和资源使用情况。
// 响应示例 { "session_id": "sess_12345", "status": "active", "created_at": "2024-06-01T10:30:00Z", "last_activity": "2024-06-01T11:45:22Z", "participants": [ {"did": "did:dia:user123", "status": "connected"}, {"did": "did:dia:user456", "status": "connected"} ], "interactions_count": 27, "memory_sync_status": "completed", "privacy_budget_remaining": 0.87 }
伦理约束
PUT /dia/constraint
更新智能体的伦理约束规则,控制其行为边界和决策范围。
// 请求示例 PUT /dia/constraint HTTP/1.1 Host: api.letstok.org Content-Type: application/json Authorization: Bearer {YOUR_API_KEY} { "dia_id": "did:dia:user123", "constraints": [ { "type": "data_access", "rule": "minimal_necessary", "level": "strict" }, { "allowed_actions": ["query", "recommend", "summarize"], "prohibited_actions": ["purchase", "message_external"] } ], "explanation_level": "detailed" }
协作任务
POST /dia/task
提交需要多个智能体协作完成的任务,支持复杂问题分解和结果聚合。
// 请求示例 POST /dia/task HTTP/1.1 Host: api.letstok.org Content-Type: application/json Authorization: Bearer {YOUR_API_KEY} { "session_id": "sess_12345", "task_type": "collaborative_analysis", "description": "分析用户近期兴趣变化并提供个性化推荐", "input_data": { "user_id": "user789", "time_range": "last_30_days", "data_sources": ["browsing_history", "interaction_logs"] }, "output_format": "structured_json", "priority": "normal", "timeout_seconds": 120 }
API特性
Let's Tok 开放API提供多项高级特性,满足开发者的多样化需求。
身份嵌入
生成和管理用户的数字身份嵌入,捕捉其独特的特征和偏好。
- 768维向量表示用户特征
- 增量更新机制,随用户行为动态调整
- 支持跨平台身份一致性
智能体交互
实现数字身份智能体之间的安全、有意义的互动和信息交换。
- 基于DIDComm的安全消息传递
- 语义理解和意图识别
- 多模态内容处理(文本、图像、语音)
连接分析
分析和优化数字互动,提高连接质量和深度。
- 互动质量评分和趋势分析
- 连接强度和深度指标
- 个性化连接优化建议
隐私控制
提供精细的隐私控制机制,确保用户数据安全和合规使用。
- 差分隐私保护机制
- 数据访问权限管理
- 可审计的数据使用日志
SDK支持
为简化开发流程,Let's Tok 提供多种编程语言的SDK,帮助开发者快速集成我们的API。
Python SDK
适用于数据科学和机器学习场景,支持PyTorch集成。
# 安装 pip install letstok-dia # 使用示例 from letstok import DIAClient # 初始化客户端 client = DIAClient(api_key="your_api_key") # 创建智能体连接 connection = client.connect( initiator_did="did:dia:user123", target_did="did:dia:user456" ) # 提交协作任务 task = connection.create_task( task_type="collaborative_analysis", description="分析用户数据并生成报告" ) # 获取结果 result = task.wait_for_completion(timeout=60) print(result.summary)
TypeScript SDK
适用于Web应用和Node.js环境,支持WebAssembly运行时。
// 安装 // npm install @letstok/dia-client // 使用示例 import { DIAClient } from '@letstok/dia-client'; // 初始化客户端 const client = new DIAClient({ apiKey: 'your_api_key', environment: 'production' }); // 异步使用 async function connectAgents() { try { // 创建连接 const connection = await client.connect({ initiatorDid: 'did:dia:user123', targetDid: 'did:dia:user456' }); // 监听事件 connection.on('message', (msg) => { console.log('New message:', msg); }); // 发送任务 const result = await connection.sendTask({ type: 'information_retrieval', query: '用户最近的兴趣变化' }); return result; } catch (error) { console.error('Error:', error); } }
Rust SDK
适用于高安全性要求的场景,提供最佳性能和内存安全保证。
// Cargo.toml // [dependencies] // letstok_dia = "0.1.0" // 使用示例 use letstok_dia::{DIAClient, ConnectionOptions, TaskType}; use std::time::Duration; fn main() -> Result<(), Box> { // 初始化客户端 let client = DIAClient::new("your_api_key")?; // 创建连接 let mut connection = client.connect(ConnectionOptions { initiator_did: "did:dia:user123".to_string(), target_did: "did:dia:user456".to_string(), timeout: Some(Duration::from_secs(30)), ..Default::default() })?; // 提交任务 let task = connection.create_task(TaskType::DataAnalysis, serde_json::json!({ "query": "分析用户行为模式", "time_range": "last_week" }) )?; // 等待结果 let result = task.wait_for_completion()?; println!("Task completed: {}", result.status); Ok(()) }