[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-robswc--tradingview-webhooks-bot":3,"tool-robswc--tradingview-webhooks-bot":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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":80,"owner_twitter":76,"owner_website":82,"owner_url":83,"languages":84,"stars":105,"forks":106,"last_commit_at":107,"license":108,"difficulty_score":10,"env_os":109,"env_gpu":110,"env_ram":111,"env_deps":112,"category_tags":117,"github_topics":118,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":132,"updated_at":133,"faqs":134,"releases":170},3924,"robswc\u002Ftradingview-webhooks-bot","tradingview-webhooks-bot","a framework 🏗 for trading with tradingview webhooks!","tradingview-webhooks-bot 是一个基于 Python 构建的轻量级框架，旨在帮助交易者将 TradingView 的技术分析信号转化为实际的自动化操作。它并非直接提供现成的交易策略库，而是作为一个灵活的基础设施，让用户能够接收 TradingView 发出的 Webhook 通知，并在此基础上编写和执行自定义逻辑。\n\n对于希望在 TradingView 图表上制定策略，但需要将信号对接到个人交易系统、数据库或通知服务的用户来说，这个工具解决了“最后一公里”的连接难题。它特别适合具备一定编程基础的开发者、量化交易爱好者以及希望搭建私有化交易基础设施的研究人员。普通用户若无需定制逻辑，可能更适合直接使用成熟的商业方案。\n\n该工具的核心亮点在于其事件驱动架构和模块化设计。内置的 Flask Web 服务作为图形化管理界面，简化了配置流程；同时，它提供了便捷的命令行工具，让用户能快速创建、注册并将自定义“动作”链接到\"Webhook 接收”等事件上。无论是部署在云端还是本地，配合 Docker 容器化技术，都能实现稳定高效的运行。通过 tradingview-webhoo","tradingview-webhooks-bot 是一个基于 Python 构建的轻量级框架，旨在帮助交易者将 TradingView 的技术分析信号转化为实际的自动化操作。它并非直接提供现成的交易策略库，而是作为一个灵活的基础设施，让用户能够接收 TradingView 发出的 Webhook 通知，并在此基础上编写和执行自定义逻辑。\n\n对于希望在 TradingView 图表上制定策略，但需要将信号对接到个人交易系统、数据库或通知服务的用户来说，这个工具解决了“最后一公里”的连接难题。它特别适合具备一定编程基础的开发者、量化交易爱好者以及希望搭建私有化交易基础设施的研究人员。普通用户若无需定制逻辑，可能更适合直接使用成熟的商业方案。\n\n该工具的核心亮点在于其事件驱动架构和模块化设计。内置的 Flask Web 服务作为图形化管理界面，简化了配置流程；同时，它提供了便捷的命令行工具，让用户能快速创建、注册并将自定义“动作”链接到\"Webhook 接收”等事件上。无论是部署在云端还是本地，配合 Docker 容器化技术，都能实现稳定高效的运行。通过 tradingview-webhooks-bot，用户可以完全掌控数据流向，自由扩展功能，打造专属的自动化交易工作流。","![demopic](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobswc_tradingview-webhooks-bot_readme_c1dbd8a9eb16.png)\n\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Frobswc\u002Ftradingview-webhooks-bot?style=for-the-badge)\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fy\u002Frobswc\u002Ftradingview-webhooks-bot?style=for-the-badge)\n![](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Frobswc?style=for-the-badge)\n\n[tvwb_demo.webm](https:\u002F\u002Fuser-images.githubusercontent.com\u002F38849824\u002F192352217-0bd08426-98b7-4188-8e5b-67d7aa93ba09.webm)\n\n### 📀 Live Demo 🖥\n**There's now a live demo available at [http:\u002F\u002Ftvwb.robswc.me](http:\u002F\u002Ftvwb.robswc.me).  \nFeel free to check it out or send it some webhooks!**\n\n[![DigitalOcean Referral Badge](https:\u002F\u002Fweb-platforms.sfo2.cdn.digitaloceanspaces.com\u002FWWW\u002FBadge%201.svg)](https:\u002F\u002Fwww.digitalocean.com\u002F?refcode=2865cad8f863&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)\n\n### [Get Support on Discord](https:\u002F\u002Fdiscord.gg\u002FwrjuSaZCFh)\n\n\n# The What 🔬\n\nTradingview-webhooks-bot (TVWB) is a small, Python-based framework that allows you to extend or implement your own logic\nusing data from [Tradingview's webhooks](https:\u002F\u002Fwww.tradingview.com\u002Fsupport\u002Fsolutions\u002F43000529348-about-webhooks\u002F). TVWB is not a trading library, it's a framework for building your own trading logic.\n\n# The How 🏗\n\nTVWB is fundamentally a set of components with a webapp serving as the GUI. TVWB was built with event-driven architecture in mind that provides you with the building blocks to extend or implement your own custom logic.\nTVWB uses [Flask](https:\u002F\u002Fflask.palletsprojects.com\u002Fen\u002F2.2.x\u002F) to handle the webhooks and provides you with a simple API to interact with the data.\n\n# Quickstart 📘\n\n### Docker compose command\n\n```bash\ndocker-compose run app start\n```\n\n### Installation\n\n* [Docker](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FDocker) (recommended)\n* [Manual](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FInstallation)\n\n### Hosting\n\n* [Deploying](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting)\n  * [Cloud](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting#cloud-hosting) (recommended)\n  * [Local](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting#using-a-personal-pc)\n\n\n---\nEnsure you're in the `src` directory. When running the following commands, **if you installed manually**.  \n**If you used docker**,\nstart the tvwb.py shell with `docker-compose run app shell` (in the project root directory) and omit the `python3 tvwb.py` portion of the commands.\n\n---\n### Creating an action\n\n```bash\npython3 tvwb.py action:create NewAction --register\n```\n\nThis creates an action and automatically registers it with the app.  [Learn more on registering here](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FRegistering).\n\n_Note, action and event names should **_always_** be in PascalCase._\n\nYou can also check out some \"pre-made\" [community actions](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Ftree\u002Fmaster\u002Fsrc\u002Fcomponents\u002Factions\u002Fcommunity_created_actions)!\n\n### Linking an action to an event\n\n```bash\npython3 tvwb.py action:link NewAction WebhookReceived\n```\n\nThis links an action to the `WebhookReceived` event.  The `WebhookReceived` event is fired when a webhook is received by the app and is currently the only default event.\n\n### Editing an action\n\nNavigate to `src\u002Fcomponents\u002Factions\u002FNewAction.py` and edit the `run` method.  You will see something similar to the following code.\nFeel free to delete the \"Custom run method\" comment and replace it with your own logic.  Below is an example of how you can access\nthe webhook data.\n\n```python\nclass NewAction(Action):\n    def __init__(self):\n        super().__init__()\n\n    def run(self, *args, **kwargs):\n        super().run(*args, **kwargs)  # this is required\n        \"\"\"\n        Custom run method. Add your custom logic here.\n        \"\"\"\n        data = self.validate_data()  # always get data from webhook by calling this method!\n        print('Data from webhook:', data)\n```\n\n### Running the app\n\n```bash\npython3 tvwb.py start\n```\n\n### Sending a webhook\n\nNavigate to `http:\u002F\u002Flocalhost:5000`.  Ensure you see the `WebhookReceived` Event.  Click \"details\" to expand the event box.\nFind the \"Key\" field and note the value.  This is the key you will use to send a webhook to the app.  Copy the JSON data below,\nreplacing \"YOUR_KEY_HERE\" with the key you copied.\n\n```json\n{\n    \"key\": \"YOUR_KEY_HERE\",\n    \"message\": \"I'm a webhook!\"\n}\n```\n\nThe `key` field is required, as it both authenticates the webhook and tells the app which event to fire.  Besides that, you can\nsend any data you want.  The data will be available to your action via the `validate_data()` method. (see above, editing action)\n\nOn tradingview, create a new webhook with the above JSON data and send it to `http:\u002F\u002Fipaddr:5000\u002Fwebhook`.  You should see the data from the webhook printed to the console.\n\n### FAQs\n\n#### So how do I actually trade?\n\nTo actually submit trades, you will have to use a library like [ccxt](https:\u002F\u002Fgithub.com\u002Fccxt\u002Fccxt) for crypto currency.  For other brokers, usually there are \nSDKs or APIs available.  The general workflow would look something like: webhook signal -> tvwb (use ccxt here) -> broker.  Your trade submission would take place within the `run` method of a custom action.\n\n#### The tvwb.py shell\n\nYou can use the `tvwb.py shell` command to open a python shell with the app context.  This allows you to interact with the app without having to enter `python3 tvwb.py` every time.\n\n#### Running Docker on Windows\u002FMac?\n\nThanks to @khamarr3524 for pointing out there are some docker differences when running on Windows or Mac.  I've added OS-specific `docker-compose.yml` files to accomodate these differences.  One should be able to run their respective OS's `docker-compose.yml` file without issue now!\n\n#### How do I get more help?\n\nAt the moment, the wiki is under construction.  However, you may still find some good info on there.  For additional assistance you can DM me on [Twitter](https:\u002F\u002Ftwitter.com\u002Frobswc) or join the [Discord](https:\u002F\u002Fdiscord.gg\u002FwrjuSaZCFh).  I will try my best to get back to you!\n","![demopic](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobswc_tradingview-webhooks-bot_readme_c1dbd8a9eb16.png)\n\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Frobswc\u002Ftradingview-webhooks-bot?style=for-the-badge)\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fy\u002Frobswc\u002Ftradingview-webhooks-bot?style=for-the-badge)\n![](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Frobswc?style=for-the-badge)\n\n[tvwb_demo.webm](https:\u002F\u002Fuser-images.githubusercontent.com\u002F38849824\u002F192352217-0bd08426-98b7-4188-8e5b-67d7aa93ba09.webm)\n\n### 📀 实时演示 🖥\n**现在有一个实时演示可以在 [http:\u002F\u002Ftvwb.robswc.me](http:\u002F\u002Ftvwb.robswc.me) 上访问。  \n欢迎去看看，或者向它发送一些 webhook！**\n\n[![DigitalOcean 推荐徽章](https:\u002F\u002Fweb-platforms.sfo2.cdn.digitaloceanspaces.com\u002FWWW\u002FBadge%201.svg)](https:\u002F\u002Fwww.digitalocean.com\u002F?refcode=2865cad8f863&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)\n\n### [在 Discord 上获取支持](https:\u002F\u002Fdiscord.gg\u002FwrjuSaZCFh)\n\n\n# 是什么 🔬\n\nTradingview-webhooks-bot (TVWB) 是一个基于 Python 的小型框架，允许你使用来自 [Tradingview 的 webhooks](https:\u002F\u002Fwww.tradingview.com\u002Fsupport\u002Fsolutions\u002F43000529348-about-webhooks\u002F) 的数据来扩展或实现自己的逻辑。TVWB 并不是一个交易库，而是一个用于构建自定义交易逻辑的框架。\n\n# 怎么做 🏗\n\nTVWB 本质上是一组组件，其中 Web 应用程序充当 GUI。TVWB 在设计时考虑了事件驱动架构，为你提供了扩展或实现自定义逻辑所需的构建模块。\nTVWB 使用 [Flask](https:\u002F\u002Fflask.palletsprojects.com\u002Fen\u002F2.2.x\u002F) 来处理 webhooks，并为你提供了一个简单的 API 来与数据交互。\n\n# 快速入门 📘\n\n### Docker Compose 命令\n\n```bash\ndocker-compose run app start\n```\n\n### 安装\n\n* [Docker](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FDocker)（推荐）\n* [手动安装](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FInstallation)\n\n### 托管\n\n* [部署](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting)\n  * [云](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting#cloud-hosting)（推荐）\n  * [本地](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FHosting#using-a-personal-pc)\n\n\n---\n请确保你在 `src` 目录下。运行以下命令时，**如果你是手动安装的**。  \n**如果你使用的是 Docker**，\n请通过 `docker-compose run app shell` 启动 tvwb.py shell（在项目根目录下），并省略命令中的 `python3 tvwb.py` 部分。\n\n---\n### 创建一个动作\n\n```bash\npython3 tvwb.py action:create NewAction --register\n```\n\n这会创建一个动作，并自动将其注册到应用中。[在此处了解更多关于注册的信息](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FRegistering)。\n\n_注意，动作和事件名称应始终使用帕斯卡命名法。_\n\n你也可以查看一些“预制”的[社区动作](https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Ftree\u002Fmaster\u002Fsrc\u002Fcomponents\u002Factions\u002Fcommunity_created_actions)！\n\n### 将动作链接到事件\n\n```bash\npython3 tvwb.py action:link NewAction WebhookReceived\n```\n\n这会将动作链接到 `WebhookReceived` 事件。当应用接收到 webhook 时，就会触发 `WebhookReceived` 事件，目前这是唯一的默认事件。\n\n### 编辑动作\n\n导航到 `src\u002Fcomponents\u002Factions\u002FNewAction.py`，编辑 `run` 方法。你会看到类似下面的代码。\n你可以删除“自定义运行方法”的注释，并替换为自己的逻辑。以下是访问 webhook 数据的一个示例。\n\n```python\nclass NewAction(Action):\n    def __init__(self):\n        super().__init__()\n\n    def run(self, *args, **kwargs):\n        super().run(*args, **kwargs)  # 这是必需的\n        \"\"\"\n        自定义运行方法。在这里添加你的自定义逻辑。\n        \"\"\"\n        data = self.validate_data()  # 始终通过调用此方法从 webhook 获取数据！\n        print('来自 webhook 的数据：', data)\n```\n\n### 运行应用\n\n```bash\npython3 tvwb.py start\n```\n\n### 发送 webhook\n\n导航到 `http:\u002F\u002Flocalhost:5000`。确保你看到 `WebhookReceived` 事件。点击“详情”展开事件框。\n找到“Key”字段并记下其值。这就是你用来向应用发送 webhook 的密钥。复制下面的 JSON 数据，将“YOUR_KEY_HERE”替换为你刚才复制的密钥。\n\n```json\n{\n    \"key\": \"YOUR_KEY_HERE\",\n    \"message\": \"我是一个 webhook!\"\n}\n```\n\n`key` 字段是必需的，因为它既用于验证 webhook，也告诉应用应该触发哪个事件。除此之外，你可以发送任何你想发送的数据。这些数据将通过 `validate_data()` 方法供你的动作使用。（参见上文，编辑动作）\n\n在 Tradingview 上，使用上述 JSON 数据创建一个新的 webhook，并将其发送到 `http:\u002F\u002Fipaddr:5000\u002Fwebhook`。你应该会在控制台看到来自 webhook 的数据打印出来。\n\n### 常见问题解答\n\n#### 那我到底该如何进行交易呢？\n\n要真正提交交易，你需要使用像 [ccxt](https:\u002F\u002Fgithub.com\u002Fccxt\u002Fccxt) 这样的库来进行加密货币交易。对于其他经纪商，通常也有 SDK 或 API 可用。一般的流程大致如下：webhook 信号 -> TVWB（这里使用 ccxt）-> 经纪商。你的交易提交将在自定义动作的 `run` 方法中完成。\n\n#### tvwb.py shell\n\n你可以使用 `tvwb.py shell` 命令打开一个带有应用上下文的 Python shell。这样你就可以在不每次都输入 `python3 tvwb.py` 的情况下与应用进行交互。\n\n#### 在 Windows\u002FMac 上运行 Docker？\n\n感谢 @khamarr3524 指出，在 Windows 或 Mac 上运行 Docker 时存在一些差异。我已经添加了针对不同操作系统的 `docker-compose.yml` 文件来适应这些差异。现在应该可以顺利运行各自操作系统对应的 `docker-compose.yml` 文件了！\n\n#### 我还能在哪里获得帮助？\n\n目前维基仍在建设中。不过你仍然可以在那里找到一些有用的信息。如果需要更多帮助，可以在 [Twitter](https:\u002F\u002Ftwitter.com\u002Frobswc) 上私信我，或者加入 [Discord](https:\u002F\u002Fdiscord.gg\u002FwrjuSaZCFh)。我会尽力尽快回复你！","# TradingView Webhooks Bot 快速上手指南\n\nTradingView Webhooks Bot (TVWB) 是一个基于 Python 的轻量级框架，旨在接收 TradingView 的 webhook 信号，并允许开发者扩展或实现自定义的交易逻辑。它本身不是交易库，而是构建交易策略的基础设施。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows (需安装 Docker Desktop)。\n*   **核心依赖**：\n    *   **Docker & Docker Compose**（强烈推荐）：最简便的部署方式，自动处理所有依赖。\n    *   或者 **Python 3.8+**：如果选择手动安装，需自行管理虚拟环境和依赖包。\n*   **网络环境**：服务器需具备公网 IP 或通过内网穿透工具暴露端口，以便 TradingView 能够访问 webhook 接口。\n\n> **提示**：国内用户若拉取 Docker 镜像缓慢，建议配置阿里云、腾讯云或网易云等国内 Docker 镜像加速器。\n\n## 安装步骤\n\n推荐使用 Docker Compose 进行一键部署。\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot.git\n    cd tradingview-webhooks-bot\n    ```\n\n2.  **启动服务**\n    在项目根目录下运行以下命令启动应用：\n    ```bash\n    docker-compose run app start\n    ```\n    *注：如果是首次运行，Docker 会自动下载所需镜像并构建环境。*\n\n    > **手动安装用户**：请参考官方 Wiki 中的 Manual Installation 章节，安装 Python 依赖后进入 `src` 目录运行 `python3 tvwb.py start`。\n\n## 基本使用\n\n以下是创建一个简单动作（Action）并接收 webhook 信号的完整流程。\n\n### 1. 创建自定义动作\n我们需要创建一个脚本来定义收到信号后要执行的操作（例如打印日志、调用交易所 API 等）。\n\n在项目根目录（Docker 用户）或 `src` 目录（手动安装用户）执行：\n\n```bash\n# Docker 用户请先进入 shell: docker-compose run app shell\n# 然后执行以下命令（手动安装用户直接运行，需加 python3 tvwb.py 前缀）\npython3 tvwb.py action:create MyTradeStrategy --register\n```\n*注意：动作名称必须使用大驼峰命名法 (PascalCase)，如 `MyTradeStrategy`。*\n\n### 2. 关联事件\n将创建的动作绑定到 `WebhookReceived` 事件上，这样当收到 webhook 时就会触发该动作。\n\n```bash\npython3 tvwb.py action:link MyTradeStrategy WebhookReceived\n```\n\n### 3. 编写交易逻辑\n编辑生成的文件 `src\u002Fcomponents\u002Factions\u002FMyTradeStrategy.py`，在 `run` 方法中填入你的逻辑。\n\n```python\nclass MyTradeStrategy(Action):\n    def __init__(self):\n        super().__init__()\n\n    def run(self, *args, **kwargs):\n        super().run(*args, **kwargs)  # 此行必须保留\n        \"\"\"\n        在此处添加自定义逻辑\n        \"\"\"\n        # 获取并验证 webhook 数据\n        data = self.validate_data()\n        \n        # 示例：打印接收到的数据\n        print('收到交易信号:', data)\n        \n        # TODO: 在此处集成 ccxt 或其他 broker SDK 执行实际下单操作\n```\n\n### 4. 运行应用\n启动服务监听端口（默认 5000）：\n\n```bash\npython3 tvwb.py start\n```\n\n### 5. 发送测试信号\n1.  浏览器访问 `http:\u002F\u002Flocalhost:5000`。\n2.  找到 `WebhookReceived` 事件卡片，点击 \"details\" 展开。\n3.  复制显示的 **Key** 值（用于身份验证）。\n4.  构造如下 JSON 数据（将 `YOUR_KEY_HERE` 替换为刚才复制的 Key）：\n\n```json\n{\n    \"key\": \"YOUR_KEY_HERE\",\n    \"message\": \"Test signal from TradingView\"\n}\n```\n\n5.  **在 TradingView 中配置**：\n    *   创建一个新的 Alert（警报）。\n    *   Webhook URL 填写：`http:\u002F\u002F\u003C你的服务器 IP>:5000\u002Fwebhook`\n    *   Message 内容填写上述 JSON 数据。\n    *   触发警报后，查看终端控制台，应能看到 \"收到交易信号...\" 的输出。\n\n至此，您已成功搭建并运行了第一个 webhook 响应逻辑。接下来您可以在 `run` 方法中集成 `ccxt` 等库来实现真实的自动交易。","一位量化交易开发者希望将 TradingView 上的自定义技术指标信号，实时转化为自动化的交易所下单指令，以实现全天候无人值守交易。\n\n### 没有 tradingview-webhooks-bot 时\n- **开发重复造轮子**：每次新增策略都需要从头搭建 Flask 服务器来接收 webhook 请求，处理 JSON 解析和签名验证，耗费大量基础编码时间。\n- **逻辑耦合严重**：信号接收代码与具体的下单逻辑（如连接币安或盈透证券 API）混杂在一起，导致代码难以维护，修改任一环节都容易引发系统崩溃。\n- **扩展性极差**：若想增加“发送交易通知到 Telegram\"或“记录日志到数据库”等额外动作，必须修改核心代码，无法做到模块化插拔。\n- **部署调试困难**：缺乏统一的管理界面和本地测试环境，排查 webhook 接收失败或数据格式错误的问题如同大海捞针。\n\n### 使用 tradingview-webhooks-bot 后\n- **框架化快速启动**：利用其内置的 Flask 架构和事件驱动机制，只需一条命令即可创建并注册新的动作模块，瞬间完成信号接收环境的搭建。\n- **关注点分离清晰**：开发者仅需在 `run` 方法中编写纯粹的交易逻辑，底层的数据校验、路由分发由框架自动处理，大幅降低出错率。\n- **灵活的功能组合**：通过简单的命令行链接，可将同一个\"WebhookReceived\"事件同时触发“下单”、“发通知”、“记日志”等多个独立动作，无需改动原有代码。\n- **可视化调试便捷**：借助自带的 GUI 界面和 Docker 一键部署能力，能实时监控 webhook 流入状态和数据载荷，显著缩短从策略构思到实盘运行的周期。\n\ntradingview-webhooks-bot 将繁琐的基础设施搭建转化为标准化的模块组装，让交易者能专注于策略逻辑本身而非底层代码实现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobswc_tradingview-webhooks-bot_c1dbd8a9.png","robswc","Robert S.W. Carroll","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Frobswc_0a5f4a5b.png","making computers 🖥️ make things 🤖",null,"Austin, TX","robswc.me","https:\u002F\u002Fgithub.com\u002Frobswc",[85,89,93,97,101],{"name":86,"color":87,"percentage":88},"Python","#3572A5",64.5,{"name":90,"color":91,"percentage":92},"HTML","#e34c26",28.7,{"name":94,"color":95,"percentage":96},"JavaScript","#f1e05a",5.4,{"name":98,"color":99,"percentage":100},"CSS","#663399",1.2,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0.2,751,211,"2026-04-05T12:35:43","GPL-3.0","Linux, macOS, Windows","不需要 GPU","未说明",{"notes":113,"python":114,"dependencies":115},"该工具是一个基于 Python 的轻量级框架，用于处理 TradingView  webhook。推荐使用 Docker 部署（提供了适配 Windows\u002FMac\u002FLinux 的 docker-compose.yml 文件）。若手动安装，需在 src 目录下运行。实际交易逻辑需用户自行集成第三方库（如 ccxt）在自定义 Action 中实现。","3.x (通过 python3 命令调用)",[116],"Flask",[54,26,13],[119,120,121,122,123,124,125,126,127,128,129,130,131,67],"tradingview","webhooks","trading","bot","trading-bot","alerts","cryptocurrency","framework","python","flask","webhook","json","discord","2026-03-27T02:49:30.150509","2026-04-06T08:42:13.367697",[135,140,145,150,155,160,165],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},17932,"这个项目有文档或快速入门指南吗？","有的，维护者创建了 Wiki 快速入门指南，地址为：https:\u002F\u002Fgithub.com\u002FRobswc\u002Ftradingview-webhooks-bot\u002Fwiki\u002FQuick-Start-Guide。该指南涵盖了安装和基础配置步骤。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F2",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},17929,"如何测试 Webhook 机器人是否正常工作？","可以使用 curl 命令发送 POST 请求来测试。示例命令如下：\ncurl -H \"Content-Type: application\u002Fjson\" -X POST -d '{\"type\": \"limit\", \"side\": \"buy\", \"amount\": \"1000\", \"symbol\": \"XBTUSD\", \"price\": \"30\", \"key\": \"your_key_here\"}' http:\u002F\u002F127.0.0.1:5000\u002Fwebhook\n请确保将 URL 替换为你实际的服务器地址或 Ngrok 地址。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F10",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},17930,"收到 '405 Method Not Allowed' 错误怎么办？","这通常是因为在 TradingView 的 Webhook URL 中缺少了路径后缀。如果你使用 Ngrok，URL 应该是 `http:\u002F\u002F\u003Cyour-ngrok-address>\u002Fwebhook`，而不仅仅是 `http:\u002F\u002F\u003Cyour-ngrok-address>`。代码中定义的路由是 `\u002Fwebhook`，因此必须在 URL 末尾加上它。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F5",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},17931,"遇到 'SyntaxError: invalid syntax' 或 'File \"\u003Cunknown>\", line 1' 错误是什么原因？","这个错误通常是因为 TradingView 警报消息的格式不正确。机器人期望接收的是有效的 JSON 格式或 Python 字典格式的字符串。如果直接在警报消息中写了纯文本（如 'ALERT!'）而不是 JSON 对象，解析器就会报错。请确保 TradingView 警报消息框中填写的是合法的 JSON 数据。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F27",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},17933,"这个机器人支持 Interactive Brokers (IB) 或其他特定券商吗？","该项目本身主要作为一个桥梁，将 TradingView 的信号转发到你的服务器，并不直接内置所有券商的执行逻辑。要连接 Interactive Brokers，你需要修改 `action.py` 文件，集成 `ib_insync` 库或原生的 IB API。社区中有用户通过编写自定义监听器成功实现了与 IB 的对接，但这需要一定的 Python 开发能力来适配具体的 API。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F21",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},17934,"如果不使用 Ngrok，如何部署这个机器人？","你可以购买一个域名并将其指向你的服务器，然后在服务器上直接运行 Flask 应用，这样就不需要 Ngrok 了。另外，也可以参考教程将 Flask 应用部署在 Ubuntu VPS 上并使用 Apache 等 Web 服务器进行反向代理，以确保外网可访问。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F3",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},17935,"如何为 TDAmeritrade (TDA) 等需要 OAuth 认证的券商配置此机器人？","这个机器人本身不处理复杂的 OAuth 流程。建议结合专门的券商 API 包装库（例如 `tda-api`）来使用。你可以在机器人的动作脚本中调用这些库来处理认证和交易执行。机器人只负责接收信号并触发你编写的自定义交易逻辑。","https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fissues\u002F32",[171,176,181],{"id":172,"version":173,"summary_zh":174,"released_at":175},108245,"v1.0.2","**完整更新日志**：https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fcompare\u002Fv1.0.1...v1.0.2","2024-02-29T20:05:35",{"id":177,"version":178,"summary_zh":179,"released_at":180},108246,"v1.0.1","## 变更内容\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F44 中为 GUI 页面添加了密码保护\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F45 中添加了注释\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F46 中实现了活动事件功能\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F50 中添加了调试功能\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F51 中增加了调试模式\n* @dependabot 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F52 中将 \u002Fsrc 目录下的 werkzeug 从 2.0.3 升级至 2.2.3\n* @zahidhussaina2l 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F54 中创建了 binance_spot.py 文件\n* @khamarr3524 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F55 中向 FAQ 添加了关于 Windows 上 Docker 的条目\n* @dependabot 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F57 中将 \u002Fsrc 目录下的 Flask 从 2.0.3 升级至 2.3.2\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F61 中添加了适用于不同操作系统的额外 docker-compose 文件，并降级了 Flas…\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F63 中升级了依赖项\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F65 中新增了对异步 Webhook 的 Beta 支持\n\n## 新贡献者\n* @robswc 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F44 中完成了首次贡献\n* @dependabot 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F52 中完成了首次贡献\n* @zahidhussaina2l 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F54 中完成了首次贡献\n* @khamarr3524 在 https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fpull\u002F55 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Frobswc\u002Ftradingview-webhooks-bot\u002Fcompare\u002Fv0.5...v1.0.1","2024-02-27T17:58:15",{"id":182,"version":183,"summary_zh":80,"released_at":184},108247,"v0.5-beta","2022-09-26T17:35:03"]