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(())
}
                            

完整文档

我们提供详细的API文档,帮助开发者充分利用Let's Tok的功能。