[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jiran214--langup-ai":3,"tool-jiran214--langup-ai":61},[4,18,26,36,44,52],{"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 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":82,"forks":83,"last_commit_at":84,"license":85,"difficulty_score":32,"env_os":86,"env_gpu":86,"env_ram":86,"env_deps":87,"category_tags":94,"github_topics":96,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":102,"updated_at":103,"faqs":104,"releases":105},4562,"jiran214\u002Flangup-ai","langup-ai","AGI 社交网络 Bot.  BiliBili |  直播聊天数字人 | 视频@自动回复 | 私信bot | 终端聊天  |  语音交互","langup-ai 是一款专为 AGI 时代打造的通用社交机器人框架，旨在让开发者轻松为 Bilibili 等平台赋予“数字灵魂”。它巧妙结合了大语言模型（LLM）与自动化脚本，解决了传统机器人互动生硬、难以理解复杂语境的问题，实现了从直播弹幕实时互怼、视频评论智能总结，到私信自动回复及终端语音对话的全场景覆盖。\n\n该工具特别适合 Python 开发者、AI 爱好者以及希望运营自动化账号的内容创作者使用。用户只需几行代码，即可定义独特的角色人设（如“杠精主播”或“贴心助手”），并快速部署具备高度拟人化交互能力的 Bot。其技术亮点在于灵活的配置体系：支持多种凭证获取方式（包括直接从浏览器提取），内置敏感词过滤与并发控制机制，并能适配不同的 OpenAI 模型。无论是想打造直播间里的虚拟偶像，还是构建高效的私域流量助手，langup-ai 都提供了开箱即用的解决方案，让创建智能社交代理变得简单而有趣。","# \u003Ccenter> Langup\n\u003Cp align='center'>\n   llm + bot\n\u003Cbr>\n\u003Cbr>\n    🚀AGI时代通用机器人🚀\n\u003C\u002Fp>\n\n## 安装\n环境：python>=3.8\n\n- 方式一\n  ```shell\n  pip install langup==0.0.10\n  ```\n- 方式二(建议使用python 虚拟环境)\n  ```shell\n  git clone https:\u002F\u002Fgithub.com\u002Fjiran214\u002Flangup-ai.git\n  cd langup-ai\u002F\n  python -m pip install –upgrade pip\n  python -m pip install -r requirements.txt\n  ```\n  \n\n## 快速开始\n- 安装完成后，新建.py文件参考以下代码（注意：采用方式二安装时，可以在src\u002F下新建）\n- 所有代码示例 src\u002Fexamples可见\n\n\u003Cdetails>\n    \u003Csummary>Bilibili 直播数字人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VtuBer\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VtuBer(\n    system=\"\"\"角色：你现在是一位在哔哩哔哩网站的主播，你很熟悉哔哩哔哩上的网友发言习惯和平台调性，擅长与年轻人打交道。\n背景：通过直播中和用户弹幕的互动，产出有趣的对话，以此吸引更多人来观看直播并关注你。\n任务：你在直播过程中会对每一位直播间用户发的弹幕进行回答，但是要以“杠精”的思维去回答，你会怒怼这些弹幕，不放过每一条弹幕，每次回答字数不能超过100字。\"\"\",  # 人设\n    room_id=00000,  # Bilibili房间号\n    openai_api_key=\"\"\"xxx\"\"\",  # 同上\n    is_filter=True,  # 是否开启过滤\n    extra_ban_words=[],  # 额外的违禁词\n    concurrent_num=2  # 控制回复弹幕速度\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\nbilibili直播数字人参数：\n:param room_id:  bilibili直播房间号\n:param credential:  bilibili 账号认证\n:param is_filter: 是否开启过滤\n:param user_input: 是否开启终端输入\n:param extra_ban_words: 额外的违禁词\n\n...见更多配置\n\"\"\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>视频@回复机器人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VideoCommentUP\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VideoCommentUP(\n    up_sleep=10,  # 生成回复间隔事件\n    listener_sleep=60 * 2,  # 2分钟获取一次@消息\n    system=\"你是一个会评论视频B站用户，请根据视频内容做出总结、评论\",\n    signals=['总结一下'],\n    openai_api_key='xxx',\n    model_name='gpt-3.5-turbo',\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\n视频下at信息回复机器人\n:param credential: bilibili认证\n:param model_name: openai MODEL\n:param signals:  at暗号列表 （注意：B站会过滤一些词）\n:param limit_video_seconds: 过滤视频长度 \n:param limit_token: 请求GPT token限制（默认为model name）\n:param limit_length: 请求GPT 字符串长度限制\n:param compress_mode: 请求GPT 压缩过长的视频文字的方式\n    - random：随机跳跃筛选\n    - left：从左到右\n    \n:param up_sleep: 每次回复的间隔运行时间(秒)\n:param listener_sleep: listener 每次读取@消息的间隔运行时间(秒)\n...见更多配置\n\"\"\"\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>B站私信Bot\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import ChatUP, Event\n\n\n# bilibili cookie 通过浏览器edge提取，apikey从.env读取\nChatUP(\n    system='你是一位聊天AI助手',\n    # event_name_list 订阅消息列表\n    event_name_list=[Event.TEXT],\n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='load'\n).loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>实时语音交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\nconfig.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' or 创建.env文件 OPENAI_API_KEY=xxx\n\n# 语音实时识别回复\n# 修改语音识别模块配置 config.convert['speech_rec']\nUserInputReplyUP(system='你是一位AI助手', listen='speech').loop() \n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>终端交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' or 创建.env文件 OPENAI_API_KEY=xxx\n\n# 终端回复\nUserInputReplyUP(system='你是一位AI助手', listen='console').loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>更多配置（可忽略）\u003C\u002Fsummary>\n\u003Cbr>\n\n```text\n\"\"\"\nUploader 所有公共参数：\n:param listeners:  感知\n:param concurrent_num:  并发数\n:param up_sleep: uploader 间隔运行时间 \n:param listener_sleep: listener 间隔运行时间 \n:param system:   人设\n\n:param openai_api_key:  openai秘钥\n:param openai_proxy:   http代理\n:param openai_api_base:  openai endpoint\n:param temperature:  gpt温度\n:param max_tokens:  gpt输出长度\n:param chat_model_kwargs:  langchain chatModel额外配置参数\n:param llm_chain_kwargs:  langchain chatChain额外配置参数\n\n:param brain:  含有run方法的类\n:param mq:  通信队列\n\"\"\"\n```\n\n全局配置文件：\n```python\n\"\"\"\nlangup\u002Fconfig.py\n修改方式：\nform langup import config\nconfig.xxx = xxx\n\"\"\"\nimport os\nfrom typing import Union\n\ncredential: Union['Credential', None] = None\nwork_dir = '.\u002F'\n\ntts = {\n    \"voice\": \"zh-CN-XiaoyiNeural\",\n    \"rate\": \"+0%\",\n    \"volume\": \"+0%\",\n    \"voice_path\": 'voice\u002F'\n}\n\nlog = {\n    \"handlers\": [\"console\"],  # console打印, file文件存储\n    \"file_path\": \"logs\u002F\"\n}\n\nconvert = {\n    \"audio_path\": \"audio\u002F\"\n}\n\nroot = os.path.dirname(__file__)\nopenai_api_key = None  # sk-...\nopenai_api_base = None  # https:\u002F\u002F{your_domain}\u002Fv1\nproxy = None  # 代理\ndebug = True\n```\n\u003C\u002Fdetails>\n更多机器人开发中...\n\u003Cbr>\n\n## 注意事项\n- api_key可自动从环境变量获取\n- 国内环境需要设置代理或者openai_api_base 推荐config.proxy='xxx'全局设置，避免设置局部代理导致其它服务不可用\n- Bilibili UP都需要 认证信息，获取使用方式如下\n  - 登录Bilibili 从浏览器获取cookie:https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential \n  - 作为字典参数\"credential\"传入，或者api_key和Bilibili cookie等信息可以写到.env文件中，程序会隐式读取，参考src\u002F.env.temple\n  - 10.26更新，不需要手动获取，只要你浏览器最近登录过，程序会自动读取浏览器数据 \n    （可以优先尝试，注意windows用户需要完全关闭浏览器进程，否则会出现资源占用情况）\n\n## 架构设计\n部分模块待实现\n\u003Cimg align=\"center\" width=\"50%\" height=\"auto\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiran214_langup-ai_readme_d21297affb5b.png\" >\n\n## TodoList\n- Uploader\n  - Vtuber\n    - [X] 基本功能\n    - [X] 违禁词\n    - [X] 并发\n  - VideoCommentUP\n    - [X] 基本功能\n  - UserInputUP\n    - [X] 基本功能\n    - [X] 语音识别\n- Listener\n  - [X] 语音识别\n  - [ ] 微信\n  - [ ] Bilibili 私信\n  - [ ] QQ\n- Reaction\n- 其它\n  - 日志记录\n  - pydantic重构部分类\n  - 认证信息自动获取\n\n## 提示\n\u003Cdetails>\n    \u003Csummary>国内访问ChatGPT方式：Vercel反向代理openai api\u003C\u002Fsummary>\n    具体见 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\" target=\"_blank\">https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\u003C\u002Fa>\n    \u003Cbr>\n    \u003Cimg src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F5e471e99e8e022cf454693e38ec843036ec6301e27ee1e1fa10325b1cb720584\u002F68747470733a2f2f76657263656c2e636f6d2f627574746f6e\" alt=\"Vercel\" data-canonical-src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiran214_langup-ai_readme_a4c0f8073a9c.png\" style=\"max-width: 100%;\"> \n\u003Cbr>\n\u003Cbr>\n\u003C\u002Fdetails>\n\n## 最后\n- 感谢项目依赖的开源\n  - langchain https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain\n  - Bilibili API https:\u002F\u002Fgithub.com\u002Fnemo2011\u002Fbilibili-api\n  - 必剪API https:\u002F\u002Fgithub.com\u002FSocialSisterYi\u002Fbcut-asr\n- 禁止滥用本库，使用本库请遵守各平台安全规范，可通过提示词、过滤输入等方式\n- 示例代码仅供参考，尤其是提示词编写没有必要一样\n- 代码可能异常，对于改进和报错问题可以在写在issues","# \u003Ccenter> Langup\n\u003Cp align='center'>\n   语言模型 + 机器人\n\u003Cbr>\n\u003Cbr>\n    🚀AGI时代的通用机器人🚀\n\u003C\u002Fp>\n\n## 安装\n环境：python>=3.8\n\n- 方式一\n  ```shell\n  pip install langup==0.0.10\n  ```\n- 方式二(建议使用Python虚拟环境)\n  ```shell\n  git clone https:\u002F\u002Fgithub.com\u002Fjiran214\u002Flangup-ai.git\n  cd langup-ai\u002F\n  python -m pip install –upgrade pip\n  python -m pip install -r requirements.txt\n  ```\n  \n\n## 快速开始\n- 安装完成后，新建.py文件参考以下代码（注意：采用方式二安装时，可以在src\u002F下新建）\n- 所有代码示例 src\u002Fexamples可见\n\n\u003Cdetails>\n    \u003Csummary>Bilibili直播数字人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VtuBer\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VtuBer(\n    system=\"\"\"角色：你现在是一位在哔哩哔哩网站的主播，你很熟悉哔哩哔哩上的网友发言习惯和平台调性，擅长与年轻人打交道。\n背景：通过直播中和用户弹幕的互动，产出有趣的对话，以此吸引更多人来观看直播并关注你。\n任务：你在直播过程中会对每一位直播间用户发的弹幕进行回答，但是要以“杠精”的思维去回答，你会怒怼这些弹幕，不放过每一条弹幕，每次回答字数不能超过100字。\"\"\",  # 人设\n    room_id=00000,  # Bilibili房间号\n    openai_api_key=\"\"\"xxx\"\"\",  # 同上\n    is_filter=True,  # 是否开启过滤\n    extra_ban_words=[],  # 额外的违禁词\n    concurrent_num=2  # 控制回复弹幕速度\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\nbilibili直播数字人参数：\n:param room_id:  bilibili直播房间号\n:param credential:  bilibili 账号认证\n:param is_filter: 是否开启过滤\n:param user_input: 是否开启终端输入\n:param extra_ban_words: 额外的违禁词\n\n...见更多配置\n\"\"\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>视频@回复机器人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VideoCommentUP\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VideoCommentUP(\n    up_sleep=10,  # 生成回复间隔事件\n    listener_sleep=60 * 2,  # 2分钟获取一次@消息\n    system=\"你是一个会评论视频B站用户，请根据视频内容做出总结、评论\",\n    signals=['总结一下'],\n    openai_api_key='xxx',\n    model_name='gpt-3.5-turbo',\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\n视频下at信息回复机器人\n:param credential: bilibili认证\n:param model_name: openai MODEL\n:param signals:  at暗号列表 （注意：B站会过滤一些词）\n:param limit_video_seconds: 过滤视频长度 \n:param limit_token: 请求GPT token限制（默认为model name）\n:param limit_length: 请求GPT 字符串长度限制\n:param compress_mode: 请求GPT 压缩过长的视频文字的方式\n    - random：随机跳跃筛选\n    - left：从左到右\n    \n:param up_sleep: 每次回复的间隔运行时间(秒)\n:param listener_sleep: listener 每次读取@消息的间隔运行时间(秒)\n...见更多配置\n\"\"\"\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>B站私信Bot\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import ChatUP, Event\n\n\n# bilibili cookie 通过浏览器edge提取，apikey从.env读取\nChatUP(\n    system='你是一位聊天AI助手',\n    # event_name_list 订阅消息列表\n    event_name_list=[Event.TEXT],\n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='load'\n).loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>实时语音交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\nconfig.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' 或 创建.env文件 OPENAI_API_KEY=xxx\n\n# 语音实时识别回复\n# 修改语音识别模块配置 config.convert['speech_rec']\nUserInputReplyUP(system='你是一位AI助手', listen='speech').loop() \n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>终端交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' 或 创建.env文件 OPENAI_API_KEY=xxx\n\n# 终端回复\nUserInputReplyUP(system='你是一位AI助手', listen='console').loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>更多配置（可忽略）\u003C\u002Fsummary>\n\u003Cbr>\n\n```text\n\"\"\"\nUploader 所有公共参数：\n:param listeners:  感知\n:param concurrent_num:  并发数\n:param up_sleep: uploader 间隔运行时间 \n:param listener_sleep: listener 间隔运行时间 \n:param system:   人设\n\n:param openai_api_key:  openai秘钥\n:param openai_proxy:   http代理\n:param openai_api_base:  openai endpoint\n:param temperature:  gpt温度\n:param max_tokens:  gpt输出长度\n:param chat_model_kwargs:  langchain chatModel额外配置参数\n:param llm_chain_kwargs:  langchain chatChain额外配置参数\n\n:param brain:  含有run方法的类\n:param mq:  通信队列\n\"\"\"\n```\n\n全局配置文件：\n```python\n\"\"\"\nlangup\u002Fconfig.py\n修改方式：\nform langup import config\nconfig.xxx = xxx\n\"\"\"\nimport os\nfrom typing import Union\n\ncredential: Union['Credential', None] = None\nwork_dir = '.\u002F'\n\ntts = {\n    \"voice\": \"zh-CN-XiaoyiNeural\",\n    \"rate\": \"+0%\",\n    \"volume\": \"+0%\",\n    \"voice_path\": 'voice\u002F'\n}\n\nlog = {\n    \"handlers\": [\"console\"],  # console打印, file文件存储\n    \"file_path\": \"logs\u002F\"\n}\n\nconvert = {\n    \"audio_path\": \"audio\u002F\"\n}\n\nroot = os.path.dirname(__file__)\nopenai_api_key = None  # sk-...\nopenai_api_base = None  # https:\u002F\u002F{your_domain}\u002Fv1\nproxy = None  # 代理\ndebug = True\n```\n\u003C\u002Fdetails>\n更多机器人开发中...\n\u003Cbr>\n\n## 注意事项\n- api_key可自动从环境变量获取\n- 国内环境需要设置代理或者openai_api_base 推荐config.proxy='xxx'全局设置，避免设置局部代理导致其它服务不可用\n- Bilibili UP都需要 认证信息，获取使用方式如下\n  - 登录Bilibili 从浏览器获取cookie:https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential \n  - 作为字典参数\"credential\"传入，或者api_key和Bilibili cookie等信息可以写到.env文件中，程序会隐式读取，参考src\u002F.env.temple\n  - 10.26更新，不需要手动获取，只要你浏览器最近登录过，程序会自动读取浏览器数据 \n    （可以优先尝试，注意windows用户需要完全关闭浏览器进程，否则会出现资源占用情况）\n\n## 架构设计\n部分模块待实现\n\u003Cimg align=\"center\" width=\"50%\" height=\"auto\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiran214_langup-ai_readme_d21297affb5b.png\" >\n\n## TodoList\n- Uploader\n  - Vtuber\n    - [X] 基本功能\n    - [X] 违禁词\n    - [X] 并发\n  - VideoCommentUP\n    - [X] 基本功能\n  - UserInputUP\n    - [X] 基本功能\n    - [X] 语音识别\n- Listener\n  - [X] 语音识别\n  - [ ] 微信\n  - [ ] Bilibili 私信\n  - [ ] QQ\n- Reaction\n- 其它\n  - 日志记录\n  - pydantic重构部分类\n  - 认证信息自动获取\n\n## 提示\n\u003Cdetails>\n    \u003Csummary>国内访问ChatGPT方式：Vercel反向代理openai api\u003C\u002Fsummary>\n    具体见 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\" target=\"_blank\">https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\u003C\u002Fa>\n    \u003Cbr>\n    \u003Cimg src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F5e471e99e8e022cf454693e38ec843036ec6301e27ee1e1fa10325b1cb720584\u002F68747470733a2f2f76657263656c2e642f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f6275746f6e2f......# \u003Ccenter> Langup\n\u003Cp align='center'>\n   语言模型 + 机器人\n\u003Cbr>\n\u003Cbr>\n    🚀AGI时代的通用机器人🚀\n\u003C\u002Fp>\n\n## 安装\n环境：python>=3.8\n\n- 方式一\n  ```shell\n  pip install langup==0.0.10\n  ```\n- 方式二(建议使用Python虚拟环境)\n  ```shell\n  git clone https:\u002F\u002Fgithub.com\u002Fjiran214\u002Flangup-ai.git\n  cd langup-ai\u002F\n  python -m pip install –upgrade pip\n  python -m pip install -r requirements.txt\n  ```\n  \n\n## 快速开始\n- 安装完成后，新建.py文件参考以下代码（注意：采用方式二安装时，可以在src\u002F下新建）\n- 所有代码示例 src\u002Fexamples可见\n\n\u003Cdetails>\n    \u003Csummary>Bilibili 直播数字人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VtuBer\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VtuBer(\n    system=\"\"\"角色：你现在是一位在哔哩哔哩网站的主播，你很熟悉哔哩哔哩上的网友发言习惯和平台调性，擅长与年轻人打交道。\n背景：通过直播中和用户弹幕的互动，产出有趣的对话，以此吸引更多人来观看直播并关注你。\n任务：你在直播过程中会对每一位直播间用户发的弹幕进行回答，但是要以“杠精”的思维去回答，你会怒怼这些弹幕，不放过每一条弹幕，每次回答字数不能超过100字。\"\"\",  # 人设\n    room_id=00000,  # Bilibili房间号\n    openai_api_key=\"\"\"xxx\"\"\",  # 同上\n    is_filter=True,  # 是否开启过滤\n    extra_ban_words=[],  # 额外的违禁词\n    concurrent_num=2  # 控制回复弹幕速度\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\nbilibili直播数字人参数：\n:param room_id:  bilibili直播房间号\n:param credential:  bilibili 账号认证\n:param is_filter: 是否开启过滤\n:param user_input: 是否开启终端输入\n:param extra_ban_words: 额外的违禁词\n\n...见更多配置\n\"\"\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>视频@回复机器人\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import config, VideoCommentUP\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\nup = VideoCommentUP(\n    up_sleep=10,  # 生成回复间隔事件\n    listener_sleep=60 * 2,  # 2分钟获取一次@消息\n    system=\"你是一个会评论视频B站用户，请根据视频内容做出总结、评论\",\n    signals=['总结一下'],\n    openai_api_key='xxx',\n    model_name='gpt-3.5-turbo',\n  \n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='edge'\n)\nup.loop()\n```\n\n```text\n\"\"\"\n视频下at信息回复机器人\n:param credential: bilibili认证\n:param model_name: openai MODEL\n:param signals:  at暗号列表 （注意：B站会过滤一些词）\n:param limit_video_seconds: 过滤视频长度 \n:param limit_token: 请求GPT token限制（默认为model name）\n:param limit_length: 请求GPT 字符串长度限制\n:param compress_mode: 请求GPT 压缩过长的视频文字的方式\n    - random：随机跳跃筛选\n    - left：从左到右\n    \n:param up_sleep: 每次回复的间隔运行时间(秒)\n:param listener_sleep: listener 每次读取@消息的间隔运行时间(秒)\n...见更多配置\n\"\"\"\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>B站私信Bot\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import ChatUP, Event\n\n\n# bilibili cookie 通过浏览器edge提取，apikey从.env读取\nChatUP(\n    system='你是一位聊天AI助手',\n    # event_name_list 订阅消息列表\n    event_name_list=[Event.TEXT],\n    # credential 参数说明\n    # 方式一: credential为空，从工作目录\u002F.env文件读取credential\n    # 方式二: 直接传入 https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential\n    # credential={\"sessdata\": 'xxx', \"buvid3\": 'xxx', \"bili_jct\": 'xxx'}\n    # 方式三: 自动从浏览器资源读取\n    # browser='load'\n).loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>实时语音交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\nconfig.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' 或 创建.env文件 OPENAI_API_KEY=xxx\n\n# 语音实时识别回复\n# 修改语音识别模块配置 config.convert['speech_rec']\nUserInputReplyUP(system='你是一位AI助手', listen='speech').loop() \n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>终端交互助手\u003C\u002Fsummary>\n\u003Cbr>\n\n```python\nfrom langup import UserInputReplyUP, config\n\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n# config.openai_api_key = 'xxx' 或 创建.env文件 OPENAI_API_KEY=xxx\n\n# 终端回复\nUserInputReplyUP(system='你是一位AI助手', listen='console').loop()\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary>更多配置（可忽略）\u003C\u002Fsummary>\n\u003Cbr>\n\n```text\n\"\"\"\nUploader 所有公共参数：\n:param listeners:  感知\n:param concurrent_num:  并发数\n:param up_sleep: uploader 间隔运行时间 \n:param listener_sleep: listener 间隔运行时间 \n:param system:   人设\n\n:param openai_api_key:  openai秘钥\n:param openai_proxy:   http代理\n:param openai_api_base:  openai endpoint\n:param temperature:  gpt温度\n:param max_tokens:  gpt输出长度\n:param chat_model_kwargs:  langchain chatModel额外配置参数\n:param llm_chain_kwargs:  langchain chatChain额外配置参数\n\n:param brain:  含有run方法的类\n:param mq:  通信队列\n\"\"\"\n```\n\n全局配置文件：\n```python\n\"\"\"\nlangup\u002Fconfig.py\n修改方式：\nform langup import config\nconfig.xxx = xxx\n\"\"\"\nimport os\nfrom typing import Union\n\ncredential: Union['Credential', None] = None\nwork_dir = '.\u002F'\n\ntts = {\n    \"voice\": \"zh-CN-XiaoyiNeural\",\n    \"rate\": \"+0%\",\n    \"volume\": \"+0%\",\n    \"voice_path\": 'voice\u002F'\n}\n\nlog = {\n    \"handlers\": [\"console\"],  # console打印, file文件存储\n    \"file_path\": \"logs\u002F\"\n}\n\nconvert = {\n    \"audio_path\": \"audio\u002F\"\n}\n\nroot = os.path.dirname(__file__)\nopenai_api_key = None  # sk-...\nopenai_api_base = None  # https:\u002F\u002F{your_domain}\u002Fv1\nproxy = None  # 代理\ndebug = True\n```\n\u003C\u002Fdetails>\n更多机器人开发中...\n\u003Cbr>\n\n## 注意事项\n- api_key可自动从环境变量获取\n- 国内环境需要设置代理或者openai_api_base 推荐config.proxy='xxx'全局设置，避免设置局部代理导致其它服务不可用\n- Bilibili UP都需要 认证信息，获取使用方式如下\n  - 登录Bilibili 从浏览器获取cookie:https:\u002F\u002Fnemo2011.github.io\u002Fbilibili-api\u002F#\u002Fget-credential \n  - 作为字典参数\"credential\"传入，或者api_key和Bilibili cookie等信息可以写到.env文件中，程序会隐式读取，参考src\u002F.env.temple\n  - 10.26更新，不需要手动获取，只要你浏览器最近登录过，程序会自动读取浏览器数据 \n    （可以优先尝试，注意windows用户需要完全关闭浏览器进程，否则会出现资源占用情况）\n\n## 架构设计\n部分模块待实现\n\u003Cimg align=\"center\" width=\"50%\" height=\"auto\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiran214_langup-ai_readme_d21297affb5b.png\" >\n\n## TodoList\n- Uploader\n  - Vtuber\n    - [X] 基本功能\n    - [X] 违禁词\n    - [X] 并发\n  - VideoCommentUP\n    - [X] 基本功能\n  - UserInputUP\n    - [X] 基本功能\n    - [X] 语音识别\n- Listener\n  - [X] 语音识别\n  - [ ] 微信\n  - [ ] Bilibili 私信\n  - [ ] QQ\n- Reaction\n- 其它\n  - 日志记录\n  - pydantic重构部分类\n  - 认证信息自动获取\n\n## 提示\n\u003Cdetails>\n    \u003Csummary>国内访问ChatGPT方式：Vercel反向代理openai api\u003C\u002Fsummary>\n    具体见 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\" target=\"_blank\">https:\u002F\u002Fgithub.com\u002Fjiran214\u002Fproxy\u003C\u002Fa>\n    \u003Cbr>\n    \u003Cimg src=\"https:\u002F\u002Fcamo.githubusercontent.com\u002F5e471e99e8e022cf454693e38ec843036ec6301e27ee1e1fa10325b1cb720584\u002F68747470733a2f2f76657263656c2e646f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f6e2f627574746f......","# Langup AI 快速上手指南\n\nLangup 是一个基于 LLM（大语言模型）的通用机器人框架，专为 AGI 时代设计，支持 B 站直播数字人、视频评论回复、私信助手及语音\u002F终端交互等多种场景。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Windows \u002F macOS \u002F Linux\n*   **Python 版本**：>= 3.8\n*   **前置依赖**：\n    *   OpenAI API Key（或兼容的 LLM 接口）\n    *   （可选）B 站账号 Cookie（用于 B 站相关功能，支持自动从浏览器读取）\n    *   （可选）国内网络环境需配置代理或使用反向代理服务\n\n## 2. 安装步骤\n\n推荐以下两种安装方式，任选其一即可。\n\n### 方式一：pip 直接安装（推荐）\n\n```shell\npip install langup==0.0.10\n```\n\n### 方式二：源码安装（建议使用虚拟环境）\n\n适合需要修改源码或查看示例的用户。\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fjiran214\u002Flangup-ai.git\ncd langup-ai\u002F\npython -m pip install –upgrade pip\npython -m pip install -r requirements.txt\n```\n\n> **提示**：若在国内访问 OpenAI 服务受限，建议在代码全局配置中设置代理：\n> `config.proxy = 'http:\u002F\u002F127.0.0.1:7890'`\n\n## 3. 基本使用\n\n安装完成后，新建一个 `.py` 文件（若在源码目录下，建议在 `src\u002F` 文件夹内创建），根据需求选择以下任一场景运行。\n\n### 场景 A：B 站直播数字人 (VtuBer)\n自动回复直播间弹幕，可自定义人设（如“杠精”模式）。\n\n```python\nfrom langup import config, VtuBer\n\n# 配置代理（如需）\n# config.proxy = 'http:\u002F\u002F127.0.0.1:7890'\n\nup = VtuBer(\n    system=\"\"\"角色：你现在是一位在哔哩哔哩网站的主播，你很熟悉哔哩哔哩上的网友发言习惯和平台调性，擅长与年轻人打交道。\n背景：通过直播中和用户弹幕的互动，产出有趣的对话，以此吸引更多人来观看直播并关注你。\n任务：你在直播过程中会对每一位直播间用户发的弹幕进行回答，但是要以“杠精”的思维去回答，你会怒怼这些弹幕，不放过每一条弹幕，每次回答字数不能超过 100 字。\"\"\",\n    room_id=00000,  # 替换为你的 B 站房间号\n    openai_api_key=\"xxx\",  # 替换为你的 API Key，或放入.env 文件\n    is_filter=True,  # 开启违禁词过滤\n    concurrent_num=2  # 控制回复并发数\n    # credential 可不传，程序会自动尝试从已登录的浏览器读取\n)\nup.loop()\n```\n\n### 场景 B：视频评论回复机器人\n监听视频下的 @消息，自动生成总结或评论。\n\n```python\nfrom langup import config, VideoCommentUP\n\nup = VideoCommentUP(\n    up_sleep=10,  # 回复间隔时间（秒）\n    listener_sleep=60 * 2,  # 获取@消息间隔（秒）\n    system=\"你是一个会评论视频 B 站用户，请根据视频内容做出总结、评论\",\n    signals=['总结一下'],  # 触发回复的关键词\n    openai_api_key='xxx',\n    model_name='gpt-3.5-turbo',\n    # credential 可不传，支持自动读取浏览器登录状态\n)\nup.loop()\n```\n\n### 场景 C：终端\u002F语音交互助手\n最简单的本地交互模式，支持命令行输入或语音输入。\n\n**终端交互：**\n```python\nfrom langup import UserInputReplyUP, config\n\n# config.openai_api_key = 'xxx' 或在根目录创建 .env 文件写入 OPENAI_API_KEY=xxx\n\nUserInputReplyUP(system='你是一位 AI 助手', listen='console').loop()\n```\n\n**语音实时交互：**\n```python\nfrom langup import UserInputReplyUP, config\n\n# 需确保已安装语音识别相关依赖\nUserInputReplyUP(system='你是一位 AI 助手', listen='speech').loop() \n```\n\n### 关键配置说明\n\n*   **认证信息 (Credential)**：\n    *   **自动读取**：只要浏览器（Edge\u002FChrome 等）最近登录过 B 站，程序会自动读取（Windows 用户需完全关闭浏览器进程）。\n    *   **手动传入**：`credential={\"sessdata\": '...', \"buvid3\": '...', \"bili_jct\": '...'}`\n    *   **环境变量**：将 key 和 cookie 写入项目根目录的 `.env` 文件。\n*   **API Key**：优先从环境变量 `OPENAI_API_KEY` 读取，也可在代码中直接传入。\n*   **代理设置**：国内用户建议在全局配置 `config.proxy` 统一设置，避免局部代理冲突。","一位 B 站虚拟主播（VTuber）希望在不增加运营人力的情况下，实现直播间弹幕的趣味互动与视频评论区的自动维护。\n\n### 没有 langup-ai 时\n- **互动响应滞后**：主播在专注游戏或表演时，无法实时阅读并回复海量弹幕，导致观众参与感低，直播间氛围冷清。\n- **人设难以维持**：人工助理难以时刻保持“杠精”或特定幽默风格，回复往往千篇一律，缺乏个性与趣味性。\n- **视频运营断层**：新视频发布后，无法及时回复评论区的大量@留言和私信，错失粉丝转化与留存的最佳时机。\n- **多端操作繁琐**：需要同时盯着直播后台、评论区和个人消息，精力分散，极易造成运营事故或遗漏重要信息。\n\n### 使用 langup-ai 后\n- **全天候实时互动**：通过 `VtuBer` 模块，AI 能毫秒级识别弹幕并基于预设的“杠精”人设自动回怼，直播间瞬间热闹起来。\n- **人设高度统一**：利用 LLM 强大的语境理解能力，确保每一条回复都符合“熟悉 B 站调性”的角色设定，输出内容有趣且字数可控。\n- **自动化社区运营**：部署 `VideoCommentUP` 和 `ChatUP` 后，机器人自动总结视频内容回复评论，并处理私信，实现 24 小时不间断粉丝维系。\n- **多场景无缝切换**：一套代码即可同时支撑直播、视频评论、私信及终端语音交互，大幅降低开发门槛与维护成本。\n\nlangup-ai 将原本需要多人协作的复杂社交运营工作，转化为可自定义人设的自动化流程，让创作者真正从繁琐互动中解放出来。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiran214_langup-ai_c6fdc609.png","jiran214","JiRan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjiran214_919c3b21.jpg",null,"https:\u002F\u002Fgithub.com\u002Fjiran214",[78],{"name":79,"color":80,"percentage":81},"Python","#3572A5",100,713,128,"2026-04-04T13:29:44","MIT","未说明",{"notes":88,"python":89,"dependencies":90},"国内环境使用 OpenAI 服务需配置 HTTP 代理或自定义 API Base；Bilibili 相关功能需要账号认证信息（可通过浏览器自动读取或手动配置 Cookie）；语音交互功能依赖本地语音识别模块配置。","3.8+",[91,92,93],"langup","langchain","bilibili-api",[13,95,35,14],"其他",[97,98,99,100,92,101],"bilibili","bot","chatgpt","gpt","openai","2026-03-27T02:49:30.150509","2026-04-07T02:33:02.118233",[],[106,111],{"id":107,"version":108,"summary_zh":109,"released_at":110},126721,"v0.0.9","用户输入向上","2023-10-23T15:11:45",{"id":112,"version":113,"summary_zh":114,"released_at":115},126722,"v0.0.7","1. 项目框架\n2. 直播机器人\n3. 终端聊天机器人","2023-10-17T08:50:17"]