{"_id":"@baiducloud/qianfan-mutil-agent","_rev":"12-2bb56ea2b87f420b96dff2f68173eeb6","name":"@baiducloud/qianfan-mutil-agent","dist-tags":{"beta":"0.1.0-beta.1","latest":"0.1.0"},"versions":{"0.1.0-beta.0":{"name":"@baiducloud/qianfan-mutil-agent","version":"0.1.0-beta.0","keywords":["qianfan","sse","server-sent-events","message-protocol","streaming","ai","llm"],"license":"MIT","_id":"@baiducloud/qianfan-mutil-agent@0.1.0-beta.0","maintainers":[{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"xiaojiaolv","email":"dfsq757@sina.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"qianchuan","email":"qianchuan.deng@gmail.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"dist":{"shasum":"187941e5e1262b0f578462c23298291793d64b6a","tarball":"https://registry.npmjs.org/@baiducloud/qianfan-mutil-agent/-/qianfan-mutil-agent-0.1.0-beta.0.tgz","fileCount":5,"integrity":"sha512-/KnM7vMWhp58VOmtBeMEoeBeJXF/Xj9xC4P4eI5q5/l80xKcKHS1jTJ8mjvMRcIBdK2o5NnyjPmIAGkVMezX+g==","signatures":[{"sig":"MEUCIQDUkqfSvIY3m6GtB8Y2kJcsVyezb0ba7SNwRUCZqcpplQIgecTGMR8O8OS4LOr+LYAVkMO9vhKHND02uSox9i7j7i8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104260},"main":"./dist/esm/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js"}},"gitHead":"f4d4074fa9bfcc50ecbed2c6fe1b45b17c2e7ba2","private":false,"scripts":{"build":"npx rslib build"},"_npmUser":{"name":"howie126313","email":"howie126313@gmail.com"},"_npmVersion":"10.8.2","description":"Qianfan SSE message protocol SDK - parse and handle streaming AI responses","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"ky":"^1.0.0","@baidu/ky-sse-hook":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/qianfan-mutil-agent_0.1.0-beta.0_1768478432365_0.8581679322646305","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.1":{"name":"@baiducloud/qianfan-mutil-agent","version":"0.1.0-beta.1","keywords":["qianfan","sse","server-sent-events","message-protocol","streaming","ai","llm"],"license":"MIT","_id":"@baiducloud/qianfan-mutil-agent@0.1.0-beta.1","maintainers":[{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"xiaojiaolv","email":"dfsq757@sina.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"qianchuan","email":"qianchuan.deng@gmail.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"dist":{"shasum":"1022f7595e01231f1e6283a031a67a451ad2cb2d","tarball":"https://registry.npmjs.org/@baiducloud/qianfan-mutil-agent/-/qianfan-mutil-agent-0.1.0-beta.1.tgz","fileCount":5,"integrity":"sha512-mtK2sis0hzopCWlM7RQMSAmDBXLtP9TNUQbFzSrdCQzMp5OLw3+uLj4yKR7dCwoVJy2lz7P3j2K2ItAOt9jFoQ==","signatures":[{"sig":"MEQCIApvRXPdO0IVXxQ8vMiLbAXFXM8pw/lGOdEiDHAWOJ0GAiBgRVpXV5S3ynN4TXcadJTfpdCf/cAXok+NLdsobo8sDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104806},"main":"./dist/esm/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js"}},"gitHead":"f4d4074fa9bfcc50ecbed2c6fe1b45b17c2e7ba2","private":false,"scripts":{"build":"npx rslib build"},"_npmUser":{"name":"howie126313","email":"howie126313@gmail.com"},"_npmVersion":"10.8.2","description":"Qianfan SSE message protocol SDK - parse and handle streaming AI responses","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"ky":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/qianfan-mutil-agent_0.1.0-beta.1_1768478805967_0.3276269048859657","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@baiducloud/qianfan-mutil-agent","version":"0.1.0","keywords":["qianfan","sse","server-sent-events","message-protocol","streaming","ai","llm"],"license":"MIT","_id":"@baiducloud/qianfan-mutil-agent@0.1.0","maintainers":[{"name":"xinc123","email":"xinc12358@gmail.com"},{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"dist":{"shasum":"5487c81ef25598f95b26a1ab5ab4475f92fcb153","tarball":"https://registry.npmjs.org/@baiducloud/qianfan-mutil-agent/-/qianfan-mutil-agent-0.1.0.tgz","fileCount":5,"integrity":"sha512-bygZwLwNLn7QSTuwv5/5chWdlYxWq3m6ayed04o78pvDFpiBGCz9o64EaQHdpd8ynDrk5GfdLBcHwXJWRo73qg==","signatures":[{"sig":"MEUCIAVu8ltrdSHY11jcQhMXy+MmuojFcI1aBjIEcSzsXFFMAiEA2n+veflV+cIdV8UxAKMfMC5OBjVNwpBD51ziA18ivqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105078},"main":"./dist/esm/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js"}},"gitHead":"f4d4074fa9bfcc50ecbed2c6fe1b45b17c2e7ba2","scripts":{"build":"npx rslib build"},"_npmUser":{"name":"howie126313","email":"howie126313@gmail.com"},"_npmVersion":"10.9.4","description":"Qianfan SSE message protocol SDK - parse and handle streaming AI responses","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"ky":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/qianfan-mutil-agent_0.1.0_1770022810833_0.5027524290256531","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-15T12:00:32.304Z","modified":"2026-09-09T12:33:08.001Z","0.1.0-beta.0":"2026-01-15T12:00:32.521Z","0.1.0-beta.1":"2026-01-15T12:06:46.109Z","0.1.0":"2026-02-02T09:00:10.966Z"},"license":"MIT","keywords":["qianfan","sse","server-sent-events","message-protocol","streaming","ai","llm"],"description":"Qianfan SSE message protocol SDK - parse and handle streaming AI responses","maintainers":[{"email":"siddenly@live.com","name":"siddenly"},{"email":"zxxself@126.com","name":"daxiongz"},{"email":"xinc12358@gmail.com","name":"xinc123"},{"email":"bce-cfc-dev@baidu.com","name":"bce-cfc-dev"},{"email":"yangwei9012@163.com","name":"yangwei9012"},{"email":"lurunze@hotmail.com","name":"lurunze"},{"email":"leophen@foxmail.com","name":"leophen"},{"email":"aaa919938949@gmail.com","name":"mingliuyiming"},{"email":"wangyuzhen01@baidu.com","name":"wangyuzhen01"},{"email":"390816673@qq.com","name":"willghy"},{"email":"howie126313@gmail.com","name":"howie126313"},{"email":"zhangchi951221@gmail.com","name":"sanderhoff"},{"email":"kaloklxc@gmail.com","name":"kaloklxc-pixel"},{"email":"chenxuejin512@gmail.com","name":"chenxuejin"},{"email":"tjdl102306@gmail.com","name":"tjdl102306"}],"readme":"# @baiducloud/qianfan-mutil-agent\n\n千帆 SSE 消息协议 SDK，用于解析和处理 AI 流式响应。\n\n## 安装\n\n```bash\nnpm install @baiducloud/qianfan-mutil-agent\n```\n\n## 快速开始\n\n### 基础用法\n\n```typescript\nimport {\n    Executor,\n    FetchSSETransport,\n    TreeView,\n    ChatEvent,\n    ThoughtEvent,\n    ToolCallEvent\n} from '@baiducloud/qianfan-mutil-agent';\n\n// 创建传输层\nconst transport = new FetchSSETransport({\n    endpoint: new URL('https://api.example.com/chat'),\n    header: {\n        'Authorization': 'Bearer your-token'\n    },\n    timeout: 60000\n});\n\n// 创建执行器\nconst executor = new Executor({\n    transport,\n    views: [TreeView],\n    events: [ChatEvent, ThoughtEvent, ToolCallEvent]\n});\n\n// 执行请求\nconst response = executor.invoke({\n    query: 'Hello, AI!'\n});\n\n// 获取视图并迭代结果\nconst treeView = response.getView(TreeView);\n\nfor await (const node of treeView) {\n    console.log(node);\n}\n```\n\n### 使用 XHR 传输层\n\n```typescript\nimport {\n    Executor,\n    XHRSSETransport,\n    TreeView\n} from '@baiducloud/qianfan-mutil-agent';\n\nconst transport = new XHRSSETransport({\n    endpoint: new URL('https://api.example.com/chat')\n});\n\nconst executor = new Executor({\n    transport,\n    views: [TreeView]\n});\n\nconst response = executor.invoke({ query: 'Hello' });\n```\n\n### 处理事件\n\n```typescript\nimport {\n    Executor,\n    FetchSSETransport,\n    TreeView,\n    ChatEvent,\n    ToolCallEvent,\n    RAGEvent\n} from '@baiducloud/qianfan-mutil-agent';\n\nconst executor = new Executor({\n    transport: new FetchSSETransport({\n        endpoint: new URL('https://api.example.com/chat')\n    }),\n    views: [TreeView],\n    events: [ChatEvent, ToolCallEvent, RAGEvent]\n});\n\nconst response = executor.invoke({ query: 'Search something' });\n\n// 监听消息\nresponse.eventTarget.addEventListener('message', () => {\n    for (const event of response.events) {\n        if (event instanceof ChatEvent) {\n            console.log('Chat:', event.content);\n        } else if (event instanceof ToolCallEvent) {\n            console.log('Tool:', event);\n        }\n    }\n});\n```\n\n### 取消请求\n\n```typescript\nconst abortController = new AbortController();\n\nconst response = executor.invoke(\n    { query: 'Hello' },\n    { abortController }\n);\n\n// 取消请求\nsetTimeout(() => {\n    abortController.abort();\n}, 5000);\n```\n\n## API\n\n### 核心类\n\n| 导出 | 说明 |\n|------|------|\n| `Executor` | 执行器，管理请求和响应 |\n| `ExecutionResponse` | 执行响应，包含事件和视图 |\n| `ExecutionEvent` | 执行事件基类 |\n| `EventMessage` | SSE 消息封装 |\n| `ExecutionError` | 错误类型 |\n\n### 传输层\n\n| 导出 | 说明 |\n|------|------|\n| `FetchSSETransport` | 基于 Fetch API 的 SSE 传输层 |\n| `XHRSSETransport` | 基于 XMLHttpRequest 的 SSE 传输层 |\n| `ITransport` | 传输层接口 (类型) |\n\n### 事件插件\n\n| 插件 | action | resource | 说明 |\n|------|--------|----------|------|\n| `ChatEvent` | chat | - | 聊天对话事件 |\n| `ThoughtEvent` | thought | - | 思考过程事件 |\n| `ToolCallEvent` | toolcall | - | 工具调用事件 |\n| `RAGEvent` | tools | knowledge | 知识库检索事件 |\n| `DatabaseEvent` | tools | database | 数据库查询事件 |\n| `DataSheetEvent` | tools | database_sheet | 数据表事件 |\n| `FileParserEvent` | tools | file_parser | 文件解析事件 |\n| `DeepSearchStepEvent` | deep_search | - | 深度搜索步骤事件 |\n\n### 视图层\n\n| 导出 | 说明 |\n|------|------|\n| `BaseView` | 视图基类 |\n| `TreeView` | 树形结构视图 |\n| `ToolUseView` | 工具使用视图 |\n| `IView` | 视图接口 (类型) |\n\n### 聚合规则\n\n| 导出 | 说明 |\n|------|------|\n| `AggregateRule` | 聚合规则基类 |\n| `defaultAggregatePresets` | 默认聚合规则预设 |\n| `multiAgentAggregatePresets` | 多 Agent 聚合规则预设 |\n| `assistantAgentAggregatePresets` | Assistant Agent 聚合规则预设 |\n| `IAggregateRule` | 聚合规则接口 (类型) |\n\n### 内容聚合策略\n\n| contentType | 聚合策略 |\n|-------------|---------|\n| `text` | 字符串拼接 |\n| `code` | 字符串拼接 |\n| `json` | 对象替换 |\n| `audio` | 对象替换 |\n| `chart` | 对象替换 |\n| `files` | 数组合并 |\n| `image` | 数组合并 |\n| `references` | 数组合并 |\n| `urls` | 数组合并 |\n\n## 依赖\n\n该包依赖以下库（会自动安装）：\n\n- `ky` - HTTP 客户端\n- `@baidu/ky-sse-hook` - SSE 响应处理钩子\n","readmeFilename":"README.md"}