[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EXDE8EE4SATSTC84ZGAG1X":3,"skill-same:01M6EXDE8EE4SATSTC84ZGAG1X":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6EXDE8EE4SATSTC84ZGAG1X","azure-ai-agents-persistent-java",null,"Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.\nTriggers: \"PersistentAgentsClient\", \"persistent agents java\", \"agent threads java\", \"agent runs java\", \"streaming agents java\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-ai-agents-persistent-java\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35],"ai agents","azure ai","azure","azure ai agents persistent java","java","sdk","streaming","messages","Tools","AI-agents","triggers","with","2026-11-10 10:12:30",false,"---\nname: azure-ai-agents-persistent-java\ndescription: |\n  Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.\n  Triggers: \"PersistentAgentsClient\", \"persistent agents java\", \"agent threads java\", \"agent runs java\", \"streaming agents java\".\npackage: com.azure:azure-ai-agents-persistent\n---\n\n# Azure AI Agents Persistent SDK for Java\n\nLow-level SDK for creating and managing persistent AI agents with threads, messages, runs, and tools.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-ai-agents-persistent\u003C\u002FartifactId>\n    \u003Cversion>1.0.0-beta.1\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Environment Variables\n\n```bash\nPROJECT_ENDPOINT=https:\u002F\u002F\u003Cresource>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>\nMODEL_DEPLOYMENT_NAME=gpt-4o-mini\n```\n\n## Authentication\n\n```java\nimport com.azure.ai.agents.persistent.PersistentAgentsClient;\nimport com.azure.ai.agents.persistent.PersistentAgentsClientBuilder;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nString endpoint = System.getenv(\"PROJECT_ENDPOINT\");\nPersistentAgentsClient client = new PersistentAgentsClientBuilder()\n    .endpoint(endpoint)\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Key Concepts\n\nThe Azure AI Agents Persistent SDK provides a low-level API for managing persistent agents that can be reused across sessions.\n\n### Client Hierarchy\n\n| Client | Purpose |\n|--------|---------|\n| `PersistentAgentsClient` | Sync client for agent operations |\n| `PersistentAgentsAsyncClient` | Async client for agent operations |\n\n## Core Workflow\n\n### 1. Create Agent\n\n```java\n\u002F\u002F Create agent with tools\nPersistentAgent agent = client.createAgent(\n    modelDeploymentName,\n    \"Math Tutor\",\n    \"You are a personal math tutor.\"\n);\n```\n\n### 2. Create Thread\n\n```java\nPersistentAgentThread thread = client.createThread();\n```\n\n### 3. Add Message\n\n```java\nclient.createMessage(\n    thread.getId(),\n    MessageRole.USER,\n    \"I need help with equations.\"\n);\n```\n\n### 4. Run Agent\n\n```java\nThreadRun run = client.createRun(thread.getId(), agent.getId());\n\n\u002F\u002F Poll for completion\nwhile (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {\n    Thread.sleep(500);\n    run = client.getRun(thread.getId(), run.getId());\n}\n```\n\n### 5. Get Response\n\n```java\nPagedIterable\u003CPersistentThreadMessage> messages = client.listMessages(thread.getId());\nfor (PersistentThreadMessage message : messages) {\n    System.out.println(message.getRole() + \": \" + message.getContent());\n}\n```\n\n### 6. Cleanup\n\n```java\nclient.deleteThread(thread.getId());\nclient.deleteAgent(agent.getId());\n```\n\n## Best Practices\n\n1. **Use DefaultAzureCredential** for production authentication\n2. **Poll with appropriate delays** — 500ms recommended between status checks\n3. **Clean up resources** — Delete threads and agents when done\n4. **Handle all run statuses** — Check for RequiresAction, Failed, Cancelled\n5. **Use async client** for better throughput in high-concurrency scenarios\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    PersistentAgent agent = client.createAgent(modelName, name, instructions);\n} catch (HttpResponseException e) {\n    System.err.println(\"Error: \" + e.getResponse().getStatusCode() + \" - \" + e.getMessage());\n}\n```\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| Maven Package | https:\u002F\u002Fcentral.sonatype.com\u002Fartifact\u002Fcom.azure\u002Fazure-ai-agents-persistent |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-java\u002Ftree\u002Fmain\u002Fsdk\u002Fai\u002Fazure-ai-agents-persistent |\n","# Azure AI Agents Persistent SDK for Java\n\nLow-level SDK for creating and managing persistent AI agents with threads, messages, runs, and tools.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-ai-agents-persistent\u003C\u002FartifactId>\n    \u003Cversion>1.0.0-beta.1\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Environment Variables\n\n```bash\nPROJECT_ENDPOINT=https:\u002F\u002F\u003Cresource>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>\nMODEL_DEPLOYMENT_NAME=gpt-4o-mini\n```\n\n## Authentication\n\n```java\nimport com.azure.ai.agents.persistent.PersistentAgentsClient;\nimport com.azure.ai.agents.persistent.PersistentAgentsClientBuilder;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nString endpoint = System.getenv(\"PROJECT_ENDPOINT\");\nPersistentAgentsClient client = new PersistentAgentsClientBuilder()\n    .endpoint(endpoint)\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Key Concepts\n\nThe Azure AI Agents Persistent SDK provides a low-level API for managing persistent agents that can be reused across sessions.\n\n### Client Hierarchy\n\n| Client | Purpose |\n|--------|---------|\n| `PersistentAgentsClient` | Sync client for agent operations |\n| `PersistentAgentsAsyncClient` | Async client for agent operations |\n\n## Core Workflow\n\n### 1. Create Agent\n\n```java\n\u002F\u002F Create agent with tools\nPersistentAgent agent = client.createAgent(\n    modelDeploymentName,\n    \"Math Tutor\",\n    \"You are a personal math tutor.\"\n);\n```\n\n### 2. Create Thread\n\n```java\nPersistentAgentThread thread = client.createThread();\n```\n\n### 3. Add Message\n\n```java\nclient.createMessage(\n    thread.getId(),\n    MessageRole.USER,\n    \"I need help with equations.\"\n);\n```\n\n### 4. Run Agent\n\n```java\nThreadRun run = client.createRun(thread.getId(), agent.getId());\n\n\u002F\u002F Poll for completion\nwhile (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {\n    Thread.sleep(500);\n    run = client.getRun(thread.getId(), run.getId());\n}\n```\n\n### 5. Get Response\n\n```java\nPagedIterable\u003CPersistentThreadMessage> messages = client.listMessages(thread.getId());\nfor (PersistentThreadMessage message : messages) {\n    System.out.println(message.getRole() + \": \" + message.getContent());\n}\n```\n\n### 6. Cleanup\n\n```java\nclient.deleteThread(thread.getId());\nclient.deleteAgent(agent.getId());\n```\n\n## Best Practices\n\n1. **Use DefaultAzureCredential** for production authentication\n2. **Poll with appropriate delays** — 500ms recommended between status checks\n3. **Clean up resources** — Delete threads and agents when done\n4. **Handle all run statuses** — Check for RequiresAction, Failed, Cancelled\n5. **Use async client** for better throughput in high-concurrency scenarios\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    PersistentAgent agent = client.createAgent(modelName, name, instructions);\n} catch (HttpResponseException e) {\n    System.err.println(\"Error: \" + e.getResponse().getStatusCode() + \" - \" + e.getMessage());\n}\n```\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| Maven Package | https:\u002F\u002Fcentral.sonatype.com\u002Fartifact\u002Fcom.azure\u002Fazure-ai-agents-persistent |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-java\u002Ftree\u002Fmain\u002Fsdk\u002Fai\u002Fazure-ai-agents-persistent |\n",{"name":5,"package":41,"description":42},"com.azure:azure-ai-agents-persistent","Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.\nTriggers: \"PersistentAgentsClient\", \"persistent agents java\", \"agent threads java\", \"agent runs java\", \"streaming agents java\".\n","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-ai-agents-persistent-java",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill azure-ai-agents-persistent-java",{"tool":58,"command":59},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill azure-ai-agents-persistent-java",{"tool":61,"command":62},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill azure-ai-agents-persistent-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-ai-agents-persistent-java\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"skill-report.json","REFERENCE","参考文档",9089,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-ai-agents-persistent-java\u002Fskill-report.json",[73,83,93,101,107,114],{"skillNo":74,"name":75,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":79,"publishedAt":36},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[78],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[80,81,82],"model","model hierarchy","model hierarchy skill",{"skillNo":84,"name":85,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":36},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[88],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[90,91,92],"MCP","zoom","zoom mcp",{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":36},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[29,99,100,91],"zoom apps sdk","apps",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":36},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[103],{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":36},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[112],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[109],{"skillNo":115,"name":116,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":36},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[116]]