关于 TeamSpark AI Workbench
TeamSpark AI Workbench(TsAgent)是用于创建、测试、编排和部署 AI Agent 的 TypeScript 优先平台。它面向开发者和无代码使用者,提供桌面应用、命令行、API 与 Agent 服务端。
主要功能
- 01可视化无代码创建 Agent
- 02用于 Agent 的 TypeScript API
- 03支持多种 LLM 提供商
- 04通过规则和引用保存上下文
- 05使用 A2A 编排 Agent
- 06通过服务端和应用部署 Agent
适用场景
- 01在桌面应用或命令行中创建 Agent
- 02以编程方式构建和测试 Agent
- 03在 A2A 工作流中串联 Agent
- 04将 Agent 部署为端点或应用组件
MCP 相关
TsAgent 提供用于编排 A2A Agent、暴露 Agent 工具以及管理 Agent 和 MCP 服务设置的 MCP 服务。Agent 也可以使用 MCP 工具。
详细介绍
TsAgent:TypeScript Agent 平台
TsAgent 是一个开源、以 TypeScript 为先的平台,用于构建、测试、运行和编排 AI Agent。它提供完整的生态系统,涵盖用于无代码创建 Agent 的桌面应用和命令行应用,以及可用于生产环境的 Agent 服务端,所有功能均由 TypeScript API 提供支持。
更多信息,请参阅 TeamSpark 的 TsAgent 网页。
什么是 TsAgent?
TsAgent 是一个全面的平台,让任何人都可以:
- 构建 Agent:通过可视化界面(Foundry)、命令行或 API 创建无代码 AI Agent
- 支持任何提供商:使用所有主流大模型提供商,包括云端、托管和本地提供商(OpenAI、Anthropic、Google、AWS Bedrock、Ollama)
- 管理上下文:使用引用(记忆、真实依据)和规则(提示词指导),为 Agent 提供持久知识
- 集成工具:通过支持模型上下文协议(MCP)连接数千种工具
- 编排工作流:使用 A2A(Agent-to-Agent)协议将 Agent 串联起来
- 大规模部署:将 Agent 作为 A2A 端点、面向代码编辑器的 ACP 服务端公开,或将其嵌入任何 TypeScript/Javascript 应用程序
平台组件
| 组件 | 包名称 | 提供方式 | 描述 |
|---|---|---|---|
| Core API | @tsagent/core | TypeScript 库 | 用于以编程方式构建、测试和运行 Agent 的 TypeScript Agent 框架 |
| Foundry | (无 npm 包) | 桌面应用 | 用于创建、测试和管理 Agent 的无代码桌面应用 |
| CLI | @tsagent/cli | CLI 工具 | 用于 Agent 操作和自动化的命令行界面 tsagent |
| A2A Server | @tsagent/server | API/CLI | 用于将 Agent 作为 HTTP 端点公开的 A2A 协议服务端 tsagent-server |
| ACP Server | @tsagent/acp-server | ACP 服务端 | 用于通过 stdio 向代码编辑器公开 Agent 的 ACP(Agent Client Protocol)服务端 tsagent-acp-server |
| A2A Orchestrator | @tsagent/orchestrator | MCP 服务 | 用于编排 A2A Agent 服务端的 MCP 服务 tsagent-orchestrator |
| Meta MCP | @tsagent/meta-mcp | MCP 服务 | 将带有导出工具的 Agent 作为具有认知层的 MCP 工具公开的 MCP 服务 tsagent-meta-mcp |
| Agent Management MCP | @tsagent/agent-mcp | MCP 服务 | 用于管理 TsAgent Agent 的 MCP 服务(创建、配置、管理规则、引用、工具、提供商和 MCP 服务) tsagent-agent-mcp |
| TsAgent Foundry | TsAgent CLI |
|---|---|
![]() | ![]() |
安装
TsAgent Foundry - 桌面应用
下载适用于您平台的预构建安装程序:
TsAgent CLI 和开发者工具(NPM 包)
# Install all developer tools
npm install @tsagent/core @tsagent/cli @tsagent/server @tsagent/acp-server @tsagent/orchestrator @tsagent/meta-mcp @tsagent/agent-mcp
# Or install individual components
npm install @tsagent/core # Just the TypeScript library
npm install @tsagent/cli # Just the CLI tool
npm install @tsagent/server # A2A protocol server (HTTP)
npm install @tsagent/acp-server # ACP server (stdio for code editors)
npm install @tsagent/meta-mcp # MCP server for Tools agents
npm install @tsagent/agent-mcp # MCP server for agent management
快速入门
创建您的第一个 Agent
启动 TsAgent Foundry 桌面应用(下载并安装后)。
或者,通过将 Agent 文件路径作为位置参数传递,通过 CLI 创建 Agent。使用 --create 创建新的 Agent。
npx @tsagent/cli ./my-agent.yaml --create
# or with the tsagent command if installed globally
tsagent ./my-agent.yaml --create
以编程方式使用 Agent
import { loadAgent } from '@tsagent/core';
// Load an existing agent
const agent = await loadAgent('./my-agent.yaml', logger);
// Create a chat session
const session = agent.createChatSession('session-1');
// Send a message
const response = await session.handleMessage('Hello, how can you help me?');
console.log(response.updates[1].modelReply);
将 Agent 部署为服务
# Start an A2A server (for Autonomous agents)
# Option 1: Direct server binary
npx @tsagent/server /path/to/agent.yaml --port 3000
# or if installed globally
tsagent-server /path/to/agent.yaml --port 3000
# Option 2: Via CLI launcher
tsagent --a2a /path/to/agent.yaml --port 3000
# or with npx
npx @tsagent/cli --a2a /path/to/agent.yaml --port 3000
# Your agent is now available at http://localhost:3000
通过 ACP(Agent Client Protocol)公开 Agent
# Start an ACP server for code editor integration (like Zed)
# Option 1: Direct server binary
npx @tsagent/acp-server /path/to/agent.yaml
# or if installed globally
tsagent-acp-server /path/to/agent.yaml
# Option 2: Via CLI launcher
tsagent --acp /path/to/agent.yaml
# or with npx
npx @tsagent/cli --acp /path/to/agent.yaml
# The agent is now available via stdio for ACP-compatible code editors
# Configure in your code editor's ACP settings
将工具型 Agent 公开为 MCP 工具
# Start a Meta MCP server (for Tools agents)
# Option 1: Direct server binary
npx @tsagent/meta-mcp /path/to/tools-agent.yaml
# or if installed globally
tsagent-meta-mcp /path/to/tools-agent.yaml
# Option 2: Via CLI launcher
tsagent --mcp /path/to/tools-agent.yaml
# or with npx
npx @tsagent/cli --mcp /path/to/tools-agent.yaml
# The agent's tools are now available as MCP tools
# Configure in Claude Desktop or other MCP clients
通过 MCP 管理 Agent
# Start the Agent Management MCP server
npx @tsagent/agent-mcp
# or if installed globally
tsagent-agent-mcp
# Provides tools to create, configure, and manage agents
# Configure in Claude Desktop or other MCP clients
密钥管理和 1Password 支持
- 密钥字段(以及 API 密钥 ID 等“凭据”字段)可以存储直接值、环境变量或 1Password 引用。
.env文件会从当前工作目录和 Agent 目录加载(Agent 目录中的.env优先级高于 CWD 中的.env,两者都会覆盖初始的process.env值),因此您可以根据需要将特定提供商的密钥保存在各 Agent 附近。- 当环境中存在
OP_SERVICE_ACCOUNT_TOKEN或OP_CONNECT_TOKEN时,会自动启用 1Password 支持(使用 Connect 时,您也可以设置OP_CONNECT_HOST,以覆盖默认值 localhost:8080)。这些值也可以保存在相同的.env文件中。 - 1Password 可用时,桌面 UI 可让您为每个密钥字段选择 Direct、Environment Variable 或 1Password,并提供选择器来浏览保管库/项目/字段(返回标准的
op://引用)。 - 在运行时和提供商验证期间,TsAgent 会解析
env://和op://值,然后再将配置传递给提供商。 - 凭据绝不会以明文形式记录或存储。
Agent 属性和功能
Agent 具有决定其行为的 autonomous 属性:
- 交互式 Agent(
autonomous: false):保留对话历史,并可请求用户许可后使用工具。会话可在交互模式和自主模式之间切换。 - 自主 Agent(
autonomous: true):独立处理请求并返回完整结果,无需用户交互。所有会话都必须为自主模式。通过 A2A 协议公开,以支持 Agent 间通信。
Agent 还可以导出功能:
- 导出的技能:通过 A2A 协议公开 Agent,以支持 Agent 间通信。
- 导出的工具:通过 Meta MCP 服务将 Agent 的功能作为 MCP 工具提供(每次工具调用都会通过无头聊天会话执行提示词模板)。
任何 Agent 都可以通过 TsAgent Orchestrator MCP 服务编排其他 Agent(无论自身是交互式还是自主式)。具有导出工具的 Agent 可通过 Meta MCP 服务公开,从而作为工具提供给其他 Agent 或 MCP 客户端。
开发工作流
- 创建 Agent - 使用 TsAgent Foundry 桌面应用或 CLI,以无代码方式创建 Agent
- 构建 Agent - 编写提示词、设计上下文(规则/参考资料),并添加相关 MCP 工具
- 测试 Agent - 与您的 Agent 对话,以改进其行为
- 编排 - 使用 A2A 协议将多个 Agent 串联起来
- 部署 - 通过
@tsagent/coreAPI 将 Agent 嵌入应用,或将 Agent 公开为 A2A 服务
许可证
本项目采用 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
贡献
欢迎贡献!详情请参阅我们的贡献指南。
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。

