关于 ConnectSecure MCP
ConnectSecure MCP 是面向 MSP 的社区服务器和命令行工具,用于评估各客户租户的漏洞。它结合 API 操作与本地 SQLite 镜像,支持跨客户风险分析、资产关联和扫描盲区识别。
主要功能
- 01提供 ConnectSecure API 操作
- 02跨客户漏洞暴露风险排序
- 03分析 CVE 对客户和资产的影响
- 04报告扫描与 Agent 盲区
- 05本地 SQLite 镜像支持离线分析
适用场景
- 01按风险排列客户资产中的漏洞
- 02检查新披露的 CVE 影响哪些资产
- 03发现过期或不可靠的扫描覆盖
MCP 相关
MCP 服务向 MCP 客户端提供 ConnectSecure API 操作。README 建议使用默认的 stdio 传输,并提醒此版本不要使用 HTTP 模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ConnectSecure + AI - 适用于 ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini,以及任何支持 MCP 的 Agent
非官方。由社区构建的 Claude Code Skill 和 ConnectSecure API 的 MCP 服务。 与 ConnectSecure 无关联,也未获得其认可或赞助。
▶ 观看 30 秒演示 - 演示数据为模拟数据;展示的每条命令都存在于实际 CLI 中。
提供 ConnectSecure 的每项 API 操作,以及一个本地存储库,只需一条命令即可解答整个客户群中的漏洞 × 资产 × 客户相关问题。可与您已有的 AI 搭配使用 - ChatGPT(Plus/Pro+,此连接器重新发布前暂停;请参阅 mcp-install.md)、Claude Desktop、Codex、Claude Code、Claude Cowork 和 GitHub Copilot - 还可通过远程方式使用 Microsoft 365 Copilot / Copilot Studio 和 Google Gemini。免费、开源,可在笔记本电脑上运行。专为 MSP 所有者打造。无需编写代码。
适用于您的 Agent
安全提示(此连接器重新发布前)。 请勿运行 HTTP 模式 (
--transport http),即使是在 localhost 上也不行。此版本会检查令牌,但 早于修复版本,尚未加入请求大小和时间限制。MCP 工具也可以使用您的凭据进行 更改。请使用默认的 stdio 传输方式。如果您为远程 Agent 设置了隧道,请将其 关闭。修复版本即将推出。
MSP 所有者实际使用的六种 Agent(可自行安装,现已可用):
| 您的 AI Agent | 如何安装 ConnectSecure 技能 |
|---|---|
| Claude Desktop | 运行安装程序,然后前往 Settings > Extensions 注册 connectsecure-mcp(无需编辑 JSON)。 |
| ChatGPT(付费套餐) | 此连接器重新发布前暂停:ChatGPT 需要使用 HTTP 模式,而此版本的该模式虽然会检查令牌,但尚未加入请求大小或时间限制。请参阅 mcp-install.md 中的安全提示。 |
| Codex CLI | 粘贴下方的安装提示词。 |
| Claude Code | 粘贴下方的安装提示词。 |
| Claude Cowork | 粘贴下方的安装提示词。 |
| GitHub Copilot(VS Code) | 运行安装程序,在 mcp.json 的 servers 键下添加 connectsecure-mcp,然后选择 Agent 模式。 |
ChatGPT 需要远程 HTTPS 服务,这意味着必须使用此连接器的 HTTP 模式;该模式在连接器重新发布前暂停:此版本的该模式虽然会检查令牌,但尚未加入请求大小或时间限制。请参阅 mcp-install.md 中的安全提示。
也适用于 Microsoft 和 Google 技术栈
这些产品的安装量很大,但请注意:它们走的是远程 / 企业路径,而不是你刚刚安装的本地二进制程序。
| Agent | 所需条件 |
|---|---|
| Microsoft 365 Copilot / Copilot Studio | 暂停使用,等待重新发布此连接器:Copilot Studio 需要 HTTP 模式,而在此版本中,该模式会检查令牌,但尚未限制请求大小或时长。请参阅 mcp-install.md 中的安全说明。 |
| Google Gemini | Gemini CLI 在本地运行——与 Claude Code 相同。Gemini 应用在远程运行,需要使用与 ChatGPT 相同的暂停 HTTP 模式。请参阅 mcp-install.md。 |
原生支持 Skill 的 Agent(也在此涵盖): Hermes 和 OpenClaw 可直接读取此 Skill 的
SKILL.md,也支持 MCP——请参阅下方的安装章节。也可通过 MCP 与 Cursor、Windsurf、Cline、Continue.dev 和 Zed 搭配使用。各工具的完整连接设置说明:docs/which-agent.md。
要使用多个 Agent? 只需一条命令,即可为所有 51+ 个受支持的 Agent 完成安装:
npx skills add Servosity/msp-skills@latest(需要 Node.js,之后运行各 Skill 的安装程序以安装 CLI/MCP 二进制程序)。请参阅 docs/which-agent.md。
60 秒内完成安装
Claude Desktop 最快的安装方式——一键安装 .mcpb
下载 ConnectSecure MCP (.mcpb)——然后打开 Claude Desktop > Settings > Extensions 并选择该文件。一键完成,无需 JSON,也无需使用 Shell。(在 releases 页面浏览所有 ConnectSecure 版本。)
更喜欢 Claude Code 插件?添加一次市场,然后安装即可立即使用,无需列出目录:
/plugin marketplace add Servosity/msp-skills
/plugin install connectsecure@msp-skills
路径 A——向 AI Agent 粘贴一条提示词(推荐)
将以下内容复制到 Claude Code、Codex CLI 或 Claude Cowork 中:
在此 Agent 工作区中安装 Servosity/msp-skills 提供的 ConnectSecure Skill 和 MCP 服务。如果此工作区使用 POSIX Shell(macOS、Linux、WSL 或 Bash),请运行
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.sh)。如果使用 Windows PowerShell,请运行iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.ps1 | iex。然后按照 README 完成身份验证,并运行connectsecure-cli --help进行探索。
任何能够运行 Shell 的 Agent 都可以使用同一条提示词。
路径 B——自行运行安装程序
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.ps1 | iex
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.sh)
安装程序会将 connectsecure-cli(CLI)和 connectsecure-mcp(MCP 服务)安装到你的用户 bin 路径中。Claude Code、Codex 和 Cowork 会通过此目录中的 SKILL.md 发现该 Skill。
验证:
connectsecure-cli --version
升级到最新版本
安装程序始终会获取当前版本——重新运行即可升级:
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.sh)
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/connectsecure/install.ps1 | iex
Claude Desktop .mcpb 用户:下载最新的 .mcpb(位于本节顶部),然后在 Settings > Extensions 中重新选择该文件。Claude Code 插件用户:/plugin update connectsecure@msp-skills。
添加到 Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot 或其他 MCP 客户端
运行安装程序后,请参阅 mcp-install.md 和 docs/which-agent.md,了解各 Agent 的连接设置说明——每个 Agent 都有单独的章节,其中包括 GitHub Copilot 的 servers 键,以及 Microsoft 365 Copilot / Copilot Studio 的远程连接路径。使用 Claude Desktop 的 Settings > Extensions 面板最简单;mcp-install.md 中也记录了 MCP 配置代码块(适用于偏好编辑 JSON 的用户)。
为 Hermes 安装
在 Hermes CLI 中:
hermes skills install servosity/msp-skills/skills/connectsecure --force
在 Hermes 聊天会话中:
/skills install servosity/msp-skills/skills/connectsecure --force
Hermes 原生支持 MCP,因此也可以直接使用 connectsecure-mcp 服务——安装方式和环境变量相同。
为 OpenClaw 安装
告诉你的 OpenClaw Agent(复制以下内容):
从 https://github.com/servosity/msp-skills/tree/main/skills/connectsecure 安装 connectsecure 技能。该技能通过
openclaw:frontmatter 块定义如何安装其必需的 CLI(connectsecure-cli)。
OpenClaw 目前尚未普遍开放;frontmatter 配置已预先提供,并会在 OpenClaw 发布时立即启用。
身份验证
ConnectSecure 为每个租户单独托管在自己的 Pod 上,因此 CLI 需要你的 Pod URL,以及从门户获取的 API 客户端凭据(客户端 ID 和密钥位于 Settings > Users > (user) > API Key;Pod URL 位于 Profile > API Documentation):
export CONNECTSECURE_BASE_URL=https://pod<N>.myconnectsecure.com
export CONNECTSECURE_TENANT=<the tenant name you type at portal login>
export CONNECTSECURE_CLIENT_ID=<client id>
export CONNECTSECURE_CLIENT_SECRET=<client secret>
connectsecure-cli doctor
首次使用时,CLI 会用这些信息换取一个短时令牌(POST /w/authorize),并复用该令牌,最长不超过 30 分钟。如果你已有令牌,请设置 CONNECTSECURE_ACCESS_TOKEN 和 CONNECTSECURE_USER_ID,而不是租户、客户端 ID 和密钥。
doctor 会检查配置、路径和 API 连通性;设置好租户、客户端 ID 和密钥后,它还会生成令牌,因此错误的密钥会显示为 FAIL API: client init error: ConnectSecure rejected the credentials (HTTP 401)。即使如此,它仍会以 0 退出,因此脚本应添加 --fail-on error。使用 connectsecure-cli companies list --limit 1 这样的读取命令,可进行端到端检查。
提问前先同步
exposure、portfolio、blind-spots、suppression-audit 和 ad-hygiene 会读取本地镜像。请先填充一次:
connectsecure-cli sync
不带参数的 sync 只会通过 GET 请求读取一组精心挑选的 15 项资源(公司、资产、Agent、漏洞、修复、抑制、风险评分和 Active Directory 报告),并将它们写入你个人用户帐户下的 SQLite 文件。凭据记录、集成密钥和集成规则参数、定时作业(其行包含密码字段)、攻击面结果(其行包含 creds 和 hashes 字段)、自定义域名(出于谨慎考虑:其证书详情未公开说明)以及 Agent 卸载密钥都不会写入该文件;在 --resources 中指定这些资源会在发出任何请求前被拒绝,且不会存储任何内容(单独运行 sync --resources credentials 会以非零状态退出)。使用 connectsecure-cli sync --full 刷新:不带参数的再次运行只会添加和更新行,因此自上次同步后已修复的问题会继续留在镜像中(也会继续显示在 exposure 和 portfolio 中),直到运行 --full 清理为止。ConnectSecure 的 API 不支持增量筛选,因此 --full 读取的页面与不带参数的运行相同。当镜像的时间超过 --max-age(默认为 30 分钟)时,这些命令会发出警告。
此技能的功能
| MSP 经常提出的问题 | 命令 |
|---|---|
| 所有客户中,哪些未修复漏洞最有可能遭到利用? | connectsecure-cli exposure --min-epss 0.5 --severity Critical,High |
| 本周有哪些条目出现在 CISA 已知遭利用漏洞列表中? | connectsecure-cli exposure --kev --new-since 7d |
| 并排比较,哪些客户的风险最高? | connectsecure-cli portfolio --sort max-epss |
| 某个 CVE 刚刚上了新闻。它影响哪些客户和资产?有没有修复方案? | connectsecure-cli cve-impact "CVE-2024-3400" |
| 哪些资产的扫描数据不可信? | connectsecure-cli blind-spots --stale 14d --agent-stale 48h |
| 哪些抑制已过期、永不过期,或由提出申请的人批准? | connectsecure-cli suppression-audit --within 14d |
| 哪些客户有高风险的 Active Directory 账户或薄弱的密码策略? | connectsecure-cli ad-hygiene --stale-logon 90d --min-length 12 |
| 这位客户的 QBR 风险幻灯片应该包含什么? | connectsecure-cli qbr "Acme Dental" --since 90d |
| 我的身份验证和连接确实正常工作吗? | connectsecure-cli doctor |
完整命令参考:guide.md。AI Agent 操作约定(--agent、--dry-run、何时在执行变更前确认),请参阅 AGENTS.md。
有何不同
无状态的 ConnectSecure API 封装程序一次只能针对一位客户查询一个端点,且只能查看当前数据。MSP 实际提出的问题涉及多个客户:在全部 40 位客户的范围内,按资产级别列出所有未修复问题;显示新的 CVE 会影响哪些客户;列出所有扫描结果不可信的资产。ConnectSecure 的按客户划分的漏洞报告会列出客户名称,但受影响资产只显示 ID。因此,要从某个问题找到对应的机器、IP 和扫描状态,你原本得手动进行关联查询。
此技能会将一组精选的 ConnectSecure 报告同步到本地 SQLite 镜像,并为你完成关联查询。exposure 会将漏洞问题与资产和公司关联起来;portfolio 会将资产、问题、抑制项、超过 30 天仍未修复的问题和风险评分合并为每位客户一行;blind-spots 会交叉分析发现时间、扫描身份验证和 Agent 心跳数据——即时、离线完成,而且 AI 看到的是答案,而非原始数据。
有两个命令会刻意保持实时:cve-impact(CVE 报告加上按客户分组的按问题查询资产报告)和 qbr(单个客户的风险资料包)。这两个命令都会列出无法获取或无法归属的数据,而不是静默丢弃。与所有读取操作一样,它们的 GET 响应会在磁盘上缓存 5 分钟,因此在此时间窗口内重新运行会返回先前的答案;修复问题或设置抑制后,请立即添加 --no-cache。对于脚本:使用 --agent 时,分析命令、list / get、sync 和 doctor 会将输出封装为 {"meta": ..., "results": ...},因此请解析 .results;使用 --json 时,list / get 使用相同的封装格式,而 qbr 和 cve-impact 会在顶层输出报告对象。无论使用哪种模式,export 和 tail 都会以流的形式输出裸 JSON 记录。
解决的问题
“漏洞扫描几乎从来不会毫无问题,因此 MSP 往往要面对数十家客户的数千条发现结果”(ChannelPro,《漏洞太多,时间不够》,2026 年更新)。在同一篇文章中,ConnectSecure 的 CEO 将目标描述为:把 10,000 个漏洞缩减到未来 30 天内值得处理的 100 个。ConnectSecure 通过其门户中的 AI 就绪报告来实现这一点。此技能通过你已经在使用的 AI Agent 来解决同一个问题:
- 要在资产级别对所有客户端的发现结果排序,必须将每份报告中的资产 ID 与真实机器对应起来。
connectsecure-cli exposure会完成关联,并依次按 EPSS、CVSS 和已知遭利用状态排序。 - “哪些客户端受这个 CVE 影响?”需要查看两份报告,并手动按客户端分组。
connectsecure-cli cve-impact用一条命令就能给出答案,并指出修复方法。 - 对于数周未发现、扫描时未使用凭据,或其 Agent 已停止响应的资产,即使扫描结果干净,也只是未知,并不代表安全。
connectsecure-cli blind-spots会列出这些资产,并为每个资产提供一个原因代码。 - 已过期却从未解除、没有结束日期,或由申请人本人批准的抑制规则,会让真实发现结果从所有报告中消失。
connectsecure-cli suppression-audit会按风险从高到低标记这些规则。
更详细的说明请参阅 pain-point.md。
常见问题
这能与 ChatGPT 配合使用吗?
此版本不支持。ChatGPT(Plus、Pro、Team、Business、Enterprise 和 Education 计划;Free 计划目前尚未开放 Developer Mode)只能通过 HTTPS 连接到远程 MCP 服务,这意味着必须以 HTTP 模式运行 ConnectSecure MCP 服务。此版本的 HTTP 模式会检查令牌,但尚未限制请求大小或请求时长,因此在重新打印连接器之前,请勿运行它,也不要将它置于隧道后方。mcp-install.md 中的安全说明解释了原因。在此之前,请使用 Claude Desktop、Claude Code 或 Codex。
这能与 Codex、Cursor、Windsurf、Cline、Copilot 或 Gemini 配合使用吗?
可以——它们都支持 MCP。跨工具安装命令见上方的对照表,详细说明见 docs/which-agent.md。
我需要懂编程吗?
不需要。推荐的安装方式是在 Claude Code 或 Codex 中粘贴一句话——你的 Agent 会读取 SKILL.md 并完成安装。备用方式是针对每种操作系统使用一行安装程序(bash 或 PowerShell)。这两种方式都不需要编写代码。你只需输入一次 ConnectSecure 凭据。
我的 ConnectSecure 数据安全吗?
你的数据会保留在自己的机器上。CLI 和 MCP 服务都是本地二进制文件。SQLite 镜像和 API 响应缓存(每条响应会复用 5 分钟,并保留至被覆盖)存放在你用户帐户下的目录中。AI Agent 只能看到 CLI 返回的内容,通常是查询结果,而不是原始批量数据。凭据从你的环境或 Agent 配置中读取;MSP Skills 绝不会将凭据打包到此仓库中或传输到任何地方。
在哪里可以找到 Pod URL 和 API 凭据?
在 ConnectSecure 门户中,Settings > Users > (user) > API Key 会显示客户端 ID 和客户端密钥,Profile > API Documentation 会显示你的 Pod URL(https://pod<N>.myconnectsecure.com)。租户名称就是你在门户登录界面输入的名称。每个租户都位于自己的 Pod 上,因此没有可用的默认 URL——如果缺少 CONNECTSECURE_BASE_URL,doctor 会告知你。
这会触及我的 ConnectSecure API 速率限制吗?
影响很小。sync 会读取一组精选报告一次并将其存储在本地;之后,exposure、portfolio、blind-spots、suppression-audit 和 ad-hygiene 都会从该镜像读取数据,不会调用 API。qbr 和 cve-impact 会调用实时 API,GET 响应会在磁盘上缓存 5 分钟(--no-cache 会强制发起新请求);cve-impact 最多读取 --max-pages 页受影响资产,每页 100 条。默认情况下,CLI 会根据服务端的速率限制响应头控制请求频率(--rate-limit)。
它会存储我的扫描凭据吗?
不会。凭据记录(扫描使用的域和 SSH 账户)、集成密钥和集成规则参数、计划作业(其行包含密码字段)、攻击面结果(其行包含凭据和哈希字段)、自定义域(出于谨慎考虑:其证书详情尚无文档说明)以及 Agent 卸载密钥,都不会写入本地镜像或 HTTP 响应缓存——无论是单独运行 sync、运行 workflow archive,还是运行 sync --resources credentials 都不会;后者不会存储任何内容,并会按设计以非零状态码退出。这些内容只会返回给请求它们的命令或 Agent,因此下文将这些读取操作归入凭据层。特意例外的是,对这些资源执行 export(export credentials、export integration_credentials、export integration_rules、export scheduler、export attack_surface_results、export custom_domains)时,会将你明确请求的内容原样打印到 stdout,或写入你通过 -o 指定的文件;对这些资源执行 tail 时,也会将每次轮询的结果打印到终端。要创建或更新凭据、集成凭据、集成规则或计划作业,请通过 stdin 传入 JSON 请求体并使用 --stdin(包装为 {"data": {...}},与标志形式下 --dry-run 显示的结构相同;--stdin 会原样发送内容),而不要使用 --data-params / --data-integration-params / --data-password,这样密钥就不会出现在进程参数和 shell 历史记录中;custom-domains create 则通过文件路径传入私钥(--ssl-privkey <file>)。CLI 自身的 API 令牌会缓存在你的用户缓存目录中(仅所有者可访问),最长缓存 30 分钟。
它会取代 ConnectSecure 门户吗?
不会。扫描、修复、Agent 部署和品牌化客户端报告仍在门户中完成。这项技能让你的 AI 能够回答那些需要你在门户中逐项点击才能解答的跨客户端问题——暴露风险排名、CVE 影响范围、盲点、抑制规则卫生状况和 AD 卫生状况。
费用是多少?
免费,采用 Apache-2.0 许可证。你只需为使用的 AI Agent 付费(Claude、ChatGPT、Codex 等);费用由你的 AI 提供商收取,而不是我们。
安全模型
| 层级 | 示例 | 建议的 Agent 策略 |
|---|---|---|
| 读取 | exposure、portfolio、blind-spots、suppression-audit、ad-hygiene、qbr、cve-impact、sync、search,以及所有 list / get ,但以下凭据读取除外 | 允许 |
| 写入(常规) | tags create、tag-rules update、companies update、custom-profile create、report-builder create-job、report-builder 上传项(update-cover-page、update-standard-report-settings、upload-template),以及下文未列入其他层级的所有 create / update | 使用 --dry-run 预览,然后执行经审核的写入 |
| 凭据 / 安全 | credentials list / get / create / update、integration-credentials list / get / create / update(存储的扫描和集成密钥以明文形式返回)、integration-rules list / get / create / update、attack-surface-results list / get(creds 和 hashes 字段)、agents uninstall-secret、scheduler list / get / create / update(任务行和正文中包含密码字段)、custom-domains list / get / create(TLS 证书详情;创建时会上传私钥)、agent-credentials-mapping create / update(扫描 Agent 使用哪些凭据)、company-mappings create / update(客户端使用哪个集成凭据)、export credentials / integration_credentials / integration_rules / scheduler / attack_surface_results / custom_domains、对上述任一项使用 tail、session、auth set-token | 仅限人在环路中操作,不得采用一概允许所有读取的策略 |
| 影响端点 / 安全态势 | patching patch-now(别名 patching create;会将补丁推送到真实客户端计算机)、scheduler create / update / update-schedule(可安排在整个租户范围内强制重启后应用补丁)、companies scan、companies external-scan(启动对客户端网络或其公网地址的扫描)、agents reset(别名 agents create;将 Agent 移至其他公司)、suppress-vulnerability create / update(从所有报告中隐藏一项发现)、discovery-settings、application-baseline-rules、pii-scan-settings、agent-discoverysettings-mapping 和 attack-surface-domain 的 create / update(更改扫描和报告的内容)、assets create / update(选择资产的扫描凭据和发现设置,或将其弃用以移出报告) | 仅限人在环路中操作,并须明确确认 |
| 破坏性操作 | 所有 delete(companies、assets、credentials 及另外 19 项)、assets bulk-deprecate、scheduler remove-schedule、import(文件中每行都会执行一次写入) | 仅限人在环路中操作,并须明确确认 |
对于使用 MCP 服务的 Agent,请设置 CONNECTSECURE_MCP_READ_ONLY=1:服务随后会拒绝所有非 GET 调用,并禁用 sync、export、import 和 tail。它仍会响应 GET 调用,包括凭据读取,因此不能替代对 API 用户权限范围的限制。具有 Shell 访问权限的 Agent 还可以在任意 CLI 命令中添加 --deliver webhook:<url>,将命令输出发送到该 URL;MCP 服务不会向工具调用开放 --deliver。MCP 工具也不会接收本地文件路径供 CLI 读取(teach / teach-playbook 的备注和 playbook 文件、import --input、custom-domains create 的证书和密钥、report-builder 上传项);请通过 CLI 运行这些操作。
最有效的控制措施是授予 ConnectSecure 凭据的权限范围——CLI 只能执行这些凭据获准执行的操作。完整详情(包括如何限制权限)请参阅 governance.md。
状态
Beta 版。已根据 ConnectSecure API 接口进行验证,并正在每周 Build Sessions 中,与使用自有生产租户运行此工具的 MSP 一起进行验证。在 compoundingteams.com/build-sessions RSVP。
标准。 符合开放的 Agent Skills 规范(Anthropic,2025 年 12 月;支持 40 多种 Agent)。兼容 MCP——可与任何支持 MCP 的 Agent 搭配使用,包括 Hermes。已准备好支持 OpenClaw(frontmatter 已预先配置,等待 OpenClaw 发布)。
由 Servosity 维护。采用 Apache-2.0 许可。使用 CLI Printing Press 构建。最后更新:2026-10-13。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。