戰(zhàn)指南)
人工智能AI Agent多智能體MCP 服務(wù)工具調(diào)用瀏覽器控制【免費(fèi)下載鏈接】hiveMulti-Agent Harness for Production AI項(xiàng)目地址https://gitcode.com/gh_mirrors/hive48/hive點(diǎn)擊查看免費(fèi)下載Zendesk Tool 是 Hive 倉庫中 Aden Tools 套件的一員它通過 FastMCP 協(xié)議將 Zendesk Support API 封裝為 8 個可被 AI Agent 直接調(diào)用的工具覆蓋工單的列出、查看、創(chuàng)建、更新、搜索、評論管理以及用戶列表查詢。本文以 tools/src/aden_tools/tools/zendesk_tool/README.md 為骨架結(jié)合 zendesk_tool.py 的源碼實(shí)現(xiàn)與測試用例講解從憑據(jù)配置到真實(shí)調(diào)用的完整鏈路讀完即可在自有 Agent 工作流中接入 Zendesk 工單自動化。工具總覽8 個 MCP 工具覆蓋工單全生命周期Zendesk Tool 的核心定位是Ticket management, comments, user listing, and search via the Zendesk Support API即圍繞 Zendesk 工單系統(tǒng)提供增、查、改、搜的完整能力。所有工具都以zendesk_前綴命名通過 MCP 暴露給 Agent與 Aden Tools 中其他 SaaS 集成Slack、Salesforce、HubSpot 等保持一致的接入范式。ToolDescriptionzendesk_list_ticketsList tickets in the accountzendesk_get_ticketGet full details of a specific ticketzendesk_create_ticketCreate a new support ticketzendesk_update_ticketUpdate ticket status, priority, or tagszendesk_search_ticketsSearch tickets using Zendesk query syntaxzendesk_get_ticket_commentsList all comments on a ticketzendesk_add_ticket_commentAdd a public reply or internal note to a ticketzendesk_list_usersList users filtered by role從源碼結(jié)構(gòu)看這 8 個工具全部定義在 zendesk_tool.py 的register_tools(mcp: FastMCP, credentials)函數(shù)內(nèi)以mcp.tool()裝飾器注冊到 FastMCP 服務(wù)器。該模塊通過 tools/init.py 中的register_zendesk(mcp, credentialscredentials)掛載進(jìn) Aden Tools 的驗(yàn)證工具集合屬于默認(rèn)注冊的 verified 工具無需include_unverifiedTrue即可啟用。環(huán)境配置三個憑據(jù)變量與 CredentialSpec 聲明Zendesk 工具使用 HTTP Basic 認(rèn)證郵箱 API Token需要三個環(huán)境變量ZENDESK_SUBDOMAINyour-subdomain ZENDESK_EMAILagentyourcompany.com ZENDESK_API_TOKENyour-api-tokenZENDESK_SUBDOMAINis the part before.zendesk.com. Forhttps://acme.zendesk.com, useacme.在 Zendesk 管理后臺創(chuàng)建 API TokenLog in to your Zendesk admin panelGo toAdmin → Apps and integrations → APIs → Zendesk APIEnableToken Accessand create a new API token源碼中的憑據(jù)獲取邏輯_get_credentials()zendesk_tool.py展示了兩種憑據(jù)來源的優(yōu)先級若register_tools被傳入CredentialStoreAdapterHive 框架的憑據(jù)存儲適配器則通過credentials.get(zendesk_subdomain)、credentials.get(zendesk_email)、credentials.get(zendesk_token)讀取否則回退到os.getenv()直接讀取上述三個環(huán)境變量。對應(yīng)的憑據(jù)聲明位于 credentials/zendesk.py三個憑據(jù)均被標(biāo)記為requiredTrue、startup_requiredFalse即運(yùn)行時(shí)按需校驗(yàn)而非啟動時(shí)強(qiáng)制并且都掛載到全部 8 個工具上。這意味著 Agent 只有在真正調(diào)用 Zendesk 工具時(shí)才會觸發(fā)憑據(jù)校驗(yàn)。認(rèn)證頭的構(gòu)造細(xì)節(jié)源碼用郵箱與 Token 組合構(gòu)造 Basic Authdef _auth_header(email: str, token: str) - str: encoded base64.b64encode(f{email}/token:{token}.encode()).decode() return fBasic {encoded}注意這里的特殊格式email/token:api_token是 Zendesk API 約定的 Basic 認(rèn)證用戶名格式Token 作為密碼的一部分與郵箱拼接后整體 Base64 編碼這是 Zendesk CloudBasic auth with email/token API token的標(biāo)準(zhǔn)認(rèn)證方式。請求統(tǒng)一走h(yuǎn)ttps://{subdomain}.zendesk.com/api/v2端點(diǎn)見_base_url()并設(shè)置 30 秒超時(shí)。工具使用示例從查詢到工單流轉(zhuǎn)以下示例均來自 README 原始用法可直接在 Agent 會話或 MCP 客戶端中調(diào)用。List open tickets列出工單zendesk_list_tickets(page_size25)源碼中page_size取值范圍被鉗制在 1–100max(1, min(page_size, 100))默認(rèn) 25。返回結(jié)構(gòu)為{tickets: [...], count: n}每個工單經(jīng)_extract_ticket()裁剪為 id、subject、description截?cái)?500 字符、status、priority、type、tags、requester_id、assignee_id、created_at、updated_at。Get a specific ticket查看工單詳情zendesk_get_ticket(ticket_id12345)ticket_id為必填缺省時(shí)返回{error: ticket_id is required}。成功時(shí)返回與 list 相同的精簡字段結(jié)構(gòu)_extract_ticket。Create a new ticket創(chuàng)建工單zendesk_create_ticket( subjectLogin button not working, bodyUsers are reporting that the login button on mobile is unresponsive., priorityhigh, ticket_typeincident, tagsmobile,login,bug, )參數(shù)說明對應(yīng) 源碼subject、body必填缺一即返回錯誤priority默認(rèn)normal合法取值urgent / high / normal / lowticket_type可選合法取值question / incident / problem / tasktags為逗號分隔字符串源碼會split(,)后去空白生成標(biāo)簽數(shù)組創(chuàng)建成功后額外返回urlhttps://{subdomain}.zendesk.com/agent/tickets/{id}與result: created便于 Agent 直接向用戶給出工單鏈接。Update a ticket status更新工單狀態(tài)zendesk_update_ticket( ticket_id12345, statuspending, priorityurgent, )zendesk_update_ticket支持同時(shí)更新status、priority、comment附comment_public布爾值控制是否對請求者可見默認(rèn)True以及替換tags。只要傳入任一字段即發(fā)起PUT請求若全部為空則返回{error: At least one field to update is required}而非空請求。Add a public reply to a ticket公開回復(fù)zendesk_add_ticket_comment( ticket_id12345, bodyWe have identified the issue and a fix is being deployed., publicTrue, )Add an internal note內(nèi)部備注zendesk_add_ticket_comment( ticket_id12345, bodyEscalated to the backend team via Slack #incidents., publicFalse, )zendesk_add_ticket_comment與zendesk_update_ticket的關(guān)鍵區(qū)別在于前者專用于追加評論publicFalse即生成內(nèi)部備注僅客服側(cè)可見對請求者不可見適合 Agent 記錄內(nèi)部處理過程實(shí)現(xiàn)上兩者最終都通過PUT /tickets/{id}攜帶{ticket: {comment: {...}}}完成。Search tickets按 Zendesk 查詢語法搜索zendesk_search_tickets( querystatus:open priority:urgent, sort_byupdated_at, sort_orderdesc, )zendesk_search_tickets走 Zendesk/api/v2/search端點(diǎn)支持sort_byupdated_at / created_at / priority / status默認(rèn)updated_at與sort_orderasc / desc默認(rèn)desc。源碼還有一個貼心細(xì)節(jié)若查詢串中未包含type:字段會自動補(bǔ)全為type:ticket前綴避免搜索結(jié)果混入用戶、組織等其他對象。Search by assignee and tag按處理人與標(biāo)簽搜索zendesk_search_tickets(queryassignee:agentcompany.com tags:billing)List all agents按角色列出用戶zendesk_list_users(roleagent, page_size50)zendesk_list_users的role可選end-user / agent / admin空則列出全部page_size同樣鉗制在 1–100。返回字段為 id、name、email、role、active、created_at。Ticket Status Values工單狀態(tài)取值Zendesk 工單狀態(tài)是zendesk_update_ticket的核心枚舉語義如下StatusMeaningnewNewly created, unassignedopenAssigned and being worked onpendingWaiting for requester responseholdWaiting on a third partysolvedResolved by agentclosedPermanently closed推薦的狀態(tài)流轉(zhuǎn)Agent 收到新工單 → 檢索歷史zendesk_search_tickets→ 閱讀評論zendesk_get_ticket_comments→ 需要客戶補(bǔ)充信息時(shí)置pending并附公開評論 → 等待第三方時(shí)置hold→ 解決后置solved最終人工歸檔為closed。Error Handling錯誤處理所有工具在失敗時(shí)都返回統(tǒng)一的錯誤字典結(jié)構(gòu)而不是拋出異常方便 Agent 直接讀取并作出下一步?jīng)Q策。README 給出的典型錯誤響應(yīng)[ {error: ZENDESK_SUBDOMAIN, ZENDESK_EMAIL, and ZENDESK_API_TOKEN not set, help: Create an API token in Zendesk Admin Apps and integrations APIs Zendesk API}, {error: Unauthorized. Check your Zendesk credentials.}, {error: Forbidden. Check your Zendesk permissions.}, {error: Rate limited. Try again shortly.}, ]源碼層的錯誤映射規(guī)則_request()zendesk_tool.py對 HTTP 狀態(tài)碼與異常做了完整映射401→Unauthorized. Check your Zendesk credentials.憑據(jù)錯誤403→Forbidden. Check your Zendesk permissions.Token 有效但權(quán)限不足404→Not found.429→Rate limited. Try again shortly.觸發(fā) Zendesk 速率限制可配合重試策略其他非 200/201→Zendesk API error {code}: {resp.text[:500]}截取前 500 字符響應(yīng)體便于排查httpx.TimeoutException→Request to Zendesk timed out30 秒超時(shí)其他異常→Zendesk request failed: {e}。三個憑據(jù)任一缺失時(shí)工具統(tǒng)一返回_auth_error()字典含error與help兩個鍵help 字段直接指引用戶到管理后臺創(chuàng)建 API Token。源碼級驗(yàn)證測試用例如何保障工具行為倉庫在 tools/tests/tools/test_zendesk_tool.py 中為 Zendesk 工具提供了完整的單元測試覆蓋了 README 描述的每類場景缺憑據(jù)分支test_missing_credentials清空環(huán)境變量后斷言返回error鍵成功路徑test_successful_list/test_successful_get通過 mockhttpx.get驗(yàn)證返回結(jié)構(gòu)與字段裁剪如 subject、priority參數(shù)校驗(yàn)test_missing_id、test_missing_params、test_missing_query分別驗(yàn)證ticket_id、subject/body、query缺失時(shí)的錯誤字典寫操作test_successful_createmock 201 響應(yīng)斷言result created、test_successful_updatemockhttpx.put斷言 status 更新生效搜索test_successful_search驗(yàn)證查詢語法與count字段。這些測試與源碼共同印證工具的契約是**要么返回結(jié)構(gòu)化數(shù)據(jù)要么返回帶 error 鍵的字典**Agent 端只需統(tǒng)一判斷error in result即可安全處理所有失敗路徑。測試環(huán)境變量ZENDESK_SUBDOMAINtest等也說明該工具面向 Zendesk Cloud 而非本地/私有化部署。接入 Agent 工作流的建議從 Aden Tools 的注冊機(jī)制tools/init.py可以看到Zendesk 工具與其余 60 個 SaaS 集成共享同一套register_all_tools入口。實(shí)際接入時(shí)注意三點(diǎn)憑據(jù)注入優(yōu)先通過 Hive 框架的CredentialStoreAdapter傳入調(diào)用鏈register_all_tools(mcp, credentials...)Agent 子進(jìn)程無需自行管理環(huán)境變量獨(dú)立運(yùn)行mcp_server.py時(shí)則回退到進(jìn)程環(huán)境變量。狀態(tài)語義pending表示等待請求者響應(yīng)Agent 應(yīng)在置pending時(shí)同時(shí)追加公開評論說明所需信息內(nèi)部流轉(zhuǎn)信息一律用publicFalse內(nèi)部備注避免向客戶暴露內(nèi)部處理細(xì)節(jié)。搜索語法zendesk_search_tickets的 query 遵循 Zendesk 原生語法如assignee:email、tags:xxx、status:open工具會自動補(bǔ)充type:ticket前綴但復(fù)雜組合如按組、按時(shí)間區(qū)間需要 Agent 按 Zendesk 官方字段語法構(gòu)造。贊分享人工智能AI Agent多智能體MCP 服務(wù)工具調(diào)用瀏覽器控制【免費(fèi)下載鏈接】hiveMulti-Agent Harness for Production AI項(xiàng)目地址https://gitcode.com/gh_mirrors/hive48/hive點(diǎn)擊查看免費(fèi)下載相關(guān)推薦在 CAI 中集成 MCP Git Server基于 MCPServerStdio 的倉庫分析 Agent 實(shí)戰(zhàn)指南在 CAI 中集成 MCP Git Server基于 MCPServerStdio 的倉庫分析 Agent 實(shí)戰(zhàn)指南 本篇技術(shù)指南以 examples/mcp人工智能AI Agent網(wǎng)絡(luò)安全滲透測試工具調(diào)用AI 評測在 mcp-agent 中集成 CrewAI 工具SerperDevTool 與 FileWriterTool 實(shí)戰(zhàn)指南在 mcp agent 中集成 CrewAI 工具SerperDevTool 與 FileWriterTool 實(shí)戰(zhàn)指南 本文以 mcp agent 倉庫中的人工智能AI AgentAgent 框架MCP ClientsAgent 工作流Flue 實(shí)戰(zhàn)基于 Zendesk Webhook 構(gòu)建工單驅(qū)動的 Agent 頻道Zendesk channel example 深度解析Flue 實(shí)戰(zhàn)基于 Zendesk Webhook 構(gòu)建工單驅(qū)動的 Agent 頻道Zendesk channel example 深度解析 導(dǎo)讀 本文圍人工智能大模型AI AgentAgent 框架工具調(diào)用Agent 沙箱MCP Clients上一篇Paperless-ngx Docker 部署怎么安裝第三方解析器插件并驗(yàn)證加載成功下一篇ffsend快捷鍵設(shè)置提升命令行操作效率創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考