[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-filip-michalsky--SalesGPT":3,"tool-filip-michalsky--SalesGPT":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":79,"languages":80,"stars":117,"forks":118,"last_commit_at":119,"license":120,"difficulty_score":32,"env_os":121,"env_gpu":122,"env_ram":122,"env_deps":123,"category_tags":131,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":132,"updated_at":133,"faqs":134,"releases":165},8913,"filip-michalsky\u002FSalesGPT","SalesGPT","Context-aware AI Sales Agent to automate sales outreach.","SalesGPT 是一款开源的上下文感知型 AI 销售助手，旨在自动化执行跨语音、邮件及短信等多渠道的销售外联任务。它核心解决了传统聊天机器人在销售场景中“不懂语境”和容易“胡编乱造”的痛点。SalesGPT 能够精准识别当前对话处于销售的哪个阶段，并据此采取相应行动；同时，它能调用预定义的产品知识库等外部工具，大幅减少模型幻觉，确保回复的专业性与准确性。\n\n该工具不仅支持自动查询产品信息，最新功能甚至能自主生成 Stripe 支付链接以完成交易闭环，真正实现了从沟通到成交的自动化。无论是需要构建定制化销售流程的开发者，还是希望探索大模型在垂直领域落地的研究人员，亦或是寻求降低人力成本、提升转化效率的企业团队，都能从中受益。作为开源项目，SalesGPT 提供了灵活的集成能力，帮助用户打造专属的虚拟销售团队，让 AI 成为得力的业务增长伙伴。","\u003Cdiv align=\"center\">\n\n# :robot: SalesGPT - Open Source AI Agent for Sales\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_d59ac6ac3260.png\"  width=\"200\">\n\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ffilipmichalsky?style=social)](https:\u002F\u002Ftwitter.com\u002Ffilipmichalsky)\n![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ffilip-michalsky\u002FSalesGPT?style=social)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_f75e6e3a0276.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fsalesgpt)\n[![License](\u003Chttps:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-brightgreen.svg>)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fsalesgpt.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fsalesgpt)\n![GithubActions](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Factions\u002Fworkflows\u002Fpoetry_unit_tests.yml\u002Fbadge.svg)\n\u003Cbr>\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin%20us%20on-Discord-7289DA?style=flat&logo=discord)](https:\u002F\u002Fdiscord.gg\u002FKXFucQyHf4)\n\u003C\u002Fdiv>\n\u003Cdiv align=\"center\">\n\n[Our Vision](#our-vision-build-the-best-open-source-ai-sales-agent) | [Features](#features) | [Demos and Use Cases](#demos-and-use-cases) |  [Quickstart](#quick-start) | [Setup](#setup) | [Contact Us](https:\u002F\u002F5b7mfhwiany.typeform.com\u002Fto\u002Fn6CbtxJm?utm_source=github-salesgpt&utm_medium=readme&utm_campaign=leads)\n\n\u003C\u002Fdiv>\n\nThis repo is an implementation of a **context-aware** AI Agent for Sales using LLMs and can work across voice, email and texting (SMS, WhatsApp, WeChat, Weibo, Telegram, etc.). \n\nSalesGPT is *context-aware*, which means it can understand what stage of a sales conversation it is in and act accordingly.\nMorever, SalesGPT has access to tools, such as your own pre-defined product knowledge base, significantly reducing hallucinations.\n\n# Our Vision: Build the Best Open Source AI Sales Agent\n\nWe are building SalesGPT to power your best AI Sales Agents. Hence, we would love to learn more about use cases you are building towards which will fuel SalesGPT development roadmap, so please don't hesitate to reach out.\n\n# Need Help with building GenAI\u002FLLM applications?\n\nIf you need assistance, our team is here to help! Please reach out to us at [Odyssey AI Partners](https:\u002F\u002Fwww.odysseypartners.ai?utm_source=github&utm_medium=readme&utm_campaign=salesgpt) for expert support and guidance.\n\n## :red_circle: Latest News\n\n- AI Sales Agents can now ACTUALLY sell! They autonomously generate Stripe payment links to sell products and services to customers.\n- You can now test your AI Sales Agents via our frontend.\n- Sales Agent can now take advantage of **tools**, such as look up products in a product catalog!\n\n# Demos and Use Cases\n\n\u003Ci>Unload AI Sales Agent Demos - Powered by SalesGPT:\u003C\u002Fi> *Our new virtual workforce?* 🤔\n\n**Demo #1: Sarah - Patient Coordinator at South Orange Pediatrics**\n\n- 100X Your Healthcare Admin with our Virtual Workforce \n\n[![Sarah - South Orange Pediatrics Patient Coordinator](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_22e1e0843e26.gif)](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F314eb0562fda41ea94e25b267acda6f9)\n\n**Demo #2: Ted - Autonomously create payment links and collect customer payments**\n\n[![Ted - Mattress Sales Representative Closing Deals](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_c6367a5511df.gif)](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F440086e17aff42d79881a6eca147ae5e)\n\n>**Try it yourself on our [SalesGPT hosted frontend demo](https:\u002F\u002Fsales-gpt-frontend-git-main-filip-odysseypartns-projects.vercel.app\u002Fchat).**\n\n# Contact Us for Suggestions, Questions, or Help\n\nWe are building SalesGPT to power your best AI Sales Agents. Hence, we would love to learn more about use cases you are building towards which will fuel SalesGPT development roadmap.\n\n**If you want us to build better towards your needs, or need help with your AI Sales Agents, please reach out to chat with us: [SalesGPT Use Case Intake Survey](https:\u002F\u002F5b7mfhwiany.typeform.com\u002Fto\u002Fn6CbtxJm?utm_source=github-salesgpt&utm_medium=readme&utm_campaign=leads)**\n\n\n# Features\n\n### Contextual Understanding: Sales Stage Awareness\n\nThe AI Sales Agent understands the conversation stage (you can define your own stages fitting your needs):\n\n  - Introduction: Start the conversation by introducing yourself and your company. \n  - Qualification: Qualify the prospect by confirming if they are the right person to talk to regarding your product\u002Fservice.\n  - Value Proposition: Briefly explain how your product\u002Fservice can benefit the prospect. \n  - Needs Analysis: Ask open-ended questions to uncover the prospect's needs and pain points. \n  - Solution Presentation: Based on the prospect's needs, present your product\u002Fservice as the solution that can address their pain points.\n  - Objection Handling: Address any objections that the prospect may have regarding your product\u002Fservice. \n  - Close: Ask for the sale by proposing a next step. \n  - End Conversation: The user does not want to continue the conversation, so end the call.\n\n### Business & Product Knowledge:\n-  Reference only your business information & products and significantly reduce hallucinations!\n\n### Close sales:\n-  The AI Agent can actually close sales by generating Stripe payment link and closing orders from customers.\n\n### Connect to ANY data system:\n- The AI Agent can leverage data from any data system (new, old or legacy) via an integration to [Mindware](https:\u002F\u002Fwww.mindware.co\u002F).\n\n### Automated Email Communication:\n- Enhance your sales process with automated email communication. SalesGPT can now send personalized emails to prospects, including follow-ups or product information. \n\n### Calendly Meeting Scheduling\n- The AI Agent can now facilitate scheduling meetings by generating Calendly links.\n\n### Use Any LLM to Power Your AI Sales Agent\n- Thanks to our integration with [LiteLLM](https:\u002F\u002Fgithub.com\u002FBerriAI\u002Flitellm), you can choose *any closed\u002Fopen-sourced LLM* to work with SalesGPT! Thanks to LiteLLM maintainers for this contribution!\n\n### Power Real-time Sales Conversations\n- Synchronous & Asynchronous Completion with LLMs\n- Synchronous & Asynchronous Streaming from LLMs\n\n### Optimized for Low Latency in Voice Channel\n- Voice AI Sales Agent boasts **\u003C1s** round trip response rate to human speakers which includes the entire pipeline - speech to text, LLM inference, and text to speech - while ensuring stability and scalability.\n\n### Human in the loop\n- For use cases where AI sales agent needs human supervision.\n\n### Langsmith tracing\n- debug, test, evaluate, and monitor chains and intelligent agents built on any LLM framework\n\n### Enterprise-Grade Security\n\n- Upcoming integration with [PromptArmor](https:\u002F\u002Fpromptarmor.com\u002F) to protect your AI Sales Agents against security vulnerabilities (see our roadmap).\n\n# Quick Start\n\n```python\nimport os\nfrom salesgpt.agents import SalesGPT\nfrom langchain_community.chat_models import ChatLiteLLM\n\nfrom dotenv import load_dotenv\nload_dotenv() # make sure you have .env file with your API keys, eg., OPENAI_API_KEY=sk-xxx, MINDWARE_API_KEY etc.\n\n# select your model - we support 50+ LLMs via LiteLLM https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproviders\nllm = ChatLiteLLM(temperature=0.4, model_name=\"gpt-4-0125-preview\") \n                            \nsales_agent = SalesGPT.from_llm(llm, use_tools=True, verbose=False,\n                            product_catalog = \"examples\u002Fsample_product_catalog.txt\",\n                            salesperson_name=\"Ted Lasso\",\n                            salesperson_role=\"Sales Representative\",\n                            company_name=\"Sleep Haven\",\n                            company_business='''Sleep Haven \n                            is a premium mattress company that provides\n                            customers with the most comfortable and\n                            supportive sleeping experience possible. \n                            We offer a range of high-quality mattresses,\n                            pillows, and bedding accessories \n                            that are designed to meet the unique \n                            needs of our customers.'''\n                            )\nsales_agent.seed_agent()\nsales_agent.determine_conversation_stage() # optional for demonstration, built into the prompt\n# agent \nsales_agent.step()\n\n# user\nuser_input = input('Your response: ') # Yea, sure\nsales_agent.human_step(user_input)\n\n# agent\nsales_agent.determine_conversation_stage() # optional for demonstration, built into the prompt\nsales_agent.step()\n\n# user\nuser_input = input('Your response: ') # What pricing do you have for your mattresses?\nsales_agent.human_step(user_input)\n\n# agent\nsales_agent.determine_conversation_stage() # optional for demonstration, built into the prompt\nsales_agent.step()\n```\n\n> Conversation Stage: \n> Introduction: Start the conversation by introducing yourself and your company. \n\n> Thought: Do I need to use a tool? No \u003Cbr>\n> Ted Lasso: Hello, my name is Ted Lasso and I'm calling on behalf of Sleep Haven. We are a premium mattress company that provides customers with the most comfortable and supportive sleeping experience possible. I was wondering if you would be interested in learning more about our products and how they can improve your sleep?\n\n> User: Yea, sure\n\n> Conversation Stage: \n> Value proposition: Briefly explain how your product\u002Fservice can benefit the prospect. \n\n> Thought: Do I need to use a tool? No \u003Cbr>\n> Ted Lasso: Great to hear that! Our mattresses are specially designed to contour to your body shape, providing the perfect level of support and comfort for a better night's sleep. Plus, they're made with high-quality materials that are built to last. Would you like to hear more about our different mattress options?\n\n> User:  What pricing do you have for your mattresses?\n\n> Thought: Do I need to use a tool? Yes --> AI Agent uses tools here.\u003Cbr>\n> Action: ProductSearch\u003Cbr>\n> ActionInput pricing for mattresses\u003Cbr>\n> Observation: Sleep Haven offers three mattresses: the Classic Harmony Spring Mattress for $1,299, the Plush Serenity Bamboo Mattress for $2,599, and the Luxury Cloud-Comfort Memory Foam Mattress for $999. The sizes available vary by mattress.\u003Cbr>\n\n> Thought: Do I need to use a tool? No \u003Cbr>\n> Ted Lasso: Sleep Haven offers three mattresses at different price points. The Classic Harmony Spring Mattress is priced at $1,299, the Plush Serenity Bamboo Mattress is priced at $2,599, and the Luxury Cloud-Comfort Memory Foam Mattress is priced at $999. The prices may vary depending on the size you choose. Would you like more information about the specific sizes and features of each mattress? \n\n> User:  No, I will take two Classic Harmony Spring Mattress please. \u003Cbr>\n> Thought: Do I need to use a tool? Yes --> AI Agent uses tools here.\u003Cbr>\n> Action: GeneratePaymentLink\u003Cbr>\n> Action Input: Classic Harmony Spring Mattress, 2, John Doe\n> Observation: {\"response\":\"https:\u002F\u002Fbuy.stripe.com\u002Ftest_9AQ6rygc397Bbv228p\"}\n\n> Thought: Do I need to use a tool? No \u003Cbr>\n> Ted Lasso: Fantastic choice! I've generated a payment link for you to order two Classic Harmony Spring Mattresses. You can complete your purchase by clicking on this link: https:\u002F\u002Fbuy.stripe.com\u002Ftest_9AQ6rygc397Bbv228p. Is there anything else I can assist you with today? \n\n\n\n## Architecture\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_be5578002e34.png\"  width=\"800\" height=\"440\">\n\n\n# Setup\n\n## Install\n\nMake sure you have a **python >=3.8,\u003C3.12**:\n\nCreate a virtual environment at a location on your computer. We use the generic \"env\" name for our virtual environment in the setup. You can rename this, but make sure to then use this name later when working with the environment (also rename the VENV variable in the Makefile accordingly to be able to use make commands successfully after cloning our repository):\n\n#### For Windows:\n\n- Open Command Prompt or PowerShell.\n- Navigate to your project directory: `cd path\\to\\your\\project`\n- Create a virtual environment: `python -m venv env`\n- Activate the virtual environment: `.\\env\\Scripts\\activate`\n\n#### For Mac:\n\n- Open Terminal.\n- Navigate to your project directory: `cd path\u002Fto\u002Fyour\u002Fproject`\n- Create a virtual environment: `python3 -m venv env`\n- Activate the virtual environment: `source env\u002Fbin\u002Factivate`\n\nTo deactivate a virtual environment after you have stopped using it simply run: `deactivate`\n\nClone the SalesGPT Github repository: \n\n`git clone https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT.git`\n\nNavigate to the repository and in case you used a different venv name rename the VENV variable in the Makefile: \n\n`cd SalesGPT`\n\nIf you simply want to work with SalesGPT as an end user without local changes you can install from PyPI using: \n\n`pip install salesgpt`\n\nIf you want to work on your own version of SalesGPT or contribute to our open-source version install by activating your virtual environment as aforementioned and then run: \n\n`make setup`\n\nFor more detailed installation steps along with the reasons for doing each please visit CONTRIBUTING.md\n\nFinally, for use of SalesGPT create an `.env` file just as our `.env.example` and put your API keys there by specifying a new line just as we have done.\n\n## Run an Example AI Sales agent\nNavigate into the SalesGPT directory: \n\n`cd SalesGPT`\n\nSalesGPT can be run in various ways, tailored to your preferences and setup. Below are the methods available:\n\n### 1. Using Docker\nFor those who prefer containerization, Docker offers an isolated and consistent environment. Ensure Docker is installed on your system by following the [official Docker installation guide](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F).\n\nTo run SalesGPT with Docker, execute the following steps:\n\n1. **Start the Application with Docker Compose:**\n\n   Use the command below to start SalesGPT in detached mode:\n   ```\n   docker-compose up -d\n   ```\n   If you've made changes and want them to reflect, append `--build` to the command above.\n\n2. **Stopping the Application:**\n\n   To stop and remove all running containers related to SalesGPT, execute:\n   ```\n   docker-compose down\n   ```\n\n**Troubleshooting:**\n\n- **Clean Up Docker Resources:** If you encounter errors, you can clean up Docker by removing all unused containers, networks, images, and volumes with caution:\n  ```\n  docker system prune --volumes\n  ```\n- **Rebuild Without Cache:** To rebuild and start the services afresh without using cache, run:\n  ```\n  docker-compose up -d --build --no-cache\n  ```\n\nAfter successful setup, access SalesGPT at [localhost:3000\u002Fchat](http:\u002F\u002Flocalhost:3000\u002Fchat) in your browser.\n\n### 2. Direct User Interface Launch\nIf Docker is not part of your workflow, you can directly launch the SalesGPT user interface. Please refer to the `README.md` file in the frontend directory for instructions on setting up the UI locally.\n\n### 3. Using the Terminal\nFor terminal enthusiasts or automation scripts, run SalesGPT with the following command:\n`python run.py --verbose True --config examples\u002Fexample_agent_setup.json`\n\n### 4. Running Only the Backend\nFor those who wish to integrate SalesGPT's backend with their own user interface or application, running only the backend is a straightforward process. This allows you to leverage the powerful features of SalesGPT while maintaining full control over the user experience.\n\nTo run only the backend of SalesGPT, follow these steps:\n1. **Start the Backend Service:**\n\n   Use the following command to start the backend service. This will initiate the server on port 8000 by default, making the API accessible:\n   ```\n   docker-compose up -d backend\n   ```\n\n   If you need to rebuild the backend image, perhaps after making changes, you can add `--build` to the command above.\n\n2. **Accessing the Backend:**\n\n   With the backend running, you can access the API endpoints at `http:\u002F\u002Flocalhost:8000`. Refer to the API documentation for details on available endpoints and their usage.\n\n3. **Stopping the Backend:**\n\n   To stop the backend service, execute:\n   ```\n   docker-compose stop backend\n   ```\n\n   If you wish to remove the backend container entirely, use:\n   ```\n   docker-compose down\n   ```\n\nThis setup is ideal for developers looking to integrate SalesGPT's backend into custom applications or those who prefer to use a different frontend technology.\n\n\n## Test your setup\n\n1. Activate your environment as described above. (run `source env\u002Fbin\u002Factivate` on Unix-like systems and `.\\env\\Scripts\\activate` on Windows. Replace *env* with the name of your virtual environment)\n2. cd `SalesGPT`      If you haven't already navigated to the SalesGPT home directory\n3. `make test`\n\nAll tests should pass. Warnings can be ignored.\n\n## Repair your setup\n\nRegular updates are added to the SalesGPT repository. If your code is not working please check the current README file for possible changes in launch. With updates often extra environment variables are added, which are however required for certain functionality. Please check current .env.example file. \n\nFor any problems you can not solve please don't hesitate to reach out to our discord #support channel. \n\n## Uninstall SalesGPT\n\nTo delete the virtual environment you used for SalesGPT programming and your SalesGPT repository from your system navigate to the directory where you installed your virtual environment and cloned SalesGPT and run: \n`make clean`\n\n# Documentation\n\nWe leverage the [`langchain`](https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain) library in this implementation, specifically [Custom Agent Configuration](https:\u002F\u002Flangchain-langchain.vercel.app\u002Fdocs\u002Fmodules\u002Fagents\u002Fhow_to\u002Fcustom_agent_with_tool_retrieval) and are inspired by [BabyAGI](https:\u002F\u002Fgithub.com\u002Fyoheinakajima\u002Fbabyagi) architecture.\n\n## LangSmith tracing\n\nLangSmith is a platform for building production-grade LLM applications.\n\nIt lets you debug, test, evaluate, and monitor chains and intelligent agents built on any LLM framework and seamlessly integrates with LangChain, the go-to open source framework for building with LLMs.\n\nLangSmith is developed by LangChain, the company behind the open source LangChain framework.\n\nTo switch on the LangSmith tracing you have to do the following steps:\n\n1. [Create a LangSmith account](https:\u002F\u002Fsmith.langchain.com\u002F)\n2. [Create an API key in settings](https:\u002F\u002Fsmith.langchain.com\u002Fsettings)\n3. Add you API key and Project name from LangSmith account to .env file or run.py module\n4. Switch on the \"LANGCHAIN_TRACING_V2\" setting in run.py to \"true\"\n5. That's it. You'll get better understanding of your agents and chaing performance in LangChain admin panel. \n\nFor futher reading take a look at the [docs](https:\u002F\u002Fdocs.smith.langchain.com\u002F)\n\n# Roadmap\n\n1) Improve SalesGPT observability\n2) Enhance prompt versioning\n3) Add prompt evaluation\n4) Write more documentation\n5) Better code documentation\n6) Refactor\n7) ~~Improve reliability of the parser [issue here](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F26) and [here](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F25)~~\n8) Improve Deployment Instructions\n9) Calling Functionality - sample code\n10) Enterprise-Grade Security - integration with [PromptArmor](https:\u002F\u002Fpromptarmor.com\u002F) to protect your AI Sales Agents against security vulnerabilities\n11) LLM evaluations \n12) Resolve tickets and PRs (ongoing)\n13) Add example implementation of OpenAI functions agent[issue here](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F17)\n14) Add support for multiple tools [issue here](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F10)\n15) Add an agent controller for when stages need to be traversed linearly without skips [issue here](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F19)\n16) Add `tool_getter` to choose a tool based on vector distance to the tasks needed to be done\n17) What tools should the agent have? (e.g., the ability to search the internet)\n18) Add the ability of Sales Agent to interact with AI plugins on your website (.well-known\u002Fai-plugin.json)\n19) More SalesGPT examples\n\n\n# About the Team\n\nLead Maintaner: Filip Michalsky \n\n- [Contact Email](mailto:filipmichalsky@gmail.com)\n- [LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Ffilip-michalsky\u002F)\n- Follow us on X at [@FilipMichalsky](https:\u002F\u002Ftwitter.com\u002FFilipMichalsky)\n\nOur Support Team: \n\n- AI Engineering: Honza Michna ([LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjan-michna-998b78132\u002F))\n- Software Engineer: Illia Makovoz\n\n# How to Contribute\n\nContributions are highly encouraged! Please fork and submit a PR.\n\n\n\n","\u003Cdiv align=\"center\">\n\n# :robot: SalesGPT - 面向销售的开源AI智能体\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_d59ac6ac3260.png\"  width=\"200\">\n\n[![Twitter关注](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ffilipmichalsky?style=social)](https:\u002F\u002Ftwitter.com\u002Ffilipmichalsky)\n![GitHub仓库星级](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ffilip-michalsky\u002FSalesGPT?style=social)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_f75e6e3a0276.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fsalesgpt)\n[![许可证](\u003Chttps:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-brightgreen.svg>)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![PyPI版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fsalesgpt.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fsalesgpt)\n![GithubActions](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Factions\u002Fworkflows\u002Fpoetry_unit_tests.yml\u002Fbadge.svg)\n\u003Cbr>\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin%20us%20on-Discord-7289DA?style=flat&logo=discord)](https:\u002F\u002Fdiscord.gg\u002FKXFucQyHf4)\n\u003C\u002Fdiv>\n\u003Cdiv align=\"center\">\n\n[我们的愿景](#our-vision-build-the-best-open-source-ai-sales-agent) | [功能特性](#features) | [演示与用例](#demos-and-use-cases) |  [快速入门](#quick-start) | [部署设置](#setup) | [联系我们](https:\u002F\u002F5b7mfhwiany.typeform.com\u002Fto\u002Fn6CbtxJm?utm_source=github-salesgpt&utm_medium=readme&utm_campaign=leads)\n\n\u003C\u002Fdiv>\n\n本项目是一个基于大语言模型的**上下文感知**销售AI智能体实现，支持语音、电子邮件以及短信（SMS、WhatsApp、微信、微博、Telegram等）等多种沟通方式。\n\nSalesGPT具备**上下文感知**能力，能够理解当前销售对话所处的阶段，并据此采取相应行动。此外，SalesGPT还可以访问工具，例如您预先定义的产品知识库，从而显著减少幻觉现象。\n\n# 我们的愿景：打造最佳开源AI销售智能体\n\n我们致力于构建SalesGPT，以助力您打造最优秀的AI销售智能体。因此，我们非常期待了解您正在开发的应用场景，这些信息将为SalesGPT的发展路线图提供重要参考，请随时与我们联系。\n\n# 需要GenAI\u002FLLM应用开发方面的帮助吗？\n\n如果您需要协助，我们的团队随时为您提供支持！请通过[Odyssey AI Partners](https:\u002F\u002Fwww.odysseypartners.ai?utm_source=github&utm_medium=readme&utm_campaign=salesgpt)与我们联系，获取专业的技术支持和指导。\n\n## :red_circle: 最新动态\n\n- AI销售智能体现在可以真正完成销售！它们能够自主生成Stripe支付链接，直接向客户销售产品和服务。\n- 您现在可以通过我们的前端界面测试您的AI销售智能体。\n- 销售智能体现在可以利用**工具**，例如在产品目录中查找产品！\n\n# 演示与用例\n\n\u003Ci>SalesGPT驱动的AI销售智能体演示：\u003C\u002Fi> *我们新的虚拟劳动力？* 🤔\n\n**演示1：Sarah - 南奥兰治儿科医院的患者协调员**\n\n- 用我们的虚拟劳动力提升100倍的医疗行政效率\n\n[![Sarah - 南奥兰治儿科医院患者协调员](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_22e1e0843e26.gif)](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F314eb0562fda41ea94e25b267acda6f9)\n\n**演示2：Ted - 自动创建支付链接并收取客户付款**\n\n[![Ted - 床垫销售代表促成交易](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_c6367a5511df.gif)](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F440086e17aff42d79881a6eca147ae5e)\n\n>**您也可以在我们的[SalesGPT托管前端演示](https:\u002F\u002Fsales-gpt-frontend-git-main-filip-odysseypartns-projects.vercel.app\u002Fchat)上亲自体验。**\n\n# 如有任何建议、问题或需求，请联系我们\n\n我们正在构建SalesGPT，旨在为您的优秀AI销售智能体提供强大支持。因此，我们非常希望了解您正在开发的具体应用场景，这将有助于推动SalesGPT的发展规划。\n\n**如果您希望我们更好地满足您的需求，或者在AI销售智能体方面需要帮助，请与我们交流：[SalesGPT用例收集调查](https:\u002F\u002F5b7mfhwiany.typeform.com\u002Fto\u002Fn6CbtxJm?utm_source=github-salesgpt&utm_medium=readme&utm_campaign=leads)**\n\n\n# 功能特性\n\n### 上下文理解：销售阶段感知\n\nAI销售智能体能够识别对话所处的阶段（您可以根据自身需求自定义阶段）：\n\n  - 介绍阶段：通过自我介绍及公司简介开启对话。\n  - 资格确认阶段：确认对方是否是您产品\u002F服务的合适对接人。\n  - 价值主张阶段：简要说明您的产品\u002F服务如何为客户带来价值。\n  - 需求分析阶段：提出开放式问题，挖掘客户的潜在需求和痛点。\n  - 解决方案呈现阶段：根据客户需求，展示您的产品\u002F服务作为解决其痛点的方案。\n  - 异议处理阶段：针对客户可能存在的疑虑或反对意见进行回应。\n  - 成交阶段：通过提出下一步行动建议来促成成交。\n  - 对话结束阶段：用户表示不再继续对话，此时结束通话。\n\n### 业务与产品知识：\n- 只引用您企业的相关信息和产品，从而显著减少幻觉现象！\n\n### 完成销售：\n- AI智能体能够通过生成Stripe支付链接，直接从客户处完成订单收款。\n\n### 连接任意数据系统：\n- 通过与[Mindware](https:\u002F\u002Fwww.mindware.co\u002F)的集成，AI智能体可以利用任何数据系统中的信息，无论是新系统、旧系统还是遗留系统。\n\n### 自动化邮件沟通：\n- 借助自动化邮件沟通功能，进一步优化您的销售流程。SalesGPT现在可以向潜在客户发送个性化邮件，包括后续跟进或产品信息等。\n\n### Calendly会议预约：\n- AI智能体现在可以生成Calendly链接，帮助客户便捷地安排会议。\n\n### 支持任意LLM驱动您的AI销售智能体\n- 凭借与[LiteLLM](https:\u002F\u002Fgithub.com\u002FBerriAI\u002Flitellm)的集成，您可以选择*任何闭源或开源的LLM*与SalesGPT配合使用！感谢LiteLLM维护者为此做出的贡献！\n\n### 实时销售对话支持：\n- 同步与异步推理支持\n- 同步与异步流式输出支持\n\n### 针对语音渠道的低延迟优化：\n- 语音AI销售智能体对人类发言者的往返响应时间可低至**1秒以内**，这一时间涵盖了整个处理流程——从语音转文本、LLM推理到文本转语音——同时确保系统的稳定性和可扩展性。\n\n### 人工介入机制：\n- 适用于需要人工监督的场景。\n\n### Langsmith追踪：\n- 用于调试、测试、评估和监控基于任何LLM框架构建的链条和智能体。\n\n### 企业级安全性\n\n- 即将与[PromptArmor](https:\u002F\u002Fpromptarmor.com\u002F)集成，以保护您的AI销售智能体免受安全漏洞威胁（详情请参阅我们的路线图）。\n\n# 快速入门\n\n```python\nimport os\nfrom salesgpt.agents import SalesGPT\nfrom langchain_community.chat_models import ChatLiteLLM\n\nfrom dotenv import load_dotenv\nload_dotenv() # 确保你有一个包含API密钥的 .env 文件，例如：OPENAI_API_KEY=sk-xxx, MINDWARE_API_KEY 等。\n\n# 选择你的模型 - 我们通过 LiteLLM 支持50多种大语言模型 https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproviders\nllm = ChatLiteLLM(temperature=0.4, model_name=\"gpt-4-0125-preview\") \n                            \nsales_agent = SalesGPT.from_llm(llm, use_tools=True, verbose=False,\n                            product_catalog = \"examples\u002Fsample_product_catalog.txt\",\n                            salesperson_name=\"Ted Lasso\",\n                            salesperson_role=\"销售代表\",\n                            company_name=\"Sleep Haven\",\n                            company_business='''Sleep Haven \n                            是一家高端床垫公司，致力于为客户提供最舒适、最具支撑性的睡眠体验。 \n                            我们提供一系列高品质的床垫、枕头和床上用品配件， \n                            这些产品专为满足客户的独特需求而设计。'''\n                            )\nsales_agent.seed_agent()\nsales_agent.determine_conversation_stage() # 可选，用于演示，已内置在提示中\n# 代理\nsales_agent.step()\n\n# 用户\nuser_input = input('您的回复: ') # 嗯，好的\nsales_agent.human_step(user_input)\n\n# 代理\nsales_agent.determine_conversation_stage() # 可选，用于演示，已内置在提示中\nsales_agent.step()\n\n# 用户\nuser_input = input('您的回复: ') # 你们的床垫定价是多少？\nsales_agent.human_step(user_input)\n\n# 代理\nsales_agent.determine_conversation_stage() # 可选，用于演示，已内置在提示中\nsales_agent.step()\n```\n\n> 对话阶段： \n> 介绍：开始对话时，请先介绍自己和贵公司。 \n\n> 思考：我需要使用工具吗？不需要 \u003Cbr>\n> 泰德·拉索：您好，我是泰德·拉索，代表 Sleep Haven 致电。我们是一家高端床垫公司，致力于为客户提供最舒适、最具支撑性的睡眠体验。我想了解一下您是否对我们的产品感兴趣，以及它们如何改善您的睡眠？\n\n> 用户：嗯，好的\n\n> 对话阶段： \n> 价值主张：简要说明您的产品\u002F服务如何使潜在客户受益。 \n\n> 思考：我需要使用工具吗？不需要 \u003Cbr>\n> 泰德·拉索：很高兴听到您感兴趣！我们的床垫经过特殊设计，能够贴合您的身体曲线，提供恰到好处的支撑与舒适度，助您拥有更好的睡眠。此外，这些床垫采用高品质材料制成，经久耐用。您想进一步了解我们的不同床垫型号吗？\n\n> 用户：你们的床垫定价是多少？\n\n> 思考：我需要使用工具吗？需要 --> AI 代理在此使用工具。\u003Cbr>\n> 行动：ProductSearch\u003Cbr>\n> 行动输入：床垫价格\u003Cbr>\n> 观察：Sleep Haven 提供三种床垫：经典和谐弹簧床垫售价1,299美元，奢华宁静竹纤维床垫售价2,599美元，豪华云舒记忆棉床垫售价999美元。不同床垫的尺寸有所不同。\u003Cbr>\n\n> 思考：我需要使用工具吗？不需要 \u003Cbr>\n> 泰德·拉索：Sleep Haven 提供三种不同价位的床垫。经典和谐弹簧床垫售价1,299美元，奢华宁静竹纤维床垫售价2,599美元，豪华云舒记忆棉床垫售价999美元。具体价格会根据您选择的尺寸有所不同。您需要了解更多关于每款床垫的具体尺寸和功能吗？\n\n> 用户：不用了，我要两床经典和谐弹簧床垫。 \u003Cbr>\n> 思考：我需要使用工具吗？需要 --> AI 代理在此使用工具。\u003Cbr>\n> 行动：GeneratePaymentLink\u003Cbr>\n> 行动输入：经典和谐弹簧床垫，2张，约翰·多伊\n> 观察：{\"response\":\"https:\u002F\u002Fbuy.stripe.com\u002Ftest_9AQ6rygc397Bbv228p\"}\n\n> 思考：我需要使用工具吗？不需要 \u003Cbr>\n> 泰德·拉索：太棒了！我已经为您生成了一个支付链接，方便您订购两床经典和谐弹簧床垫。请点击此链接完成购买：https:\u002F\u002Fbuy.stripe.com\u002Ftest_9AQ6rygc397Bbv228p。今天还有其他我可以帮您办理的事项吗？\n\n\n\n## 架构\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_readme_be5578002e34.png\"  width=\"800\" height=\"440\">\n\n\n# 设置\n\n## 安装\n\n请确保你安装了 **python >=3.8,\u003C3.12**:\n\n在你的电脑上创建一个虚拟环境。我们在设置中将虚拟环境命名为“env”。你可以将其重命名，但之后在操作该环境时务必使用相同的名称（同时相应地修改 Makefile 中的 VENV 变量，以便在克隆我们的仓库后成功使用 make 命令）：\n\n#### 对于 Windows：\n\n- 打开命令提示符或 PowerShell。\n- 导航到你的项目目录：`cd path\\to\\your\\project`\n- 创建虚拟环境：`python -m venv env`\n- 激活虚拟环境：`.\\env\\Scripts\\activate`\n\n#### 对于 Mac：\n\n- 打开终端。\n- 导航到你的项目目录：`cd path\u002Fto\u002Fyour\u002Fproject`\n- 创建虚拟环境：`python3 -m venv env`\n- 激活虚拟环境：`source env\u002Fbin\u002Factivate`\n\n当你不再使用虚拟环境时，只需运行：`deactivate` 即可停用。\n\n克隆 SalesGPT 的 GitHub 仓库：\n\n`git clone https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT.git`\n\n进入仓库目录，并如果你使用了不同的虚拟环境名称，请在 Makefile 中将 VENV 变量重命名：\n\n`cd SalesGPT`\n\n如果你想以最终用户的身份直接使用 SalesGPT 而无需进行本地修改，可以直接从 PyPI 安装：\n\n`pip install salesgpt`\n\n如果你想开发自己的版本或为我们的开源版本做出贡献，则需按照上述方法激活虚拟环境，然后运行：\n\n`make setup`\n\n有关更详细的安装步骤及其原因，请参阅 CONTRIBUTING.md。\n\n最后，在使用 SalesGPT 之前，请参照我们的 `.env.example` 文件创建一个 `.env` 文件，并将你的 API 密钥按行填写进去。 \n\n## 运行一个 AI 销售代理示例\n进入 SalesGPT 目录：\n\n`cd SalesGPT`\n\nSalesGPT 可以通过多种方式运行，具体取决于你的偏好和设置。以下是可用的方法：\n\n### 1. 使用 Docker\n对于偏好容器化部署的用户，Docker 提供了一个隔离且一致的运行环境。请按照 [官方 Docker 安装指南](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F) 确保您的系统已安装 Docker。\n\n要使用 Docker 运行 SalesGPT，请执行以下步骤：\n\n1. **通过 Docker Compose 启动应用：**\n\n   使用以下命令以分离模式启动 SalesGPT：\n   ```\n   docker-compose up -d\n   ```\n   如果您对代码进行了修改并希望这些更改生效，可以在上述命令后添加 `--build` 参数。\n\n2. **停止应用：**\n\n   若要停止并移除所有与 SalesGPT 相关的容器，请执行：\n   ```\n   docker-compose down\n   ```\n\n**故障排除：**\n\n- **清理 Docker 资源：** 如果遇到错误，您可以谨慎地清理 Docker 中的所有未使用的容器、网络、镜像和卷：\n  ```\n  docker system prune --volumes\n  ```\n- **无缓存重建：** 若要重新构建并从头开始启动服务而不使用缓存，可运行：\n  ```\n  docker-compose up -d --build --no-cache\n  ```\n\n成功部署后，您可以通过浏览器访问 [localhost:3000\u002Fchat](http:\u002F\u002Flocalhost:3000\u002Fchat) 来使用 SalesGPT。\n\n### 2. 直接启动用户界面\n如果您不使用 Docker，可以直接启动 SalesGPT 的用户界面。请参考前端目录中的 `README.md` 文件，了解如何在本地设置 UI。\n\n### 3. 使用终端\n对于喜欢使用终端或编写自动化脚本的用户，可以使用以下命令运行 SalesGPT：\n`python run.py --verbose True --config examples\u002Fexample_agent_setup.json`\n\n### 4. 仅运行后端\n对于希望将 SalesGPT 的后端集成到自有用户界面或应用程序中的用户，仅运行后端是一个简单直接的方式。这样您既可以利用 SalesGPT 的强大功能，又能完全掌控用户体验。\n\n要仅运行 SalesGPT 的后端，请按照以下步骤操作：\n1. **启动后端服务：**\n\n   使用以下命令启动后端服务。默认情况下，服务器将在端口 8000 上运行，从而提供 API 访问：\n   ```\n   docker-compose up -d backend\n   ```\n   如果需要重建后端镜像（例如在修改代码之后），可在上述命令中添加 `--build` 参数。\n\n2. **访问后端：**\n\n   后端运行后，您可以通过 `http:\u002F\u002Flocalhost:8000` 访问 API 端点。有关可用端点及其用法的详细信息，请参阅 API 文档。\n\n3. **停止后端：**\n\n   若要停止后端服务，执行：\n   ```\n   docker-compose stop backend\n   ```\n   如果您希望彻底移除后端容器，可以使用：\n   ```\n   docker-compose down\n   ```\n\n此设置非常适合希望将 SalesGPT 后端集成到自定义应用程序中的开发者，或者更倾向于使用其他前端技术的用户。\n\n## 测试您的部署\n\n1. 按照上述说明激活您的虚拟环境。（在类 Unix 系统上运行 `source env\u002Fbin\u002Factivate`，在 Windows 上运行 `.\\env\\Scripts\\activate`。将 *env* 替换为您虚拟环境的名称）\n2. 切换到 `SalesGPT` 目录。如果尚未进入 SalesGPT 主目录，请先切换。\n3. 运行 `make test`。\n\n所有测试都应通过。警告可以忽略。\n\n## 修复您的部署\n\nSalesGPT 仓库会定期更新。如果您的代码无法正常运行，请检查当前的 README 文件，查看是否有启动方式的变化。随着更新，通常会添加一些额外的环境变量，而这些变量对于某些功能是必需的。请务必检查最新的 `.env.example` 文件。\n\n如遇无法解决的问题，请随时联系我们的 Discord 支持频道。\n\n## 卸载 SalesGPT\n\n要删除用于 SalesGPT 开发的虚拟环境以及 SalesGPT 仓库，请导航至您安装虚拟环境和克隆 SalesGPT 的目录，并运行：\n`make clean`\n\n# 文档\n\n在此实现中，我们使用了 [`langchain`](https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain) 库，特别是 [自定义智能体配置](https:\u002F\u002Flangchain-langchain.vercel.app\u002Fdocs\u002Fmodules\u002Fagents\u002Fhow_to\u002Fcustom_agent_with_tool_retrieval)，并受到 [BabyAGI](https:\u002F\u002Fgithub.com\u002Fyoheinakajima\u002Fbabyagi) 架构的启发。\n\n## LangSmith 追踪\n\nLangSmith 是一个用于构建生产级 LLM 应用程序的平台。\n\n它允许您调试、测试、评估和监控基于任何 LLM 框架构建的链条和智能体，并可无缝集成到 LangChain——这一构建 LLM 应用程序的首选开源框架中。\n\nLangSmith 由 LangChain 公司开发，该公司也是开源 LangChain 框架的幕后推手。\n\n要启用 LangSmith 追踪，您需要执行以下步骤：\n\n1. [创建 LangSmith 账户](https:\u002F\u002Fsmith.langchain.com\u002F)\n2. [在设置中创建 API 密钥](https:\u002F\u002Fsmith.langchain.com\u002Fsettings)\n3. 将您的 LangSmith 账户中的 API 密钥和项目名称添加到 `.env` 文件或 `run.py` 模块中\n4. 将 `run.py` 中的 `LANGCHAIN_TRACING_V2` 设置改为 `true`\n5. 完成！您将在 LangChain 管理面板中更好地了解您的智能体和链条性能。\n\n如需进一步阅读，请参阅 [文档](https:\u002F\u002Fdocs.smith.langchain.com\u002F)。\n\n# 路线图\n\n1) 提升 SalesGPT 的可观测性\n2) 增强提示版本控制\n3) 添加提示评估\n4) 编写更多文档\n5) 改进代码文档\n6) 重构\n7) ~~提升解析器的可靠性 [问题链接](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F26) 和 [这里](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F25)~~\n8) 改善部署说明\n9) 调用功能——示例代码\n10) 企业级安全——与 [PromptArmor](https:\u002F\u002Fpromptarmor.com\u002F) 集成，以保护您的 AI 销售智能体免受安全漏洞侵害\n11) LLM 评估\n12) 解决工单和 PR（持续进行中）\n13) 添加 OpenAI 函数智能体的示例实现[问题链接](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F17)\n14) 增加对多种工具的支持 [问题链接](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F10)\n15) 添加智能体控制器，以便在需要按顺序完成各个阶段时避免跳过 [问题链接](https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F19)\n16) 添加 `tool_getter`，根据任务需求与工具之间的向量距离来选择合适的工具\n17) 智能体应具备哪些工具？（例如，搜索互联网的能力）\n18) 增加销售智能体与您网站上的 AI 插件交互的能力（通过 .well-known\u002Fai-plugin.json）\n19) 更多 SalesGPT 示例\n\n# 关于团队\n\n主要维护者：Filip Michalsky\n\n- [联系邮箱](mailto:filipmichalsky@gmail.com)\n- [LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Ffilip-michalsky\u002F)\n- 在 X 平台关注我们：[@FilipMichalsky](https:\u002F\u002Ftwitter.com\u002FFilipMichalsky)\n\n我们的支持团队：\n\n- AI 工程师：Honza Michna ([LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjan-michna-998b78132\u002F))\n- 软件工程师：Illia Makovoz\n\n# 如何贡献\n\n我们非常鼓励大家贡献！请先 fork 仓库，然后提交 Pull Request。","# SalesGPT 快速上手指南\n\nSalesGPT 是一个开源的、具备上下文感知能力的 AI 销售代理框架。它能够理解销售对话的各个阶段（如介绍、资格确认、价值主张、需求分析等），并调用工具（如产品知识库查询、生成支付链接）来辅助完成销售任务，支持语音、邮件和短信等多种渠道。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS 或 Linux\n*   **Python 版本**：`3.8 \u003C= Python \u003C 3.12`\n*   **API Keys**：\n    *   LLM 提供商密钥（如 `OPENAI_API_KEY`）\n    *   可选：其他工具密钥（如 `MINDWARE_API_KEY`, `STRIPE_API_KEY` 等）\n\n## 安装步骤\n\n### 1. 创建虚拟环境\n\n建议在隔离的虚拟环境中运行项目。\n\n**Windows (CMD\u002FPowerShell):**\n```bash\ncd path\\to\\your\\project\npython -m venv env\nenv\\Scripts\\activate\n```\n\n**macOS \u002F Linux:**\n```bash\ncd path\u002Fto\u002Fyour\u002Fproject\npython3 -m venv env\nsource env\u002Fbin\u002Factivate\n```\n\n### 2. 安装依赖\n\n使用 pip 安装 SalesGPT 及其依赖：\n\n```bash\npip install salesgpt\n```\n\n*(注：如果下载速度较慢，可尝试使用国内镜像源：`pip install salesgpt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n### 3. 配置环境变量\n\n在项目根目录下创建 `.env` 文件，并填入您的 API 密钥：\n\n```bash\nOPENAI_API_KEY=sk-xxx\n# 如有其他工具密钥，在此处添加，例如：\n# MINDWARE_API_KEY=your_key\n```\n\n## 基本使用\n\n以下是一个最简单的 Python 脚本示例，展示如何初始化 SalesGPT 代理并进行多轮对话。该示例模拟了一位名为 \"Ted Lasso\" 的销售代表推销床垫的场景。\n\n```python\nimport os\nfrom salesgpt.agents import SalesGPT\nfrom langchain_community.chat_models import ChatLiteLLM\n\nfrom dotenv import load_dotenv\nload_dotenv() # 加载 .env 文件中的 API 密钥\n\n# 选择模型 - 通过 LiteLLM 支持 50+ 种模型\nllm = ChatLiteLLM(temperature=0.4, model_name=\"gpt-4-0125-preview\") \n                            \n# 初始化 SalesGPT 代理\nsales_agent = SalesGPT.from_llm(llm, use_tools=True, verbose=False,\n                            product_catalog = \"examples\u002Fsample_product_catalog.txt\", # 需确保存在该产品目录文件或修改路径\n                            salesperson_name=\"Ted Lasso\",\n                            salesperson_role=\"Sales Representative\",\n                            company_name=\"Sleep Haven\",\n                            company_business='''Sleep Haven \n                            is a premium mattress company that provides\n                            customers with the most comfortable and\n                            supportive sleeping experience possible. \n                            We offer a range of high-quality mattresses,\n                            pillows, and bedding accessories \n                            that are designed to meet the unique \n                            needs of our customers.'''\n                            )\n\n# 启动代理\nsales_agent.seed_agent()\n\n# --- 第一轮交互 ---\nsales_agent.determine_conversation_stage() \nsales_agent.step() # 代理发言\n\nuser_input = input('Your response: ') # 用户输入，例如：Yea, sure\nsales_agent.human_step(user_input)\n\n# --- 第二轮交互 ---\nsales_agent.determine_conversation_stage() \nsales_agent.step() # 代理发言\n\nuser_input = input('Your response: ') # 用户输入，例如：What pricing do you have for your mattresses?\nsales_agent.human_step(user_input)\n\n# --- 第三轮交互 (可能触发工具调用) ---\nsales_agent.determine_conversation_stage() \nsales_agent.step() # 代理发言 (若涉及价格查询，会自动调用 ProductSearch 工具)\n```\n\n**运行说明：**\n1. 确保当前目录下存在 `examples\u002Fsample_product_catalog.txt` 文件，或者在代码中指定一个有效的本地产品知识文本文件路径。\n2. 运行脚本后，代理会根据预设的销售流程主动发起对话。\n3. 当用户询问具体产品信息时，代理会自动调用工具查询知识库；当达成购买意向时，可生成支付链接。","某中型 SaaS 企业的销售团队正试图在深夜和周末时段，向数百名潜在线索发送个性化的产品演示邀请并跟进意向。\n\n### 没有 SalesGPT 时\n- 销售人员无法全天候响应，导致夜间进入官网咨询的高意向客户因无人接待而流失。\n- 群发邮件内容千篇一律，缺乏对客户行业背景和过往沟通记录的针对性，回复率极低。\n- 人工跟进需频繁切换 CRM 系统与知识库查询产品细节，效率低下且容易出现信息错漏（幻觉）。\n- 从初步接触到生成付款链接的转化路径过长，往往需要多次人工介入才能完成闭环。\n\n### 使用 SalesGPT 后\n- SalesGPT 作为上下文感知的智能代理，能 24\u002F7 自动通过邮件或短信即时响应客户，精准识别对话阶段并推进流程。\n- 它能调用预定义的产品知识库，结合客户具体痛点生成高度个性化的沟通话术，显著提升互动质量。\n- 在对话中自动检索产品目录以回答复杂技术疑问，确保信息准确无误，彻底消除大模型“胡编乱造”的风险。\n- 当客户表现出购买意向时，SalesGPT 可直接自主生成 Stripe 支付链接并完成收款，实现从沟通到成交的全自动化。\n\nSalesGPT 将原本断断续续的人工销售流程转化为全天候、高精准且能自主闭环的智能增长引擎。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffilip-michalsky_SalesGPT_c6367a55.gif","filip-michalsky","Filip Michalsky","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffilip-michalsky_d848e074.jpg","AI Builder; Harvard CS '19; Generating code on the fly",null,"Cambridge, MA","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky",[81,85,89,93,97,101,105,109,113],{"name":82,"color":83,"percentage":84},"HTML","#e34c26",59.7,{"name":86,"color":87,"percentage":88},"Python","#3572A5",20.2,{"name":90,"color":91,"percentage":92},"JavaScript","#f1e05a",8.5,{"name":94,"color":95,"percentage":96},"CSS","#663399",7,{"name":98,"color":99,"percentage":100},"TypeScript","#3178c6",3.7,{"name":102,"color":103,"percentage":104},"MDX","#fcb32c",0.4,{"name":106,"color":107,"percentage":108},"Makefile","#427819",0.3,{"name":110,"color":111,"percentage":112},"Batchfile","#C1F12E",0.1,{"name":114,"color":115,"percentage":116},"Shell","#89e051",0,2574,580,"2026-04-17T14:56:03","MIT","Windows, macOS, Linux","未说明",{"notes":124,"python":125,"dependencies":126},"该工具主要依赖外部 LLM API（如 OpenAI）而非本地运行大模型，因此对本地 GPU 和内存无特殊高要求。需要配置 .env 文件包含 API 密钥（如 OPENAI_API_KEY）。支持通过 LiteLLM 集成 50+ 种大模型。建议使用虚拟环境（venv）进行安装。",">=3.8, \u003C3.12",[127,128,129,130],"salesgpt","langchain-community","litellm","python-dotenv",[35,13],"2026-03-27T02:49:30.150509","2026-04-18T14:32:13.019512",[135,140,145,150,155,160],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},39954,"设置 use_tools=True 时，代理为何无法回答欢迎语或初始消息，反而返回找不到答案的错误？","这是因为当启用工具模式时，代理会尝试在知识库中查找初始问候语的匹配项，而问候语通常不在产品数据库中。解决方法是参考 README 文档，使用 JSON 配置文件来正确初始化代理，而不是直接在代码中硬编码布尔值。请运行以下命令：\npython run.py --verbose True --config examples\u002Fexample_agent_setup.json\n通过配置文件可以更灵活地控制代理的行为和上下文。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F25",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},39955,"运行 stage_analyzer_chain 时遇到 OpenAI API 500 服务器错误怎么办？","该错误通常不是 SalesGPT 代码本身的问题，而是由底层 LLM 提供商（OpenAI）的服务器错误或临时的 API 速率限制引起的。解决方案是稍后重试请求。如果问题持续存在，可以联系 OpenAI 帮助中心并提供错误信息中的 request ID。大多数情况下，重新运行教程代码即可恢复正常。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F7",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},39956,"运行 python run.py 时出现 ImportError: cannot import name 'create_base_retry_decorator' 错误如何解决？","此错误是由于 LangChain 库的版本不兼容导致的（常见于 langchain 0.1.3 版本）。该函数在新版本中已被移除或移动。解决方法是检查项目的依赖要求，通常需要降级或升级 langchain 到与 SalesGPT 兼容的特定版本。建议查看项目最新的 requirements.txt 或安装指南，确保安装正确的 langchain 版本（例如尝试安装旧版本或等待项目更新以适配新版本的 LangChain）。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F42",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},39957,"如何在 Azure OpenAI 服务上配置和运行 SalesGPT？","要在 Azure OpenAI 上运行，需要修改环境变量和代码配置：\n1. 在 .env 文件中设置 Azure 特定的密钥和基础 URL：\n   OPENAI_API_KEY=\u003C你的 Azure 密钥>\n   OPENAI_API_BASE=\u003C你的 Azure 端点 URL>\n2. 在代码中将 LLM 实例化为 AzureOpenAI 模型。\n3. 参考 LangChain 官方文档中的 Azure OpenAI 集成示例进行详细配置：https:\u002F\u002Fpython.langchain.com\u002Fen\u002Flatest\u002Fmodules\u002Fmodels\u002Fllms\u002Fintegrations\u002Fazure_openai_example.html\n注意确保 URL 格式正确，避免在引擎路径中出现多余的斜杠导致连接错误。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F1",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},39958,"运行时出现 ModuleNotFoundError: No module named 'openai.types.beta.threads.message_content' 或 'boto3' 错误怎么办？","这是依赖包版本冲突或缺失导致的。具体解决步骤如下：\n1. 对于 openai 模块错误：这是因为 litellm 或其他依赖需要特定版本的 openai 库。尝试调整 openai 库的版本（例如项目可能需要 openai==1.7.0，而你安装了更高版本如 1.30.1），或者更新 SalesGPT 到最新版本以获取修复后的依赖配置。\n2. 对于 boto3 缺失错误：直接安装缺失的包，运行命令：pip install boto3。\n建议清理虚拟环境并重新安装项目依赖，以确保所有包版本兼容。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F147",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},39959,"SalesGPT 是否支持除 OpenAI 以外的其他大语言模型（LLM）？","是的，SalesGPT 已经更新以支持更多种类的 LLM 模型。维护者已通过最新的 PR 解决了多模型支持问题。用户可以利用 LiteLLM 等集成来切换不同的模型后端。建议拉取最新的代码库更新，并查阅最新的文档或示例配置文件，了解如何指定非 OpenAI 的模型提供商。","https:\u002F\u002Fgithub.com\u002Ffilip-michalsky\u002FSalesGPT\u002Fissues\u002F20",[166,171,176,181,186,191,195,200,205,210,215],{"id":167,"version":168,"summary_zh":169,"released_at":170},323447,"v0.1.2","新增SalesGPT通过与Stripe集成实现销售成交的功能","2024-03-25T01:48:46",{"id":172,"version":173,"summary_zh":174,"released_at":175},323448,"v0.1.1","版本 0.1.1\n\n- 更新了兼容性，以匹配 LangChain 0.1，包括示例\n- 网站和 API 文档的开发中。","2024-02-05T20:58:40",{"id":177,"version":178,"summary_zh":179,"released_at":180},323449,"v0.1.00","版本 0.1.0\n- 将依赖管理迁移至 Poetry。\n- 添加了 Makefile，便于安装和测试。\n- 扩展了对 Python 3.8、3.9、3.10 和 3.11 的兼容性。\n- 详细说明了安装和贡献指南。","2023-12-10T21:15:57",{"id":182,"version":183,"summary_zh":184,"released_at":185},323450,"v0.0.9","此版本确保与 openai>=1.0.0 兼容，而此前的版本在流式传输场景中曾引发大量 bug！","2023-11-25T14:36:04",{"id":187,"version":188,"summary_zh":189,"released_at":190},323451,"v0.0.8","- 改进了流式传输端点，现在只需使用简单的 `stream=True` 关键字参数即可访问。- 修复了与 `pydantic` 版本相关的依赖问题。- 移除了对 `model_name` 的重复调用。- 改进了文档字符串。- 将 `requirements.txt` 拆分为开发环境和生产环境的依赖文件。","2023-10-04T15:18:18",{"id":192,"version":193,"summary_zh":77,"released_at":194},323452,"v0.0.7","2023-09-08T18:21:59",{"id":196,"version":197,"summary_zh":198,"released_at":199},323453,"v0.0.6","错误修复。\n\n允许使用异步流式生成器：\n\n```python\nmodel_name = MODEL_NAME\n\nasync def my_async_stream(*args, **kwargs):\n        astream_generator = await sales_agent.astep(\n            return_streaming_generator=True, model_name=model_name\n        )\n        async for chunk in astream_generator:\n              # 执行异步操作\n\n```","2023-08-23T19:43:30",{"id":201,"version":202,"summary_zh":203,"released_at":204},323454,"v0.0.5","小幅更新，降低了 SalesGPT.from_llm 方法的输出冗余，并增加了对输出详细程度的控制。","2023-07-29T17:55:32",{"id":206,"version":207,"summary_zh":208,"released_at":209},323455,"v0.0.4","SalesGPT 现已可以使用产品知识库等工具。","2023-07-15T13:53:59",{"id":211,"version":212,"summary_zh":213,"released_at":214},323456,"v0.0.3","更新 SalesGPT 流式传输功能，允许更改模型名称。这有助于使用不同上下文长度的 GPT-3.5 或 GPT-4 进行流式调用。需要引入抽象层，以支持其他大模型提供商，就像 LangChain 那样。","2023-07-06T13:57:25",{"id":216,"version":217,"summary_zh":218,"released_at":219},323457,"v0.0.2","这是 SalesGPT 的首个 PyPI 发布版本。","2023-06-20T00:17:28"]