# 【发布】dtns协议的js-sdk

# dtns协议简介

dtns协议是用于dtns.network分布式智体网络的通讯协议。主要目标是将各个独立的智体节点,通过dtns协议(dtns.network)连接在一起,以便实现方便的高效智体协作(agent-to-agent协议)。

# 主要功能

  1. 节点发现

与www互联网协议一样,dtns协议全称是decentralized token name service(去中心化的令牌名称查询服务网络)。主要的public智体节点注册管理归dtns.network,以实现dtns.os的智体节点网络互联。

  1. 节点通讯

使用dtns://协议,与使用http协议一样,方便地实现连接。但dtns协议未定义数据链路层,具备使用什么样的通讯协议(目前可采用webrtc、websocket、http,后续还可以增加更多的网络通讯协议作为数据链路:目前已提供了rt-datalink的插件,用来实现智体节点提供websocket的协议接入)。

兼容http开发的实时通讯网络:协议上高度兼容http的协议开发。但由于主通讯协议采用的是webrtc通讯协议。所以天然具备实时通讯、多模态支持、e2ee支持。更安全更可靠。

DID:基于dtns.network的数据存储和数据协议底层dnalink基因链,故内置集成了安全可靠的分布式身份认证机制DID。

  1. 节点类型

loc本机、dev节点、public公开访问的节点(dtns.network上注册)

# 如何使用

  1. 使用DTNSManager

在js-sdk中,可使用 g_dtnsManager.run('dtns://web3:nodename/api-path',params)来轻松实现连接和访问dtns-api。

  1. rpc_client

在js-sdk中,不建议直接使用rpc_client。这个更底层。通常直接使用DTNSManager来进行dtns协议的智体节点连接。并形成单实例的连接池。

  1. 开源代码

可参考dtns.fastdown的高效FCDN分布式下载器代码,来集成dtns协议的JS-SDK。详见github代码仓库。

# ai-agent的通讯

基于dtns协议可轻松实现ai-agent的智体单协作,通讯是实时的,并且发现、管理、通讯都是非常方便的(比使用http还方便)。集成度高,还有开源开放的DID身份认证标准,只需使用ecc-key密钥,即可轻松完成密钥验证。

ai-agent案例:dtns.network上的loc节点、dev节点和public节点,均已是互联互通的dtns协议下的智体节点。

# dtns.connector

由于dtns.connector是智体OS(dtns.network)的客户端,通过智体IB(智体聊)页面,可直接使用分号前缀;来实现dtns协议的api测试:

;dtns://web3:nodename/rtibchat/help

输出为:

智体聊的帮助说明json结果。

# 对话agent

在对话agent中,定义的system-role(使用#系统角色#作为首个对话内容)可在其中定义poplang.agent或poplang.ai.agent代码块,通过poplang代码来定义一个强大的ai-agent。参考官网的用户案例中心的相关案例(例如《嘴炮导航》、poplang的LLM大模型中文编译器等案例)

poplang代码中可使用类似下述的dtns-api来实现访问dtns.network上的智体节点:

  1. 跨网络的远程智体节点访问

dtns://web3:{other-nodename}/rtibchat/help

注:可在当前的智体节点,使用poplang轻松访问任意的其它的智体节点。

  1. 此节点的访问

/rtibchat/help

注:省略前述的dtns://web3:nodename的前缀(这个前缀是用来导航或寻址dtns.os智体节点的)

# 发现ai-agent

目前暂未定义发现其它dtns.os智体节点的协议。主要靠dtns.network的public节点来实现发现。

支持各智体节点,作为agent-host来对外提供智体节点的prompt描述,以便方便地集成到其它的智体节点中,从而实现专业的ai-agent.store智体应用商店。

更新于:2025-4-11

# 下载dtns协议JS-SDK

智体OS官网 https://www.dtns.top (opens new window)

查看文档(下载) https://dtns.top (opens new window)

下载链接:https://dtns.top/fastdown/fastdown.html?dtns%3A%2F%2Fweb3%3Ajobs3d%2Ffile%3Ffilename%3Dobj_filefile9xAmfVqU (opens new window)