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.result 且 success=false。
几点重要保证:
- AgentHub 通过
TOKEN_DANCE_CODE_PACKAGE.agentHub.features读取功能开关配置 - 审批桥接使用
agenthub.approval.v1决策通道,支持待审批快照、允许/拒绝、超时和重复决策保护 - SDK 输出的 manifest 面向 UI 和启动日志,不含本地路径、密钥或私有工作区路径