{"id":25692612,"url":"https://github.com/wrtnlabs/agentica","last_synced_at":"2026-01-28T09:17:31.471Z","repository":{"id":277306748,"uuid":"931883414","full_name":"wrtnlabs/agentica","owner":"wrtnlabs","description":"TypeScript AI AI Function Calling Framework enhanced by compiler skills.","archived":false,"fork":false,"pushed_at":"2025-10-02T04:11:26.000Z","size":194029,"stargazers_count":941,"open_issues_count":28,"forks_count":49,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-02T05:48:54.658Z","etag":null,"topics":["agent","agentic","agentic-ai","agentic-framework","ai","chatbot","claude","function-calling","llama","llm-function-calling","multi-agent-system","openai","openapi","rag","retrieval-augmented-generation","swagger","typescript"],"latest_commit_sha":null,"homepage":"https://wrtnlabs.io/agentica","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wrtnlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-13T02:25:56.000Z","updated_at":"2025-10-02T04:08:05.000Z","dependencies_parsed_at":"2025-02-24T10:30:42.582Z","dependency_job_id":"cb0273e8-b405-48a9-8c40-67410883301e","html_url":"https://github.com/wrtnlabs/agentica","commit_stats":null,"previous_names":["wrtnlabs/agent","wrtnlabs/agentica"],"tags_count":124,"template":false,"template_full_name":null,"purl":"pkg:github/wrtnlabs/agentica","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrtnlabs%2Fagentica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrtnlabs%2Fagentica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrtnlabs%2Fagentica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrtnlabs%2Fagentica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wrtnlabs","download_url":"https://codeload.github.com/wrtnlabs/agentica/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrtnlabs%2Fagentica/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391256,"owners_count":25978957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agentic","agentic-ai","agentic-framework","ai","chatbot","claude","function-calling","llama","llm-function-calling","multi-agent-system","openai","openapi","rag","retrieval-augmented-generation","swagger","typescript"],"created_at":"2025-02-24T23:27:53.652Z","updated_at":"2026-01-07T07:25:20.138Z","avatar_url":"https://github.com/wrtnlabs.png","language":"TypeScript","funding_links":[],"categories":["Chatbots","TypeScript","Phase 3: Build and Integrate","Frameworks \u0026 SDKs","A01_文本生成_文本对话","Agent Creation \u0026 Integration"],"sub_categories":["Developer Tools","大语言对话模型及数据"],"readme":"# Agentica, AI Function Calling Framework\n\n![Agentica - ReadMe Diagram](https://github.com/user-attachments/assets/ecd06d51-b818-41c8-ab31-f0e40f48034e)\n\n\u003c!-- Github/NPM Badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/wrtnlabs/agentica/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT License\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@agentica/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@agentica/core.svg\" alt=\"NPM Version\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@agentica/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/@agentica/core.svg\" alt=\"NPM Downloads\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://dormoshe.io/newsletters/373\"\u003e\u003cimg src=\"https://img.shields.io/badge/DorMoshe%20Newsletter-Top%20%236%20of%201K-orange?style=flat\u0026logo=rss\" alt=\"Newsletter Top #6\"/\u003e\u003c/a\u003e\n \u003ca href=\"https://github.com/wrtnlabs/agentica/actions?query=workflow%3Abuild\"\u003e\u003cimg src=\"https://github.com/wrtnlabs/agentica/workflows/build/badge.svg\" alt=\"Build Status\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- Youtube + Discord --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/@wrtnlabs\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/YouTube%20Tutorial-0d1117?style=social\u0026logo=youtube\" alt=\"YouTube\"/\u003e\n  \u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://discord.gg/aMhRmzkqCx\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Discord-0d1117?style=social\u0026logo=discord\" alt=\"Discord\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.bloomberg.com/news/videos/2025-03-31/wtrn-on-series-b-funding-growth-strategy-video\"\u003e\n    \u003cimg src=\"https://wrtnlabs.io/agentica/images/badges/fund-raising-news-202503.svg\" /\u003e\n  \u003c/a\u003e\n  \u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/wrtnlabs\"\u003e\n    \u003cimg src=\"https://wrtnlabs.io/agentica/images/badges/open-source-mission.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nAgentic AI framework specialized in AI Function Calling.\n\nDon't be afraid of AI agent development. Just list functions from three protocols below. This is everything you should do for AI agent development.\n\n- TypeScript Class\n- Swagger/OpenAPI Document\n- MCP (Model Context Protocol) Server\n\nWanna make an e-commerce agent? Bring in e-commerce functions. Need a newspaper agent? Get API functions from the newspaper company. Just prepare any functions that you need, then it becomes an AI agent.\n\nAre you a TypeScript developer? Then you're already an AI developer. Familiar with backend development? You're already well-versed in AI development. Anyone who can make functions can make AI agents.\n\n\u003c!-- eslint-skip --\u003e\n\n```typescript\n\nimport { Agentica, assertHttpController } from \"@agentica/core\";\nimport OpenAI from \"openai\";\nimport typia from \"typia\";\n\nimport { MobileFileSystem } from \"./services/MobileFileSystem\";\n\nconst agent = new Agentica({\n  vendor: {\n    api: new OpenAI({ apiKey: \"********\" }),\n    model: \"gpt-4o-mini\",\n  },\n  controllers: [\n    // functions from TypeScript class\n    typia.llm.controller\u003cMobileFileSystem\u003e(\n      \"filesystem\",\n      new MobileFileSystem(),\n    ),\n    // functions from Swagger/OpenAPI\n    assertHttpController({\n      name: \"shopping\",\n      model: \"chatgpt\",\n      document: await fetch(\n        \"https://shopping-be.wrtn.ai/editor/swagger.json\",\n      ).then(r =\u003e r.json()),\n      connection: {\n        host: \"https://shopping-be.wrtn.ai\",\n        headers: { Authorization: \"Bearer ********\" },\n      },\n    }),\n  ],\n});\nawait agent.conversate(\"I wanna buy MacBook Pro\");\n\n```\n\n## 📦 Setup\n\n```bash\n$ npx agentica start \u003cdirectory\u003e\n\n----------------------------------------\n Agentica Setup Wizard\n----------------------------------------\n? Package Manager (use arrow keys)\n  \u003e npm\n    pnpm\n    yarn (berry is not supported)\n? Project Type\n    NodeJS Agent Server\n  \u003e NestJS Agent Server\n    React Client Application\n    Standalone Application\n? Embedded Controllers (multi-selectable)\n    (none)\n    Google Calendar\n    Google News\n  \u003e Github\n    Reddit\n    Slack\n    ...\n```\n\nThe setup wizard helps you create a new project tailored to your needs.\n\nFor reference, when selecting a project type, any option other than \"Standalone Application\" will implement the [WebSocket Protocol](https://wrtnlabs.io/agentica/docs/websocket/) for client-server communication.\n\nFor comprehensive setup instructions, visit our [Getting Started](https://wrtnlabs.io/agentica/docs/) guide.\n\n## 💻 Playground\n\nExperience Agentica firsthand through our [interactive playground](https://wrtnlabs.io/agentica/playground) before installing.\n\nOur demonstrations showcase the power and simplicity of Agentica's function calling capabilities across different integration methods.\n\n- [TypeScript Class](https://wrtnlabs.io/agentica/playground/bbs)\n- [Swagger/OpenAPI Document](https://wrtnlabs.io/agentica/playground/uploader)\n- [Enterprise E-commerce Agent](https://wrtnlabs.io/agentica/playground/shopping)\n\n![E-commerce Agent Demo](https://github.com/user-attachments/assets/fbfa9f93-304c-4728-933e-deb8ecd7a2af)\n\n\u003c!--\n@todo this section would be changed after making tutorial playground\n--\u003e\n\n## 📚 Documentation Resources\n\nFind comprehensive resources at our [official website](https://wrtnlabs.io/agentica).\n\n- [Home](https://wrtnlabs.io/agentica)\n- [Guide Documents](https://wrtnlabs.io/agentica/docs)\n  - [Setup](https://wrtnlabs.io/agentica/docs/setup/cli/)\n  - [Concepts](https://wrtnlabs.io/agentica/docs/concepts/function-calling/)\n  - [Core Library](https://wrtnlabs.io/agentica/docs/core/)\n  - [WebSocket Protocol](https://wrtnlabs.io/agentica/docs/websocket/)\n  - [Plugin Modules](https://wrtnlabs.io/agentica/docs/plugins/benchmark/)\n- [Tutorial](https://wrtnlabs.io/agentica/tutorial)\n  - [Productivity](https://wrtnlabs.io/agentica/tutorial/productivity/arxiv/)\n  - [Coding](https://wrtnlabs.io/agentica/tutorial/coding/file-system/)\n  - [React Native](https://wrtnlabs.io/agentica/tutorial/react-native/sms/)\n  - [Enterprise](https://wrtnlabs.io/agentica/tutorial/enterprise/shopping/)\n- [API Documents](https://wrtnlabs.io/agentica/api)\n- [Youtube](https://www.youtube.com/@wrtnlabs)\n- [Paper](https://wrtnlabs.io/agentica/paper)\n\nhttps://github.com/user-attachments/assets/2f2a4cdc-6cf1-4304-b82d-04a8ed0be0dd\n\n\u003e Tutorial Videos: https://www.youtube.com/@wrtnlabs\n\n## 🌟 Why Agentica?\n\n```mermaid\nflowchart\n  subgraph \"JSON Schema Specification\"\n    schemav4(\"JSON Schema v4 ~ v7\") --upgrades--\u003e emended[[\"OpenAPI v3.1 (emended)\"]]\n    schema2910(\"JSON Schema 2019-03\") --upgrades--\u003e emended\n    schema2020(\"JSON Schema 2020-12\") --emends--\u003e emended\n  end\n  subgraph \"Agentica\"\n    emended --\"Artificial Intelligence\"--\u003e fc{{\"AI Function Calling\"}}\n    fc --\"OpenAI\"--\u003e chatgpt(\"ChatGPT\")\n    fc --\"Google\"--\u003e gemini(\"Gemini\")\n    fc --\"Anthropic\"--\u003e claude(\"Claude\")\n    fc --\"High-Flyer\"--\u003e deepseek(\"DeepSeek\")\n    fc --\"Meta\"--\u003e llama(\"Llama\")\n    chatgpt --\"3.1\"--\u003e custom([\"Custom JSON Schema\"])\n    gemini --\"3.0\"--\u003e custom([\"Custom JSON Schema\"])\n    claude --\"3.1\"--\u003e standard([\"Standard JSON Schema\"])\n    deepseek --\"3.1\"--\u003e standard\n    llama --\"3.1\"--\u003e standard\n  end\n```\n\nAgentica enhances AI function calling by the following strategies:\n\n- [**Compiler Driven Development**](https://wrtnlabs.io/agentica/docs/concepts/compiler-driven-development): constructs function calling schema automatically by compiler skills without hand-writing.\n- [**JSON Schema Conversion**](https://wrtnlabs.io/agentica/docs/core/vendor/#schema-specification): automatically handles specification differences between LLM vendors, ensuring seamless integration regardless of your chosen AI model.\n- [**Validation Feedback**](https://wrtnlabs.io/agentica/docs/concepts/function-calling#validation-feedback): detects and corrects AI mistakes in argument composition, dramatically reducing errors and improving reliability.\n- [**Selector Agent**](https://wrtnlabs.io/agentica/docs/concepts/function-calling#orchestration-strategy): filtering candidate functions to minimize context usage, optimize performance, and reduce token consumption.\n\nThanks to these innovations, Agentica makes AI function calling easier, safer, and more accurate than before. Development becomes more intuitive since you only need to prepare functions relevant to your specific use case, and scaling your agent's capabilities is as simple as adding or removing functions.\n\nIn 2023, when OpenAI announced function calling, many predicted that function calling-driven AI development would become the mainstream. However, in reality, due to the difficulty and instability of function calling, the trend in AI development became agent workflow. Agent workflow, which is inflexible and must be created for specific purposes, has conquered the AI agent ecosystem.\n\nBy the way, as Agentica has resolved the difficulty and instability problems of function calling, the time has come to embrace function-driven AI development once again.\n\n| Type        | Workflow      | Vanilla Function Calling | Agentica Function Calling |\n| ----------- | ------------- | ------------------------ | ------------------------- |\n| Purpose     | ❌ Specific   | 🟢 General               | 🟢 General                |\n| Difficulty  | ❌ Difficult  | ❌ Difficult             | 🟢 Easy                   |\n| Stability   | 🟢 Stable     | ❌ Unstable              | 🟢 Stable                 |\n| Flexibility | ❌ Inflexible | 🟢 Flexible              | 🟢 Flexible               |\n\n## 💬 Community \u0026 Support\n\nFor support, questions, or to provide feedback, join our Discord community:\n\n[![Discord](https://dcbadge.limes.pink/api/server/https://discord.gg/aMhRmzkqCx)](https://discord.gg/aMhRmzkqCx)\n\n## ⚖️ License\n\nAgentica is open-source and available under the [MIT License](https://github.com/wrtnlabs/agentica/blob/master/LICENSE).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/ecd0b82e-bfb7-4eb5-ae97-75be0cb22f10\" alt=\"Wrtn Labs Logo\" /\u003e\n\u003c/p\u003e\n\u003cdiv align=\"center\"\u003e\n  Agentica is maintained by \u003ca href=\"https://wrtnlabs.io\"\u003eWrtn Technologies\u003c/a\u003e \u0026mdash; Empowering developers to transform TypeScript functions and OpenAPI specs into powerful AI agents.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrtnlabs%2Fagentica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwrtnlabs%2Fagentica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrtnlabs%2Fagentica/lists"}