TokenDanceCode
更新于 2026-06-19

AgentHub SDK

为什么需要 SDK

当你需要在自己的 Node.js 应用或后台服务中嵌入 TokenDanceCode 的能力——而不是在终端里手动敲命令——SDK 就是你的入口。一个 TokenDanceCode 实例就是一个完整的对话引擎:创建线程、提交提示词、接收流式响应、处理权限审批,全部通过代码完成。

典型场景:

  • 在 AgentHub 中为团队成员启动远程编程会话
  • 构建自动化代码审查流水线,批量分析多个仓库
  • 在自定义 Chat UI 中嵌入 AI 编程能力
  • 编写脚本对一批项目执行相同的代码分析任务

快速开始

import { TokenDanceCode } from "@tokendance/code-sdk";

const client = new TokenDanceCode({
  storageRoot: "<agenthubProject>/.tokendance-code",
  env: process.env,
  eventSink(event) {
    console.log(event.type);
  }
});

const thread = client.startThread({
  workingDirectory: "<agenthubProject>",
  permissionMode: "default"
});

const turn = await thread.run("summarize this repo");

初始化时你需要指定存储根目录、环境变量(用于读取 API key 等配置)和事件接收器。startThread 创建一个对话线程,run 提交提示词并返回结果。

SDK 能力一览

能力用途
run() / runStreamed()提交提示词,同步或流式获取响应
context()查询当前对话的上下文状态
事件接收器(event sink)订阅文本增量、工具调用、权限请求等结构化事件
审批桥接将本地权限弹窗转发到 AgentHub 远程审批面板
doctor / config检查 API key 就绪状态,验证配置合法性
Transcript 管理搜索历史对话、管理会话生命周期
Task / Todo / Subagent 接口管理任务状态、待办项和子代理执行
OIDC PKCE 登录生成 TokenDanceID 的统一登录 URL

事件流协议

SDK 产生的事件流遵循结构化 schema:文本增量以 TranscriptBlock 形式到达,工具调用和结果通过 EvidenceRef 链关联,权限请求携带结构化决策负载。当 turn.failed 时,事件映射为 run.agent.resultsuccess=false

几点重要保证:

  • AgentHub 通过 TOKEN_DANCE_CODE_PACKAGE.agentHub.features 读取功能开关配置
  • 审批桥接使用 agenthub.approval.v1 决策通道,支持待审批快照、允许/拒绝、超时和重复决策保护
  • SDK 输出的 manifest 面向 UI 和启动日志,不含本地路径、密钥或私有工作区路径
在 GitHub 编辑此页