[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-TaskingAI--TaskingAI":3,"tool-TaskingAI--TaskingAI":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":67,"owner_name":67,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":112,"forks":113,"last_commit_at":114,"license":115,"difficulty_score":10,"env_os":116,"env_gpu":116,"env_ram":116,"env_deps":117,"category_tags":122,"github_topics":123,"view_count":135,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":136,"updated_at":137,"faqs":138,"releases":169},300,"TaskingAI\u002FTaskingAI","TaskingAI","The open source platform for AI-native application development.","TaskingAI 是一个专为 AI 原生应用打造的开源后端即服务（BaaS）平台，核心聚焦于基于大语言模型（LLM）的智能体开发与部署。在 AI 应用落地过程中，开发者常面临模型接入繁琐、功能模块分散以及部署运维复杂的挑战。TaskingAI 通过统一接口整合了来自 OpenAI、Anthropic 及本地部署等数百种 LLM 模型，并提供直观的控制台来管理工具、RAG 系统、助手及对话历史等功能模块。\n\nTaskingAI 特别适合希望高效构建可扩展 AI 应用的开发者与技术团队。其独特之处在于将 AI 逻辑与前端产品开发分离，支持通过 RESTful API 和客户端 SDK 进行灵活集成。TaskingAI 利用 Python FastAPI 的异步特性确保高并发性能，并允许用户一键将智能体部署至生产环境，轻松应对流量扩展需求。此外，丰富的内置插件（如谷歌搜索、网页读取）与自定义工具能力，进一步降低了开发门槛，让从原型验证到规模化上线的流程更加顺畅。","\u003Cp>\n\u003Ca href=\"https:\u002F\u002Fwww.tasking.ai\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_4978d0ac4ca2.png\" alt=\"https:\u002F\u002Fwww.tasking.ai\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n# TaskingAI\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fu\u002Ftaskingai\">\u003Cimg alt=\"Docker Image Version (latest semver)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Ftaskingai\u002Ftaskingai-server?label=docker\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fblob\u002Fmaster\u002FLICENSE\">\u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftaskingai\u002Ftaskingai\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftaskingai\">\u003Cimg alt=\"PyPI version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftaskingai?color=blue\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FTaskingAI\">\u003Cimg alt=\"X (formerly Twitter) URL\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl?url=https%3A%2F%2Ftwitter.com%2FTaskingAI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002F@TaskingAI\">\u003Cimg alt=\"YouTube Channel Subscribers\" src=\"https:\u002F\u002Fimg.shields.io\u002Fyoutube\u002Fchannel\u002Fsubscribers\u002FUCxUnOM-ZbZKmyR_Q5vAUSTA\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRqwcD3vG3k\">\u003Cimg alt=\"Docs\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-join-brightgreen\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\".\u002FREADME.md\">\u003Cimg alt=\"Readme (English)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEnglish-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.de.md\">\u003Cimg alt=\"Readme (Deutsch)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDeutsch-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.fr.md\">\u003Cimg alt=\"Readme (Français)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFrançais-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.es.md\">\u003Cimg alt=\"Readme (Español)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEspañol-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.pt.md\">\u003Cimg alt=\"Readme (Português)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPortuguês-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.zh-cn.md\">\u003Cimg alt=\"Readme (简体中文)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F简体中文-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.zh-tw.md\">\u003Cimg alt=\"Readme (繁體中文)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F繁體中文-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.jp.md\">\u003Cimg alt=\"Readme (日本語)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F日本語-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.kr.md\">\u003Cimg alt=\"Readme (한국어)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F한국어-2EA26A\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n[TaskingAI](https:\u002F\u002Fwww.tasking.ai) is a BaaS (Backend as a Service) platform for **LLM-based Agent Development and Deployment**. It unified the integration of hundreds of LLM models, and provides an intuitive user interface for managing your LLM application's functional modules, including tools, RAG systems, assistants, conversation history, and more.\n\n### Key Features\n\n1. **All-In-One LLM Platform**: Access hundreds of AI models with unified APIs.\n2. **Abundant enhancement**: Enhance LLM agent performance with hundreds of customizable built-in **tools** and advanced **Retrieval-Augmented Generation** (RAG) system\n3. **BaaS-Inspired Workflow**: Separate AI logic (server-side) from product development (client-side), offering a clear pathway from console-based prototyping to scalable solutions using RESTful APIs and client SDKs.\n4. **One-Click to Production**: Deploy your AI agents with a single click to production stage, and scale them with ease. Let TaskingAI handle the rest.\n5. **Asynchronous Efficiency**: Harness Python FastAPI's asynchronous features for high-performance, concurrent computation, enhancing the responsiveness and scalability of the applications.\n6. **Intuitive UI Console**: Simplifies project management and allows in-console workflow testing.\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_233d9ad1ad76.png\" alt=\"\">\n\u003C\u002Fp>\n\n### Integrations\n\n**Models**: TaskingAI connects with hundreds of LLMs from various providers, including OpenAI, Anthropic, and more. We also allow users to integrate local host models through Ollama, LM Studio and Local AI.\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_0260e0e2b973.png\" alt=\"\">\n\u003C\u002Fp>\n\n**Plugins**: TaskingAI supports a wide range of built-in plugins to empower your AI agents, including Google search, website reader, stock market retrieval, and more. Users can also create custom tools to meet their specific needs.\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_38a33b2a7fc8.png\" alt=\"\">\n\u003C\u002Fp>\n\n---\n\n## Why TaskingAI?\n\n### Problems with existing solutions 🙁\n\n**LangChain** is a tool framework for LLM application development, but it faces practical limitations:\n\n- **Statelessness**: Relies on client-side or external services for data management.\n- **Scalability Challenges**: Statelessness impacts consistent data handling across sessions.\n- **External Dependencies**: Depends on outside resources like model SDKs and vector storage.\n\n**OpenAI's Assistant API** excels in delivering GPTs-like functionalities but comes with its own constraints:\n\n- **Tied Functionalities**: Integrations like tools and retrievals are tied to each assistant, not suitable for multi-tenant applications.\n- **Proprietary Limitations**: Restricted to OpenAI models, unsuitable for diverse needs.\n- **Customization Limits**: Users cannot customize agent configuration such as memory and retrieval system.\n\n### How TaskingAI solves the problem 😃\n\n- **Supports both stateful and stateless usages**: Whether to keep track of and manage the message histories and agent conversation sessions, or just make stateless chat completion requests, TaskingAI has them both covered.\n- **Decoupled modular management**: Decoupled the management of tools, RAGs systems, language models from the agent. And allows free combination of these modules to build a powerful AI agent.\n- **Multi-tenant support**: TaskingAI supports fast deployment after development, and can be used in multi-tenant scenarios. No need to worry about the cloud services, just focus on the AI agent development.\n- **Unified API**: TaskingAI provides unified APIs for all the modules, including tools, RAGs systems, language models, and more. Super easy to manage and change the AI agent's configurations.\n\n## What Can You Build with TaskingAI?\n\n- [x] **Interactive Application Demos**\n- [x] **AI Agents for Enterprise Productivity**\n- [x] **Multi-Tenant AI-Native Applications for Business**\n\n---\n\nPlease give us a **FREE STAR 🌟** if you find it helpful 😇\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_b99b8cd40ac8.gif\" alt=\"\">\n\u003C\u002Fp>\n\n---\n\n## Quickstart with Docker\n\nA simple way to initiate self-hosted TaskingAI community edition is through [Docker](https:\u002F\u002Fwww.docker.com\u002F).\n\n### Prerequisites\n\n- Docker and Docker Compose installed on your machine.\n- Git installed for cloning the repository.\n- Python environment (above Python 3.8) for running the client SDK.\n\n### Installation\n\nFirst, clone the TaskingAI (community edition) repository from GitHub.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftaskingai\u002Ftaskingai.git\ncd taskingai\n```\n\nInside the cloned repository, go to the docker directory.\n\n```bash\ncd docker\n```\n\n1. **Copy `.env.example` to `.env`**:\n\n   ```sh\n   cp .env.example .env\n   ```\n\n2. **Edit the `.env` file**:\n   Open the `.env` file in your favorite text editor and update the necessary configurations. Ensure all required environment variables are set correctly.\n\n3. **Start Docker Compose**:\n   Run the following command to start all services:\n   ```sh\n   docker-compose -p taskingai --env-file .env up -d\n   ```\n\nOnce the service is up, access the TaskingAI console through your browser with the URL http:\u002F\u002Flocalhost:8080. The default username and password are `admin` and `TaskingAI321`.\n\n### Upgrade\n\nIf you have already installed TaskingAI with a previous version and want to upgrade to the latest version, first update the repository.\n\n```bash\ngit pull origin master\n```\n\nThen stop the current docker service, upgrade to the latest version by pulling the latest image, and finally restart the service.\n\n```bash\ncd docker\ndocker-compose -p taskingai down\ndocker-compose -p taskingai pull\ndocker-compose -p taskingai --env-file .env up -d\n```\n\nDon't worry about data loss; your data will be automatically migrated to the latest version schema if needed.\n\n### TaskingAI UI Console\n\n[![TaskingAI Console Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_528a5fa359ab.jpg)](https:\u002F\u002Fyoutu.be\u002F4A5uQoawETU)\n**_\u003Cp style=\"text-align: center; font-size: small; \">Click the image above to view the TaskingAI Console Demo Video.\u003C\u002Fp>_**\n\n### TaskingAI Client SDK\n\nOnce the console is up, you can programmatically interact with the TaskingAI server using the TaskingAI client SDK.\n\nEnsure you have Python 3.8 or above installed, and set up a virtual environment (optional but recommended).\nInstall the TaskingAI Python client SDK using pip.\n\n```bash\npip install taskingai\n```\n\nHere is a client code example:\n\n```python\nimport taskingai\n\ntaskingai.init(api_key='YOUR_API_KEY', host='http:\u002F\u002Flocalhost:8080')\n\n# Create a new assistant\nassistant = taskingai.assistant.create_assistant(\n    model_id=\"YOUR_MODEL_ID\",\n    memory=\"naive\",\n)\n\n# Create a new chat\nchat = taskingai.assistant.create_chat(\n    assistant_id=assistant.assistant_id,\n)\n\n# Send a user message\ntaskingai.assistant.create_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n    text=\"Hello!\",\n)\n\n# generate assistant response\nassistant_message = taskingai.assistant.generate_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n)\n\nprint(assistant_message)\n```\n\nNote that the `YOUR_API_KEY` and `YOUR_MODEL_ID` should be replaced with the actual API key and chat completion model ID you created in the console.\n\nYou can learn more in the [documentation](https:\u002F\u002Fdocs.tasking.ai\u002Fdocs\u002Fguide\u002Fgetting_started\u002Fself_hosting\u002Foverview).\n\n## Resources\n\n- [Documentation](https:\u002F\u002Fdocs.tasking.ai)\n- [API Reference](https:\u002F\u002Fdocs.tasking.ai\u002Fapi)\n- [Contact Us](https:\u002F\u002Fwww.tasking.ai\u002Fcontact-us)\n\n## Community and Contribution\n\nPlease see our [contribution guidelines](.\u002FCONTRIBUTING.md) for how to contribute to the project.\n\nAlso, we’re excited to announce that TaskingAI now has an official Discord community! 🎊\n\n[Join our Discord server](https:\u002F\u002Fdiscord.gg\u002FRqwcD3vG3k) to:\n\n    •\t💬 Engage in discussions about TaskingAI, share ideas, and provide feedback.\n    •\t📚 Get support, tips, and best practices from other users and our team.\n    •\t🚀 Stay updated on the latest news, updates, and feature releases.\n    •\t🤝 Network with like-minded individuals who are passionate about AI and task automation.\n\n## License and Code of Conduct\n\nTaskingAI is released under a specific [TaskingAI Open Source License](.\u002FLICENSE). By contributing to this project, you agree to abide by its terms.\n\n## Support and Contact\n\nFor support, please refer to our [documentation](https:\u002F\u002Fdocs.tasking.ai) or contact us at [support@tasking.ai](mailto:support@tasking.ai).\n","\u003Cp>\n\u003Ca href=\"https:\u002F\u002Fwww.tasking.ai\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_4978d0ac4ca2.png\" alt=\"TaskingAI 官网\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n# TaskingAI\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fu\u002Ftaskingai\">\u003Cimg alt=\"Docker 镜像版本（最新语义化版本）\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Ftaskingai\u002Ftaskingai-server?label=docker\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fblob\u002Fmaster\u002FLICENSE\">\u003Cimg alt=\"GitHub 许可证\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftaskingai\u002Ftaskingai\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftaskingai\">\u003Cimg alt=\"PyPI 版本\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftaskingai?color=blue\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FTaskingAI\">\u003Cimg alt=\"X（原 Twitter）链接\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl?url=https%3A%2F%2Ftwitter.com%2FTaskingAI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002F@TaskingAI\">\u003Cimg alt=\"YouTube 频道订阅者\" src=\"https:\u002F\u002Fimg.shields.io\u002Fyoutube\u002Fchannel\u002Fsubscribers\u002FUCxUnOM-ZbZKmyR_Q5vAUSTA\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRqwcD3vG3k\">\u003Cimg alt=\"Discord 加入\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-join-brightgreen\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\".\u002FREADME.md\">\u003Cimg alt=\"Readme (英文)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEnglish-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.de.md\">\u003Cimg alt=\"Readme (德语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDeutsch-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.fr.md\">\u003Cimg alt=\"Readme (法语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFrançais-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.es.md\">\u003Cimg alt=\"Readme (西班牙语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEspañol-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.pt.md\">\u003Cimg alt=\"Readme (葡萄牙语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPortuguês-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.zh-cn.md\">\u003Cimg alt=\"Readme (简体中文)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F简体中文-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.zh-tw.md\">\u003Cimg alt=\"Readme (繁体中文)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F繁體中文-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.jp.md\">\u003Cimg alt=\"Readme (日语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F日本語-2EA26A\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fi18n\u002FREADME.kr.md\">\u003Cimg alt=\"Readme (韩语)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F한국어-2EA26A\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n[TaskingAI](https:\u002F\u002Fwww.tasking.ai) 是一个用于**基于大语言模型（LLM）的智能体开发与部署**的 BaaS（后端即服务）平台。它统一了数百种 LLM 模型的集成，并提供直观的用户界面来管理您的 LLM 应用的功能模块，包括工具、RAG（检索增强生成）系统、助手、对话历史等。\n\n### 主要特性\n\n1. **一体化 LLM 平台**：通过统一的 API 访问数百种 AI 模型。\n2. **丰富的增强功能**：利用数百种可自定义的内置**工具**和先进的**检索增强生成**（RAG）系统来提升 LLM 智能体的性能。\n3. **受 BaaS 启发的流程**：将 AI 逻辑（服务器端）与产品开发（客户端）分离，提供从基于控制台的原型设计到使用 RESTful API（应用程序接口）和客户端 SDK（软件开发工具包）的可扩展解决方案的清晰路径。\n4. **一键生产部署**：一键将您的 AI 智能体部署到生产阶段，并轻松扩展它们。让 TaskingAI 处理其余部分。\n5. **异步效率**：利用 Python FastAPI 的异步特性进行高性能并发计算，增强应用的响应能力和可扩展性。\n6. **直观的 UI 控制台**：简化项目管理，并允许在控制台中测试工作流。\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_233d9ad1ad76.png\" alt=\"\">\n\u003C\u002Fp>\n\n### 集成\n\n**模型**：TaskingAI 连接来自各种提供商的数百种 LLM，包括 OpenAI、Anthropic 等。我们还允许用户通过 Ollama、LM Studio 和 Local AI 集成本地主机模型。\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_0260e0e2b973.png\" alt=\"\">\n\u003C\u002Fp>\n\n**插件**：TaskingAI 支持广泛的内置插件以增强您的 AI 智能体，包括 Google 搜索、网站阅读器、股市检索等。用户还可以创建自定义工具以满足特定需求。\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_38a33b2a7fc8.png\" alt=\"\">\n\u003C\u002Fp>\n\n---\n\n## 为什么选择 TaskingAI？\n\n### 现有方案的问题🙁\n\n**LangChain** 是一个用于 LLM 应用开发的工具框架，但它面临实际限制：\n\n- **无状态**：依赖客户端或外部服务进行数据管理。\n- **可扩展性挑战**：无状态影响跨会话的一致数据处理。\n- **外部依赖**：依赖外部资源，如模型 SDK 和向量存储。\n\n**OpenAI 的 Assistant API** 在提供类似 GPT 的功能方面表现出色，但也有其自身的限制：\n\n- **绑定功能**：工具和检索等集成与每个助手绑定，不适合多租户应用。\n- **专有限制**：仅限于 OpenAI 模型，不适合多样化需求。\n- **定制限制**：用户无法自定义智能体配置，如内存和检索系统。\n\n### TaskingAI 如何解决问题😃\n\n- **支持有状态和无状态用法**：无论是跟踪和管理消息历史和智能体对话会话，还是仅进行无状态聊天完成请求，TaskingAI 都能涵盖。\n- **解耦的模块化管理**：将工具、RAG 系统、语言模型的管理与智能体解耦。允许自由组合这些模块以构建强大的 AI 智能体。\n- **多租户支持**：TaskingAI 支持开发后快速部署，可用于多租户场景。无需担心云服务，只需专注于 AI 智能体开发。\n- **统一 API**：TaskingAI 为所有模块提供统一的 API，包括工具、RAG 系统、语言模型等。管理和更改 AI 智能体的配置超级简单。\n\n## 您可以使用 TaskingAI 构建什么？\n\n- [x] **交互式应用演示**\n- [x] **企业生产力 AI 智能体**\n- [x] **面向业务的多租户 AI 原生应用**\n\n---\n\n如果您觉得它有帮助，请给我们一个**免费星标 🌟** 😇\n\n\u003Cp>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_b99b8cd40ac8.gif\" alt=\"\">\n\u003C\u002Fp>\n\n---\n\n## 使用 Docker 快速入门\n\n启动自托管 TaskingAI 社区版的一种简单方法是通过 [Docker](https:\u002F\u002Fwww.docker.com\u002F)。\n\n### 前提条件\n\n- 您的机器上已安装 Docker 和 Docker Compose。\n- 已安装 Git 以克隆仓库。\n- Python 环境（高于 Python 3.8）用于运行客户端 SDK。\n\n### 安装\n\n首先，从 GitHub 克隆 TaskingAI（社区版）仓库。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftaskingai\u002Ftaskingai.git\ncd taskingai\n```\n\n在克隆的仓库内，进入 docker 目录。\n\n```bash\ncd docker\n```\n\n1. **将 `.env.example` 复制为 `.env`**：\n\n   ```sh\n   cp .env.example .env\n   ```\n\n2. **编辑 `.env` 文件**：\n   在您喜欢的文本编辑器中打开 `.env` 文件并更新必要的配置。确保所有必需的环境变量（environment variables）都已正确设置。\n\n3. **启动 Docker Compose**：\n   运行以下命令以启动所有服务：\n   ```sh\n   docker-compose -p taskingai --env-file .env up -d\n   ```\n\n服务启动后，通过浏览器访问 URL http:\u002F\u002Flocalhost:8080 即可使用 TaskingAI 控制台。默认用户名和密码分别为 `admin` 和 `TaskingAI321`。\n\n### 升级\n\n如果您已经安装了旧版本的 TaskingAI 并希望升级到最新版本，请先更新仓库。\n\n```bash\ngit pull origin master\n```\n\n然后停止当前的 docker 服务，通过拉取最新镜像升级到最新版本，最后重启服务。\n\n```bash\ncd docker\ndocker-compose -p taskingai down\ndocker-compose -p taskingai pull\ndocker-compose -p taskingai --env-file .env up -d\n```\n\n无需担心数据丢失；如果需要，您的数据将自动迁移到最新版本的架构（schema）。\n\n### TaskingAI UI 控制台\n\n[![TaskingAI Console Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_readme_528a5fa359ab.jpg)](https:\u002F\u002Fyoutu.be\u002F4A5uQoawETU)\n**_\u003Cp style=\"text-align: center; font-size: small; \">点击上图查看 TaskingAI 控制台演示视频。\u003C\u002Fp>_**\n\n### TaskingAI 客户端 SDK（软件开发工具包）\n\n控制台启动后，您可以使用 TaskingAI 客户端 SDK 以编程方式与 TaskingAI 服务器进行交互。\n\n确保您已安装 Python 3.8 或更高版本，并设置虚拟环境（可选但推荐）。\n使用 pip 安装 TaskingAI Python 客户端 SDK。\n\n```bash\npip install taskingai\n```\n\n这是一个客户端代码示例：\n\n```python\nimport taskingai\n\ntaskingai.init(api_key='YOUR_API_KEY', host='http:\u002F\u002Flocalhost:8080')\n\n# Create a new assistant\nassistant = taskingai.assistant.create_assistant(\n    model_id=\"YOUR_MODEL_ID\",\n    memory=\"naive\",\n)\n\n# Create a new chat\nchat = taskingai.assistant.create_chat(\n    assistant_id=assistant.assistant_id,\n)\n\n# Send a user message\ntaskingai.assistant.create_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n    text=\"Hello!\",\n)\n\n# generate assistant response\nassistant_message = taskingai.assistant.generate_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n)\n\nprint(assistant_message)\n```\n\n请注意，`YOUR_API_KEY` 和 `YOUR_MODEL_ID` 应替换为您在控制台中创建的实际 API 密钥（API key）和聊天完成模型 ID。\n\n您可以在 [文档](https:\u002F\u002Fdocs.tasking.ai\u002Fdocs\u002Fguide\u002Fgetting_started\u002Fself_hosting\u002Foverview) 中了解更多内容。\n\n## 资源\n\n- [文档](https:\u002F\u002Fdocs.tasking.ai)\n- [API 参考](https:\u002F\u002Fdocs.tasking.ai\u002Fapi)\n- [联系我们](https:\u002F\u002Fwww.tasking.ai\u002Fcontact-us)\n\n## 社区与贡献\n\n请参阅我们的 [贡献指南](.\u002FCONTRIBUTING.md) 了解如何为项目做出贡献。\n\n此外，我们很高兴地宣布 TaskingAI 现在拥有官方 Discord 社区！🎊\n\n[加入我们的 Discord 服务器](https:\u002F\u002Fdiscord.gg\u002FRqwcD3vG3k) 以：\n\n    •\t💬 参与关于 TaskingAI 的讨论，分享想法并提供反馈。\n    •\t📚 从其他用户和我们团队那里获取支持、提示和最佳实践。\n    •\t🚀 随时了解最新消息、更新和功能发布。\n    •\t🤝 与热衷于 AI 和任务自动化的志同道合者建立联系。\n\n## 许可证与行为准则\n\nTaskingAI 根据特定的 [TaskingAI 开源许可证](.\u002FLICENSE) 发布。通过向本项目做出贡献，即表示您同意遵守其条款。\n\n## 支持与联系\n\n如需支持，请参阅我们的 [文档](https:\u002F\u002Fdocs.tasking.ai) 或通过 [support@tasking.ai](mailto:support@tasking.ai) 联系我们。","# TaskingAI 快速上手指南\n\nTaskingAI 是一个面向 **LLM 智能体开发与部署** 的 BaaS（后端即服务）平台。它统一集成了数百种 LLM 模型，并提供直观的界面来管理工具、RAG 系统、助手及对话历史等功能模块。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **Docker 与 Docker Compose**：已安装并配置好。\n- **Git**：用于克隆代码仓库。\n- **Python 环境**：版本需高于 3.8，用于运行客户端 SDK。\n\n## 安装步骤\n\nTaskingAI 社区版支持通过 Docker 快速自托管部署。\n\n1. **克隆仓库**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Ftaskingai\u002Ftaskingai.git\n   cd taskingai\n   ```\n\n2. **进入 Docker 目录**\n   ```bash\n   cd docker\n   ```\n\n3. **配置环境变量**\n   复制示例配置文件并重命名为 `.env`：\n   ```sh\n   cp .env.example .env\n   ```\n   使用文本编辑器打开 `.env` 文件，根据实际需求修改必要的配置项。\n\n4. **启动服务**\n   运行以下命令启动所有服务：\n   ```sh\n   docker-compose -p taskingai --env-file .env up -d\n   ```\n\n5. **访问控制台**\n   服务启动后，在浏览器中访问 `http:\u002F\u002Flocalhost:8080`。\n   - 默认用户名：`admin`\n   - 默认密码：`TaskingAI321`\n\n## 基本使用\n\n部署完成后，您可以使用 TaskingAI 客户端 SDK 通过代码与服务器交互。\n\n1. **安装 SDK**\n   确保已安装 Python 3.8+，然后执行：\n   ```bash\n   pip install taskingai\n   ```\n\n2. **代码示例**\n   以下是一个创建助手、发送消息并获取回复的基础示例：\n\n   ```python\n   import taskingai\n\n   taskingai.init(api_key='YOUR_API_KEY', host='http:\u002F\u002Flocalhost:8080')\n\n   # Create a new assistant\n   assistant = taskingai.assistant.create_assistant(\n       model_id=\"YOUR_MODEL_ID\",\n       memory=\"naive\",\n   )\n\n   # Create a new chat\n   chat = taskingai.assistant.create_chat(\n       assistant_id=assistant.assistant_id,\n   )\n\n   # Send a user message\n   taskingai.assistant.create_message(\n       assistant_id=assistant.assistant_id,\n       chat_id=chat.chat_id,\n       text=\"Hello!\",\n   )\n\n   # generate assistant response\n   assistant_message = taskingai.assistant.generate_message(\n       assistant_id=assistant.assistant_id,\n       chat_id=chat.chat_id,\n   )\n\n   print(assistant_message)\n   ```\n\n   > **注意**：请将代码中的 `YOUR_API_KEY` 和 `YOUR_MODEL_ID` 替换为您在控制台中实际创建的 API Key 和模型 ID。\n\n更多详细信息请参考 [官方文档](https:\u002F\u002Fdocs.tasking.ai)。","某电商公司的技术团队计划构建一个能自动回答售后问题并查询订单状态的智能客服助手，旨在大幅减轻人工客服压力并提升响应速度。\n\n### 没有 TaskingAI 时\n- 需为不同大模型编写独立适配代码，切换供应商时重构工作量巨大且容易出错。\n- 搭建向量数据库和检索增强生成（RAG）系统涉及大量底层算法开发，项目周期被拉长。\n- 管理对话历史、工具调用逻辑分散在多处，后期维护和排查错误非常困难。\n- 上线部署需要配置复杂的服务器环境，难以快速迭代验证新想法，错失市场机会。\n\n### 使用 TaskingAI 后\n- 通过 TaskingAI 统一接口接入数百种模型，无需关心底层差异，模型切换灵活便捷。\n- 内置 RAG 系统和订单查询插件，几行配置即可实现核心功能，开发效率显著提升。\n- 可视化控制台集中管理助手、工具和会话数据，调试直观高效，降低团队协作成本。\n- 一键部署至生产环境，利用异步架构轻松应对高并发流量，保障服务长期稳定运行。\n\nTaskingAI 通过标准化后端服务，让开发者专注于业务逻辑，将 AI 应用从原型到上线的周期缩短数倍。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTaskingAI_TaskingAI_233d9ad1.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTaskingAI_71449bb5.png","TaskingAI: Streamlining LLM development with a developer-friendly cloud platform for efficient AI project execution.",null,"support@tasking.ai","https:\u002F\u002Fwww.tasking.ai","https:\u002F\u002Fgithub.com\u002FTaskingAI",[82,86,90,94,98,102,105,109],{"name":83,"color":84,"percentage":85},"Python","#3572A5",67.6,{"name":87,"color":88,"percentage":89},"TypeScript","#3178c6",20.5,{"name":91,"color":92,"percentage":93},"SCSS","#c6538c",8.1,{"name":95,"color":96,"percentage":97},"CSS","#663399",3.4,{"name":99,"color":100,"percentage":101},"Shell","#89e051",0.2,{"name":103,"color":104,"percentage":101},"Dockerfile","#384d54",{"name":106,"color":107,"percentage":108},"HTML","#e34c26",0,{"name":110,"color":111,"percentage":108},"JavaScript","#f1e05a",5382,356,"2026-04-03T22:13:12","Apache-2.0","未说明",{"notes":118,"python":119,"dependencies":120},"需安装 Docker 和 Docker Compose 及 Git。服务器端通过 Docker 部署，具体系统依赖封装在镜像中。客户端 SDK 需 Python 3.8+ 并通过 pip 安装。首次运行需复制并配置 .env 文件。默认控制台账号 admin，密码 TaskingAI321。支持集成 Ollama、LM Studio 等本地模型。","3.8+",[121],"taskingai",[26,13,15,54,51,14],[124,125,126,127,128,129,130,131,132,133,134],"ai","ai-native","generative-ai","gpt","llm","vector","rag","retrieval-augmented-generation","agent","function-call","langchain",7,"2026-03-27T02:49:30.150509","2026-04-06T05:19:47.652811",[139,144,149,154,159,164],{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},1014,"如何使用 TaskingAI Python SDK 对已建立的 Assistant 进行流式调用？","不要在本地区域定义 MessageChunk 类，正确的做法是从 SDK 中导入：from taskingai.assistant import MessageChunk。assistant_message_response 是一个 Stream 对象，直接遍历它即可获取流式数据块。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F85",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},1015,"添加自定义模型时遇到 REQUEST_VALIDATION_ERROR 错误怎么办？","该问题已在最新版本中修复，建议升级 TaskingAI。对于本地模型（如 LM Studio、Ollama），请使用专门的本地模型 Provider 进行集成，Custom Host 适用于未明确列出的其他服务提供商。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F33",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},1016,"Docker Compose 部署后登录界面卡住或验证失败如何解决？","首先确认是否成功启动了所有 7 个容器。使用命令 docker-compose -p taskingai up -d 启动剩余容器。如果健康检查接口返回 500，请检查防火墙设置及服务日志。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F26",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},1017,"API Key 填入代码后显示不正确或无效怎么处理？","如果 Key 位于查询参数或路径中，尝试将配置修改为仅包含一个可能值的枚举（enum）格式，这通常能解决显示或识别问题。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F29",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},1018,"后端启动时报错 'Env XXX is not set' 是什么原因？","这是因为缺少必要的环境变量配置（例如 TASKINGAI_PLUGIN_URL）。请在启动前设置好所有标记为 required 的环境变量。注意推理和插件服务现已开源，需参考最新配置文档。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F77",{"id":165,"question_zh":166,"answer_zh":167,"source_url":168},1019,"请求体中 Param type 设置为 object 时为何不支持？","当前版本暂不支持 requestBody 中的 object 类型参数。维护者计划在下周的大版本更新中修复此问题，建议关注后续更新或暂时使用其他支持的数据类型。","https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fissues\u002F40",[170,175,180,185,190,195,200],{"id":171,"version":172,"summary_zh":173,"released_at":174},100671,"v0.3.0","# TaskingAI Updates: Version 0.3.0\r\n\r\n## What's New\r\n1. Markdown content rendering and image uploads are now supported in Playground.\r\n![image](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fassets\u002F19534948\u002Fc36bbbd1-ba2a-4726-8348-714b02b6bda7)\r\n\r\n2. We introduce an OpenAI-compatible chat completion API, allowing users to seamlessly create Language Learning Model (LLM) based tasks or agent-based invocations.\r\n```python\r\nfrom openai import OpenAI\r\n\r\nclient = OpenAI(\r\n    api_key=\"YOUR_TASKINGAI_API_KEY\",\r\n    base_url=\"https:\u002F\u002Foapi.tasking.ai\u002Fv1\",\r\n)\r\nresponse = client.chat.completions.create(\r\n        model=\"YOUR_TASKINGAI_MODEL_ID\", # or an assistant ID\r\n        messages=[\r\n            {\"role\": \"user\", \"content\": \"Hello, how are you?\"},\r\n        ]\r\n    )\r\n\r\nprint(response)\r\n```\r\n\r\n3. Inference and Plugin service is now open source!\r\n\r\n## Key Fixes and Improvements\r\n- **Error Log Updates**:\r\n  - Updated error log handling for Google Gemini when using function in v1 [#106](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F106).\r\n- **Build and Deployment Enhancements**:\r\n  - Updated server version in Docker Compose [#111](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F111).\r\n  - Bumped aiohttp to version 3.9.4 [#109](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F109) and gunicorn to version 22.0.0 in the backend [#108](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F108).\r\n  - Added NLTK data to server Docker [#158](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F158).\r\n- **Inference and Model Management**:\r\n  - Updated inference version [#116](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F116) and fixed wildcard model inference issues [#107](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F107).\r\n  - Added rerank model [#144](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F144) and associated tag [#162](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F162).\r\n  - Fixed issues related to creating wildcard models during collection creation [#119](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F119).\r\n- **User Interface and Experience**:\r\n  - Introduced a new separator text splitter [#115](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F115) and a name column to chat [#118](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F118).\r\n  - Updated navigation bar UI structure [#128](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F128) and added project home [#124](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F124).\r\n  - Added chat search bar [#129](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F129), playground markdown content support [#132](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F132), and image upload in the playground [#133](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F133).\r\n  - Improved plugin refresh logic after creation [#166](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F166) and deletion [#167](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F167).\r\n- **Validation and Configuration**:\r\n  - Implemented validation for action credentials during creation and updating [#113](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F113).\r\n  - Added a score threshold to retrieval config [#117](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F117).\r\n  - Added a checkbox for playground model configuration [#126](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F126).\r\n- **Sample Codes and Quick Access**:\r\n  - Added quick access to example codes [#130](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F130) and sample code API [#136](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F136).\r\n  - Added a flag to determine whether to include file category [#160](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F160).\r\n\r\n## New Features\r\n- **Frontend and Playground Enhancements**:\r\n  - Added a stateless assistant invocation feature [#137](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F137).\r\n  - Added support for file and web records [#131](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F131), and local image mount access [#140](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F140).\r\n  - Added assistant and collection UI API [#138](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F138).\r\n  - Made the inference service open-source [#127](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F127).\r\n  - Made the plugin service open-source [#155](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F155).\r\n- **OpenAI Compatibility**:\r\n  - Introduced OpenAI compatible API [#139](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F139).\r\n\r\n## Testing and Quality Assurance\r\n- **Backend Testing**:\r\n  - Added test cases for backend [#125](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F125).\r\n  - Updated inference test cases [#154](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F154) and ignored unavailable test cases [#146](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F146).\r\n  - Added AWS storage test [#165](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F165).\r\n- **Error Handling and Fixes**:\r\n  - Fixed typos and spelling errors [#122](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F122) and [#142](https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F142).\r\n  - Fixed API routes [#141](https:\u002F\u002Fgithub.com\u002FTaskingA","2024-06-03T14:52:16",{"id":176,"version":177,"summary_zh":178,"released_at":179},100672,"v0.2.2","## What's Changed\r\n* feat: allow model config update by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F91\r\n* fix: message generation stability by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F90\r\n* fix: read num_chunk before record update by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F95\r\n* feat: add tool result size check by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F92\r\n* feat: add collection capacity check by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F100\r\n* feat: supports array as input of plugin by @DynamesC in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F101\r\n* feat: update model module UI by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F103\r\n* feat: add chat completion playground frontend by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F103\r\n* feat: add reset credentials button in edit action drawer by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F103\r\n* chore: update inference version by @SimsonW in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F102\r\n* build: update docker compose to v0.2.2 by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F104\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcompare\u002Fv0.2.0...v0.2.2","2024-04-12T17:07:44",{"id":181,"version":182,"summary_zh":183,"released_at":184},100673,"v0.2.0","## What's Changed\r\n* feat: add \"Generate and Send\" button in assistant playground by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F38\r\n* build(deps): bump python-multipart from 0.0.6 to 0.0.7 in \u002Fbackend by @dependabot in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F36\r\n* Fix issue with settingModal undefine warnings by @jishen027 in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F39\r\n* fix(frontend): correct typo of Fucntion -> Function by @bufferoverflow in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F42\r\n* feat: add plugin module by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F43\r\n* Fix\u002Ffix collection update api by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F45\r\n* feat: add plugin frontend module by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F46\r\n* fix: update equal filter in list api route by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F47\r\n* Build\u002Fupdate docker compose 0.2.0 by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F48\r\n* doc: add integration introduction to README.md by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F44\r\n* fix: update model type key when verify model credentials by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F50\r\n* fix: frontend add model properties when creating wildcard model by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F52\r\n* build: update docker-compose.yml by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F53\r\n* fix: mark model name as required by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F55\r\n* fix: fix stream message generation in debug model by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F54\r\n* build: update docker compose to v0.2.0 by @DynamesC in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F56\r\n* fix: fix content value by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F57\r\n\r\n## New Contributors\r\n* @dependabot made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F36\r\n* @jishen027 made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F39\r\n* @bufferoverflow made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F42\r\n* @taskingaiwww made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F46\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcompare\u002Fv0.1.3...v0.2.0","2024-03-12T15:38:33",{"id":186,"version":187,"summary_zh":188,"released_at":189},100674,"v0.1.3","## What's Changed\r\n* fix: check input properties when create model by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F32\r\n* feat: add tooltip to record and chunk content by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F32\r\n* fix: fix not found page UI by @taskingaiwww in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F32\r\n* build: update docker-compose.yml by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F32\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcompare\u002Fv0.1.2...v0.1.3","2024-02-06T13:28:25",{"id":191,"version":192,"summary_zh":193,"released_at":194},100675,"v0.1.2","## What's Changed\r\n* fix version for docker-compose.yml by @superiorlu in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F21\r\n* feat: add custom model properties  by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n* fix: use model properties in retrieval collection  by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n* feat: add retrieval chunks  by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n* fix: fix provider_name  by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n* feat: hide empty properties  by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n* build: update docker-compose.yml by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F27\r\n\r\n## New Contributors\r\n* @superiorlu made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F21\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcompare\u002Fv0.1.1...v0.1.2","2024-02-02T14:13:54",{"id":196,"version":197,"summary_zh":198,"released_at":199},100676,"v0.1.1","## What's Changed\r\n* docs: restructure readme and add demo video by @DynamesC in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F9\r\n* chore: update code of conduct by @SimsonW in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F12\r\n* feat: update action schema by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F16\r\n* doc: update README.md by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F17\r\n* feat: support custom host model with OpenAI API format @jameszyao \r\n* feat: add streaming chat completion support for models from Mistrial AI @jameszyao \r\n\r\n## New Contributors\r\n* @eltociear made their first contribution in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F13\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcompare\u002Fv0.1.0...v0.1.1","2024-01-30T16:14:15",{"id":201,"version":202,"summary_zh":203,"released_at":204},100677,"v0.1.0","## What's Changed\r\n* chore: update README.md by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F2\r\n* docs: update README.md by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F3\r\n* build: update docker-compose.yml by @jameszyao in https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fpull\u002F4\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FTaskingAI\u002FTaskingAI\u002Fcommits\u002Fv0.1.0","2024-01-23T04:02:29"]