[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tukuaiai--tradecat":3,"tool-tukuaiai--tradecat":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":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":79,"owner_location":79,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":121,"forks":122,"last_commit_at":123,"license":124,"difficulty_score":125,"env_os":126,"env_gpu":127,"env_ram":128,"env_deps":129,"category_tags":143,"github_topics":144,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":165,"updated_at":166,"faqs":167,"releases":168},3225,"tukuaiai\u002Ftradecat","tradecat","交易猫数据系统","交易猫（TradeCat）是一个开源的金融数据监控与分析系统，旨在帮助用户实时追踪全球市场动态并获取智能预警。它解决了传统交易工具中数据源分散、延迟高以及缺乏自动化解读的痛点，通过整合加密货币、美股、A 股及宏观经济等多维度数据，为用户提供“一站式”的市场洞察。\n\n该项目特别适合量化交易开发者、金融数据研究人员以及希望利用自动化手段辅助决策的进阶投资者使用。借助内置的 Telegram 机器人，普通用户也能便捷地接收预测市场警报和行情查询服务，而开发者则可基于其模块化架构进行二次开发，构建个性化的交易策略。\n\n在技术层面，交易猫展现了强大的数据处理能力。它基于 Python 3.12 构建，采用 TimescaleDB 时序数据库高效存储海量行情，并利用 AsyncIO 实现高并发异步处理。系统集成了 CCXT、Cryptofeed、AKShare、yfinance 等主流数据接口，覆盖从实时 WebSocket 流到历史宏观数据的广泛来源。此外，项目还融合了 Pandas、NumPy、TA-Lib 进行专业技术分析，并结合 Pydantic 确保数据验证的严谨性。作为一个完全开源且非","交易猫（TradeCat）是一个开源的金融数据监控与分析系统，旨在帮助用户实时追踪全球市场动态并获取智能预警。它解决了传统交易工具中数据源分散、延迟高以及缺乏自动化解读的痛点，通过整合加密货币、美股、A 股及宏观经济等多维度数据，为用户提供“一站式”的市场洞察。\n\n该项目特别适合量化交易开发者、金融数据研究人员以及希望利用自动化手段辅助决策的进阶投资者使用。借助内置的 Telegram 机器人，普通用户也能便捷地接收预测市场警报和行情查询服务，而开发者则可基于其模块化架构进行二次开发，构建个性化的交易策略。\n\n在技术层面，交易猫展现了强大的数据处理能力。它基于 Python 3.12 构建，采用 TimescaleDB 时序数据库高效存储海量行情，并利用 AsyncIO 实现高并发异步处理。系统集成了 CCXT、Cryptofeed、AKShare、yfinance 等主流数据接口，覆盖从实时 WebSocket 流到历史宏观数据的广泛来源。此外，项目还融合了 Pandas、NumPy、TA-Lib 进行专业技术分析，并结合 Pydantic 确保数据验证的严谨性。作为一个完全开源且非官方的社区项目，交易猫坚持透明原则，不提供任何投资建议，而是致力于成为研究者探索市场规律的强大技术底座。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_b923c4bd685d.png\" alt=\"TradeCat\" width=\"100px\">\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\n# 🐱 交易猫\n\n公共服务\n\n预测市场数据警报；https:\u002F\u002Ft.me\u002Fpredictcat_ai_bot\n\n交易猫行情查询；https:\u002F\u002Ft.me\u002Ftradecat_ai_bot\n\n命理agent；https:\u002F\u002Ft.me\u002Fcs_cat_bot\n\n本项目ai解读仓库（可能不完全准确）：https:\u002F\u002Fzread.ai\u002Ftukuaiai\u002Ftradecat\n\n感谢社区捐助的资金，让我去完成我的梦想！！！真心感谢你们！！！\n\n**免责声明**\n\n1. **开源与非官方声明**：本项目为永久开源项目，任何人可在开源许可范围内自由使用、分发与二次开发。本项目不隶属于任何交易所、基金、做市商或官方组织。\n2. **非投资建议**：本项目及其相关内容仅用于技术研究与社区协作交流，不构成任何形式的投资建议、理财建议或交易建议。数字资产价格波动剧烈，存在归零风险，请自行评估风险并独立决策。\n3. **代币无发行\u002F无背书**：本项目不发行任何代币；任何以本项目名义发行、宣传、拉盘、募资、承诺收益的行为均与本项目无关。相关链上资产（如有）为第三方行为，风险自担。\n4. **捐赠说明（唯一渠道）**：本项目目前接受且只接受来自 **SOL社区（代币地址，请勿直接转账，否则资产会丢失）(Gysp4iZ6uNuAksAPR37fQwLDRFU9Rz255UjExhiwpump)** 与 **BSC社区（代币地址，请勿直接转账，否则资产会丢失）(0x8a99b8d53eff6bc331af529af74ad267f3167777)** 两个社群的捐赠；捐赠属自愿行为，不提供任何回报或收益承诺。捐赠属自愿行为，不提供任何回报或收益承诺。\n5. **公开地址与风险提示**：我的地址为公开明牌地址，请务必自行核对链、网络与地址，转账一经发生通常不可撤销，因误转\u002F被骗\u002F盗号\u002F仿冒等导致的损失由转账方自行承担。\n6. **责任限制**：在法律允许范围内，项目维护者\u002F贡献者不对任何直接或间接损失承担责任，包括但不限于投资亏损、交易损失、合约风险、钓鱼诈骗、智能合约漏洞、第三方服务故障等。\n7. **历史情况提示**：如涉及原dev或历史资金纠纷等问题，均为历史主体行为，本项目维护者不对第三方过往行为承担责任。\n\n交易市场风云变幻，投资请谨慎，币不是我发的，明牌地址，亏钱请别骂我我害怕，我是玻璃心🙏🙏🙏，原dev已卷款跑路😅😅😅\n\n我的加密货币钱包地址：\n\nsol：`HjYhozVf9AQmfv7yv79xSNs6uaEU5oUk2USasYQfUYau`\n\nbsc：`0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`,`0x60c062e7600f74079ea7b5e5568edfb9a3f61f0f`\n\n**toy-level 数据分析\u002F交易数据平台**\n\n*全部市场，全部数据，全部方法，分析一切，交易一切，监控一切*\n\n[English](README_EN.md) | 简体中文\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftukuaiai\u002Ftradecat?style=social)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fstargazers)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Ftukuaiai\u002Ftradecat?style=social)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fnetwork\u002Fmembers)\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ftukuaiai\u002Ftradecat)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Freleases)\n[![CI](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftukuaiai\u002Ftradecat)](LICENSE)\n\n---\n\n\u003Cp>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.12-3776AB?style=for-the-badge&logo=python&logoColor=white\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-TimescaleDB-4169E1?style=for-the-badge&logo=postgresql&logoColor=white\" alt=\"TimescaleDB\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow?style=for-the-badge\" alt=\"License\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPandas-数据处理-150458?style=for-the-badge&logo=pandas&logoColor=white\" alt=\"Pandas\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNumPy-计算-013243?style=for-the-badge&logo=numpy&logoColor=white\" alt=\"NumPy\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTA--Lib-技术分析-green?style=for-the-badge\" alt=\"TA-Lib\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic-数据验证-E92063?style=for-the-badge&logo=pydantic&logoColor=white\" alt=\"Pydantic\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCCXT-交易所API-000?style=for-the-badge\" alt=\"CCXT\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCryptofeed-WebSocket-purple?style=for-the-badge\" alt=\"Cryptofeed\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAKShare-A股数据-red?style=for-the-badge\" alt=\"AKShare\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fyfinance-美股数据-7B68EE?style=for-the-badge\" alt=\"yfinance\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpenBB-数据聚合-orange?style=for-the-badge\" alt=\"OpenBB\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQuantLib-衍生品定价-blue?style=for-the-badge\" alt=\"QuantLib\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFRED_API-宏观经济-1E90FF?style=for-the-badge\" alt=\"FRED\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram_Bot-机器人-26A5E4?style=for-the-badge&logo=telegram&logoColor=white\" alt=\"Telegram Bot\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsyncIO-异步-FF6F00?style=for-the-badge&logo=python&logoColor=white\" alt=\"AsyncIO\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAIOHTTP-HTTP-2C5BB4?style=for-the-badge&logo=aiohttp&logoColor=white\" alt=\"AIOHTTP\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHTTPX-HTTP-3d4f5d?style=for-the-badge\" alt=\"HTTPX\">\n\u003C\u002Fp>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Ftradecat_ai_channel\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram-频道-blue?style=for-the-badge&logo=telegram\" alt=\"Telegram\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Fglue_coding\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram-交流群-blue?style=for-the-badge&logo=telegram\" alt=\"交流群\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002F123olp\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTwitter-123olp-black?style=for-the-badge&logo=x\" alt=\"Twitter\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n---\n\n## 📖 目录\n\n- [💰 救救孩子](#-救救孩子)\n- [🚀 快速开始](#-快速开始)\n- [🏗️ 架构设计](#️-架构设计)\n- [✨ 核心特性](#-核心特性)\n- [📊 数据与功能](#-数据与功能)\n- [📁 目录结构](#-目录结构)\n- [🔧 运维指南](#-运维指南)\n- [📞 联系方式](#-联系方式)\n\n> 🤖 **从零开始？** 复制这行到 AI 助手：`按照 https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fblob\u002Fmain\u002FREADME.md 的说明帮我安装 TradeCat`\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 💰 救救孩子\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n救救孩子，感谢了，好人一生平安🙏🙏🙏\n\n- **币安 UID**: `572155580`\n- **Tron (TRC20)**: `TQtBXCSTwLFHjBqTS4rNUp7ufiGx51BRey`\n- **Solana**: `HjYhozVf9AQmfv7yv79xSNs6uaEU5oUk2USasYQfUYau`\n- **Ethereum (ERC20)**: `0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`\n- **BNB Smart Chain (BEP20)**: `0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`\n- **Bitcoin**: `bc1plslluj3zq3snpnnczplu7ywf37h89dyudqua04pz4txwh8z5z5vsre7nlm`\n- **Sui**: `0xb720c98a48c77f2d49d375932b2867e793029e6337f1562522640e4f84203d2e`\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 🚀 快速开始\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 🤖 AI 一键安装（推荐）\n\n> 把下面的提示词复制到 **Claude \u002F ChatGPT \u002F Cursor \u002F Kiro**，AI 会自动执行安装，零人工介入\n\n**方式一：完整部署提示词（推荐）**\n\n📄 **[README.md](README.md)** - 包含详细的 10 步部署流程，支持：\n- 系统依赖自动安装\n- 服务初始化和配置\n- HuggingFace 历史数据自动下载导入\n- 守护进程和日志轮转配置\n- 完整的故障排查指南\n\n复制该文件内容给 AI 助手即可自动完成全部部署。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📋 简化版安装提示词\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```\n按照 https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fblob\u002Fmain\u002FREADME.md 的说明帮我安装 TradeCat\n\n要求：\n1. 读取文档后直接执行安装命令，不要生成脚本\n2. 一步一步执行，每步确认成功后继续\n3. 遇到错误自动分析并修复\n4. 安装完成后运行 .\u002Fscripts\u002Fverify.sh 验证\n5. 全程零人工介入\n```\n\n\u003C\u002Fdetails>\n\n### 🪟 Windows WSL2 用户\n\n> 📺 **视频教程**: [WSL2 安装配置教程](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1n14y1x7Y7\u002F)\n\n先在 Windows 用户目录创建 `.wslconfig`：\n\n```powershell\nnotepad \"$env:USERPROFILE\\.wslconfig\"\n```\n\n写入：\n\n```ini\n[wsl2]\nmemory=10GB\nprocessors=6\nswap=12GB\nnetworkingMode=mirrored\n```\n\n重启 WSL：`wsl --shutdown`，然后使用上面的 AI 安装提示词。\n\n### ⚙️ 最短可跑通三步\n\n```bash\n# 0) 环境检查（可选，推荐部署前运行）\n.\u002Fscripts\u002Fcheck_env.sh\n\n# 1) 初始化（创建各服务 .venv + 安装依赖）\n.\u002Fscripts\u002Finit.sh\n\n# 2) 填写全局配置（含 BOT_TOKEN \u002F DB \u002F 代理 等）\ncp assets\u002Fconfig\u002F.env.example assets\u002Fconfig\u002F.env && chmod 600 assets\u002Fconfig\u002F.env\n# 端口：默认 LF=5433（K线\u002F指标）、HF=15432（原子事实），见 assets\u002Fconfig\u002F.env.example\nvim assets\u002Fconfig\u002F.env\n\n# 3) 启动核心服务（ai + signal + api + telegram + trading）\n.\u002Fscripts\u002Fstart.sh start\n.\u002Fscripts\u002Fstart.sh status\n```\n\n> 说明：顶层 `.\u002Fscripts\u002Fstart.sh` 默认管理 `ai-service`、`signal-service`、`api-service`、`telegram-service`、`trading-service`（ai-service 为子模块，仅做就绪检查，无独立进程；并保证 api-service 先于 telegram\u002Fsheets 启动）。  \n> **重要**：从 2026-03 起，consumption 层（Telegram\u002FSheets\u002F可视化）不再允许直连数据库，统一通过 **Query Service（api-service，`\u002Fapi\u002Fv1`）** 读取数据；因此在运行 Telegram\u002FSheets 时 **不要停掉 `api-service`**。  \n> 低频\u002F分时采集服务 data-service：`services\u002Fingestion\u002Fdata-service\u002F`（兼容链路，不在默认启动链路）。  \n> 可选服务需手动启动：  \n> - `cd services\u002Fconsumption\u002Fsheets-service && .\u002Fscripts\u002Fstart.sh start`（Google Sheets 公共看板同步，默认 daemon）\n> 可选校验：`.\u002Fscripts\u002Fsmoke_query_service.sh`（验证 Query Service 鉴权与可用性；不回显 token）\n\n### ⚙️ 配置（必须）\n\n- 路径：`assets\u002Fconfig\u002F.env`（需手动从 `.env.example` 复制；或运行 `.\u002Fscripts\u002Finstall.sh` 自动生成），权限需 600，服务启动脚本会强制校验。  \n- **TimescaleDB 端口说明**（重要，按仓库现状）：\n  - LF（低频\u002F分时\u002FK线与指标）：`DATABASE_URL` 默认 `localhost:5433\u002Fmarket_data`（见 `assets\u002Fconfig\u002F.env.example`）\n  - HF（高频\u002F原子事实）：`BINANCE_VISION_DATABASE_URL` 默认 `localhost:15432\u002Fmarket_data`（见 `assets\u002Fconfig\u002F.env.example`）\n  - 若你在私有环境使用其它端口（例如历史文档曾提及 5434）：请全局统一端口与脚本\u002F命令；仓库当前示例以 5433\u002F15432 为准。\u003C!-- TODO: 若仓库正式迁移到其它端口，请补“统一替换列表与执行顺序” -->\n- 核心字段：  \n  - `DATABASE_URL`（TimescaleDB，见下方端口说明）  \n  - `QUERY_SERVICE_BASE_URL`（Query Service 基地址；默认 `http:\u002F\u002F127.0.0.1:8088`，见 `assets\u002Fconfig\u002F.env.example`）  \n  - `QUERY_SERVICE_AUTH_MODE`（Query Service 鉴权模式；默认 `required`；`disabled` 仅限本地\u002F受控环境调试）  \n  - `QUERY_SERVICE_TOKEN`（Query Service 内网 token；Header: `X-Internal-Token`；`required` 模式必须设置；`\u002Fapi\u002Fv1\u002Findicators\u002F*` 调试端点始终要求 token；`.\u002Fscripts\u002Fcheck_env.sh` 会将 `dev-token-change-me`\u002F`your_token_here` 视为占位值并判定为未配置）  \n  - `QUERY_SERVICE_TIMEOUT_SECONDS`（可选：消费端请求超时秒数；默认 8，见 `assets\u002Fconfig\u002F.env.example`）  \n  - `QUERY_SERVICE_CACHE_TTL_SECONDS`（可选：消费端（telegram\u002Fsheets）本地缓存 TTL 秒；默认 2）  \n  - `QUERY_SERVICE_STALE_TTL_SECONDS`（可选：消费端 stale-if-error 窗口秒；默认 30）  \n  - `QUERY_SERVICE_NET_MAX_RETRIES`（可选：消费端网络重试次数；默认 2；总尝试=1+retries）  \n  - `QUERY_SERVICE_NET_RETRY_BASE_SECONDS`（可选：消费端重试退避 base 秒；默认 0.2；0=不 sleep）  \n  - `QUERY_MARKET_TABLE_EXISTS_TTL_SEC`（可选：market_data 表存在性检查缓存 TTL 秒数；默认 30）  \n  - `QUERY_NUMERIC_MODE`（可选：指标数值输出模式；`float|string`；默认 `float`；`string` 保留 Decimal 精度）  \n  - `QUERY_CACHE_MAX_ENTRIES`（可选：Query Service 内存缓存最大条数；默认 256）  \n  - `QUERY_DASHBOARD_CACHE_TTL_SEC`（可选：dashboard 缓存 TTL 秒；默认 2；0=关闭）  \n  - `QUERY_SNAPSHOT_CACHE_TTL_SEC`（可选：snapshot 缓存 TTL 秒；默认 2；0=关闭）  \n  - **错误语义**：Query Service 对齐 CoinGlass 风格：即使失败也返回 HTTP 200；请始终通过响应体的 `success\u002Fcode\u002Fmsg` 判断成功与否。  \n  - `BOT_TOKEN`（Telegram Bot Token）  \n  - `TELEGRAM_GROUP_WHITELIST`（群聊白名单，逗号分隔；为空仅私聊；群聊仅响应 `\u002F` 或 `!` 开头且需 @bot）  \n  - `HTTP_PROXY` \u002F `HTTPS_PROXY`（需要代理时填写）  \n  - 外部地址：`BINANCE_WEB_BASE`、`BINANCE_PING_URL`、`SYMBOLS_ALL_URL`、`TELEGRAM_API_BASE`、`POLYMARKET_WEB_BASE`、`KALSHI_WEB_BASE`、`OPINION_WEB_BASE`、`NODEJS_SETUP_URL`、`NOFX_*`\n  - 币种\u002F周期：`SYMBOLS_GROUPS`、`SYMBOLS_EXTRA`、`SYMBOLS_EXCLUDE`、`INTERVALS`、`KLINE_INTERVALS`、`FUTURES_INTERVALS`  \n  - 采集\u002F计算开关：`BACKFILL_MODE`\u002F`BACKFILL_DAYS`\u002F`BACKFILL_ON_START`、`MAX_CONCURRENT`、`RATE_LIMIT_PER_MINUTE`  \n  - 默认值：`BACKFILL_MODE=all`（全量回填，若设置 `BACKFILL_START_DATE` 则按起始日计算天数；否则约 10 年）、`SYMBOLS_GROUPS=main4`（只拉 BTC\u002FETH\u002FSOL\u002FBNB，如需全市场改为 `all` 或自定义分组）  \n  - 计算后端：`COMPUTE_BACKEND`、`MAX_WORKERS`、`HIGH_PRIORITY_TOP_N`、`INDICATORS_ENABLED`\u002F`INDICATORS_DISABLED`  \n  - 展示过滤：`BINANCE_API_DISABLED`、`DISABLE_SINGLE_TOKEN_QUERY`、`SNAPSHOT_HIDDEN_FIELDS`、`BLOCKED_SYMBOLS`  \n  - AI\u002F交易：`AI_INDICATOR_TABLES`、`AI_INDICATOR_TABLES_DISABLED`、`LLM_BACKEND`、`LLM_API_BASE_URL`、`EXTERNAL_API_KEY`、`LLM_MODEL`、`LLM_MAX_TOKENS`、`AI_LARGE_PAYLOAD_CHAR_LIMIT`、`AI_FORCE_GEMINI_ON_LARGE_PAYLOAD`、`AI_DEFAULT_PROMPT`、`AI_RECORD_ENABLED`、`AI_RECORD_PAYLOAD`、`AI_RECORD_PROMPT`、`AI_RECORD_MESSAGES`、`AI_RECORD_ANALYSIS`、`AI_RECORD_MAX_DIRS`、`BINANCE_API_KEY`、`BINANCE_API_SECRET`\n  - 国际化：`DEFAULT_LOCALE`（默认 en）、`SUPPORTED_LOCALES`（zh-CN,en）、`FALLBACK_LOCALE`\n  - Google Sheets（可选，`sheets-service`）：`SHEETS_*` 见 `assets\u002Fconfig\u002F.env.example` 的 “Google Sheets 公共看板” 段落；弱网\u002F代理环境可用 `SHEETS_SA_NET_WRITE_RETRIES` 提升 SA 模式稳定性（默认 2）。\n\n### 📦 下载历史数据（可选）\n\n从 HuggingFace 下载预置数据集，跳过漫长的历史回填：\n\n🔗 **数据集**: [huggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026)\n\n**方式一：使用自动下载脚本（推荐）**\n\n> **默认下载 Main4 精简数据集**（415MB，4币种，1150万条记录，2020-2026完整历史）\n\n```bash\n# 安装依赖\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython -m pip install pandas psycopg2-binary huggingface_hub\n\n# 默认下载 Main4 数据集（BTC\u002FETH\u002FBNB\u002FSOL，415MB）\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython scripts\u002Fdownload_hf_data.py\n\n# 或指定币种\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython scripts\u002Fdownload_hf_data.py --symbols BTCUSDT,ETHUSDT,BNBUSDT\n```\n\n脚本特性：\n- **默认下载 Main4 精简数据集**（415MB），不是完整版（13GB）\n- 流式读取，内存友好\n- 支持断点续传（已下载的文件会跳过）\n\n**方式二：手动导入（完整数据）**\n\n```bash\n# 0. 创建库并导入 schema（依次执行仓库内 SQL）\nfor f in assets\u002Fdatabase\u002Fdb\u002Fschema\u002F*.sql; do\n  psql -h localhost -p 5433 -U postgres -d market_data -f \"$f\"\ndone\n\n# 1. 导入 K线数据 (3.73亿条)\nzstd -d candles_1m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n  -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 2. 导入期货数据 (9457万条)\nzstd -d futures_metrics_5m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n  -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n> 端口说明：本文与仓库脚本示例按 `assets\u002Fconfig\u002F.env.example` 默认端口（LF=5433，HF=15432）编写；如你改动端口，请同步所有示例命令与脚本配置。\n\n## 🔍 补充检查（2026-01-23）\n\n- **端口选择**：`assets\u002Fconfig\u002F.env.example` 默认 LF=5433、HF=15432；仓库脚本示例亦以此为准。若你自行改动端口，请全局统一。\n- CI 仅执行 ruff + py_compile 抽样（`.github\u002Fworkflows\u002Fci.yml`，检查前 50 个 .py 文件），不会跑 tests；提交前本地仍需 `.\u002Fscripts\u002Fverify.sh`。\n- `scripts\u002Finstall.sh` 会创建 `assets\u002Fconfig\u002F.env`（若不存在）；运行时统一只读 `assets\u002Fconfig\u002F.env`，避免多份配置漂移。\n\n### ✅ 验证安装\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📖 手动安装步骤\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 环境要求\n\n| 依赖 | 版本 | 说明 |\n|:---|:---|:---|\n| Python | 3.12+ | CI 使用 3.12；各服务 `services\u002F*\u002F*\u002Fpyproject.toml` 声明 `requires-python >=3.12`（`scripts\u002Finit.sh` 的最低检查为 3.10） |\n| PostgreSQL | 16+ | 需安装 TimescaleDB 扩展 |\n| TA-Lib | 0.4+ | 系统级库，需单独安装 |\n| SQLite | 3.x | 系统自带（仅迁移\u002F对账\u002F回放；运行态已不依赖） |\n\n### 安装步骤\n\n#### 1. 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat.git\ncd tradecat\n```\n\n#### 2. 安装系统依赖\n\n```bash\n# Ubuntu\u002FDebian\nsudo apt-get update\nsudo apt-get install -y build-essential python3-dev\n\n# 安装 TA-Lib\nwget http:\u002F\u002Fprdownloads.sourceforge.net\u002Fta-lib\u002Fta-lib-0.4.0-src.tar.gz\ntar -xzf ta-lib-0.4.0-src.tar.gz\ncd ta-lib && .\u002Fconfigure --prefix=\u002Fusr && make && sudo make install\ncd .. && rm -rf ta-lib ta-lib-0.4.0-src.tar.gz\n```\n\n#### 3. 一键初始化\n\n```bash\n# 初始化所有服务（创建虚拟环境、安装依赖、复制配置）\n.\u002Fscripts\u002Finit.sh\n\n# 或单独初始化某个服务\n.\u002Fscripts\u002Finit.sh binance-vision-service\n```\n\n#### 4. 配置环境变量\n\n```bash\n# 编辑 `assets\u002Fconfig\u002F.env`（如不存在：cp assets\u002Fconfig\u002F.env.example assets\u002Fconfig\u002F.env && chmod 600 assets\u002Fconfig\u002F.env）\nvim assets\u002Fconfig\u002F.env\n```\n\n关键配置补充（信号服务）：\n- `SIGNAL_DATA_MAX_AGE`：信号数据最大允许时长（秒），超过则跳过不产生信号；默认 600，可按部署环境调整。\n- `COOLDOWN_SECONDS`（signal-service）：PG 信号冷却时间（秒），可与规则级冷却配合，避免重复推送。\n\n关键配置补充（nofx-dev，预览服务）：\n- `NOFX_*`：nofx-dev 上游地址\u002F鉴权等（见 `assets\u002Fconfig\u002F.env.example` 的 NOFX 段落；nofx-dev 本身也有独立文档）。\n\n#### 5. 启动服务\n\n```bash\n# 启动所有服务\n.\u002Fscripts\u002Fstart.sh start\n\n# 查看状态\n.\u002Fscripts\u002Fstart.sh status\n\n# 停止全部\n.\u002Fscripts\u002Fstart.sh stop\n```\n\n#### 6. 验证安装\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 ✨ 核心特性\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🔄 多市场数据采集（🟡预览\u002F规划中）\n- 说明：当前仓库核心链路聚焦加密货币；A股\u002F美股\u002F宏观\u002FOpenBB 等属于 markets-service 预览方向（本仓库 `services\u002F` 下未内置实现，仅保留配置\u002F文档占位）。\n- **加密货币** - CCXT (100+交易所) + Cryptofeed (WebSocket)\n- **A股市场** - AKShare + BaoStock (免费全量)\n- **美股\u002F全球** - yfinance + pandas-datareader\n- **宏观经济** - FRED API (美联储官方)\n- **数据聚合** - OpenBB (100+数据源)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 📊 38个技术指标模块\n- **趋势指标** - EMA\u002FMACD\u002FSuperTrend\u002F趋势云\u002F趋势线\u002FADX\u002FIchimoku\n- **动量指标** - RSI\u002FKDJ\u002FMFI\u002F多空比\u002F斐波那契狙击\u002FCCI\u002FWilliamsR\n- **波动指标** - 布林带\u002FATR\u002F支撑阻力\u002FVWAP\u002FDonchian\u002FKeltner\n- **形态识别** - TA-Lib 61种蜡烛 + 价格形态\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🤖 Telegram Bot\n- **实时排行榜** - 20+ 种排行卡片\n- **信号推送** - 形态突破、指标异常\n- **交互查询** - 单币详情、多周期面板\n- **AI 分析** - Wyckoff 深度市场分析\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🗄️ 海量数据存储\n- **K线数据** - 3.73亿条 (2018-至今)\n- **期货数据** - 9457万条 (2021-至今)\n- **存储引擎** - TimescaleDB 时序优化\n- **衍生品定价** - QuantLib 期权\u002F债券\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🧠 AI 智能分析\n- **Wyckoff 方法论** - 市场结构、供需区间、阶段判断\n- **多模型支持** - Gemini \u002F OpenAI \u002F Claude \u002F DeepSeek\n- **专业提示词** - 内置交易分析师角色 Prompt\n- **上下文增强** - 自动注入实时 K线\u002F指标\u002F期货数据\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🔔 信号检测引擎\n- **129条规则** - 覆盖8个分类（独立 signal-service）\n- **多维度检测** - 趋势\u002F动量\u002F形态\u002F期货\n- **事件驱动** - SignalPublisher 发布信号事件\n- **订阅管理** - 用户自定义推送偏好\n- **冷却机制** - 防止重复推送\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 🏗️ 架构设计\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 系统架构图\n\n```mermaid\ngraph TD\n    subgraph 外部数据源[\"🌐 币安交易所 API\"]\n        API_WS[\"WebSocket K线\"]\n        API_REST[\"REST 期货指标\"]\n    end\n\n    subgraph DS[\"📦 data-service\u003Cbr>\u003Csmall>Python, asyncio, ccxt, cryptofeed\u003C\u002Fsmall>\"]\n        DS_BF[\"backfill\u003Cbr>历史回填\"]\n        DS_LIVE[\"live\u003Cbr>实时采集\"]\n        DS_MET[\"metrics\u003Cbr>期货指标\"]\n    end\n\n    API_WS --> DS_LIVE\n    API_REST --> DS_MET\n\n    subgraph TSDB[\"🗄️ TimescaleDB :5433\u003Cbr>\u003Csmall>PostgreSQL 16 + TimescaleDB\u003C\u002Fsmall>\"]\n        TS_CANDLE[(\"candles_1m\u003Cbr>3.73亿条 \u002F 99GB\")]\n        TS_FUTURE[(\"futures_metrics\u003Cbr>9457万条 \u002F 5GB\")]\n    end\n\n    DS_BF --> TS_CANDLE\n    DS_LIVE --> TS_CANDLE\n    DS_MET --> TS_FUTURE\n\n    subgraph TS[\"📊 trading-service\u003Cbr>\u003Csmall>Python, pandas, numpy, TA-Lib\u003C\u002Fsmall>\"]\n        TR_ENG[\"engine\u003Cbr>计算引擎\"]\n        TR_IND[\"indicators\u003Cbr>38个指标\"]\n        TR_SCH[\"scheduler\u003Cbr>定时调度\"]\n        TR_PRI[\"priority\u003Cbr>高优先级币种筛选\"]\n    end\n\n    TS_CANDLE --> TR_ENG\n    TS_FUTURE --> TR_ENG\n    TR_SCH --> TR_ENG\n    TR_ENG --> TR_IND\n    TR_ENG --> TR_PRI\n\n    PG_IND[(\"🗄️ tg_cards.*\u003Cbr>PostgreSQL 指标库\")]\n    TR_IND --> PG_IND\n\n    subgraph AI[\"🧠 AI 智能分析\"]\n        AI_WY[\"Wyckoff 方法论\"]\n        AI_MOD[\"多模型支持\u003Cbr>Gemini \u002F OpenAI \u002F Claude \u002F DeepSeek\"]\n    end\n\n    subgraph SIG[\"🔔 signal-service\u003Cbr>\u003Csmall>独立信号检测服务\u003C\u002Fsmall>\"]\n        SIG_RULES[\"rules\u003Cbr>129条信号规则\"]\n        SIG_ENG[\"engines\u003Cbr>PG 引擎\"]\n        SIG_PUB[\"events\u003Cbr>SignalPublisher\"]\n    end\n\n    PG_IND --> SIG_ENG\n    TS_CANDLE --> SIG_ENG\n    TS_FUTURE --> SIG_ENG\n    SIG_ENG --> SIG_RULES\n    SIG_RULES --> SIG_PUB\n\n    subgraph TG[\"🤖 telegram-service\u003Cbr>\u003Csmall>python-telegram-bot, aiohttp\u003C\u002Fsmall>\"]\n        TG_CARD[\"cards\u003Cbr>排行卡片 20+\"]\n        TG_ADAPTER[\"signals\u002Fadapter\u003Cbr>信号服务适配器\"]\n        TG_HAND[\"handlers\u003Cbr>命令处理\"]\n        TG_BOT[\"bot\u003Cbr>主程序\"]\n    end\n\n    PG_IND --> TG_CARD\n    SIG_PUB --> TG_ADAPTER\n    TG_ADAPTER --> TG_BOT\n    TG_CARD --> TG_BOT\n    TG_HAND --> TG_BOT\n    AI_MOD --> TG_BOT\n    TS_CANDLE -.-> AI_WY\n    AI_WY --> AI_MOD\n\n    subgraph ORD[\"💹 order-service（🟡预览：本仓库未在 services\u002F 下内置）\u003Cbr>\u003Csmall>Python, ccxt, cryptofeed\u003C\u002Fsmall>\"]\n        ORD_MM[\"market-maker\u003Cbr>Avellaneda-Stoikov 做市\"]\n        ORD_EX[\"交易执行\"]\n    end\n\n    TS_CANDLE -.-> ORD_MM\n    TS_FUTURE -.-> ORD_MM\n\n    USER[\"👤 Telegram 用户\u003Cbr>排行榜查询 | 信号接收 | AI分析\"]\n    TG_BOT --> USER\n```\n\n### 服务说明\n\n| 服务 | 端口 | 职责 | 技术栈 |\n|:---|:---:|:---|:---|\n| **data-service** | - | 加密货币 K线采集、期货指标采集、历史数据回填 | Python, asyncio, ccxt, cryptofeed |\n| **trading-service** | - | 38个技术指标模块计算、高优先级币种筛选、定时调度 | Python, pandas, numpy, TA-Lib |\n| **signal-service** | - | 独立信号检测服务（129条规则、8分类、事件发布） | Python, psycopg3（PostgreSQL） |\n| **telegram-service** | - | Bot 交互、排行榜展示、信号推送 UI（通过 adapter 调用 signal-service） | python-telegram-bot, aiohttp |\n| **ai-service** | - | AI 分析、Wyckoff 方法论（作为 telegram-service 子模块） | Gemini\u002FOpenAI\u002FClaude\u002FDeepSeek |\n| **fate-service** | - | 命理\u002F排盘服务（独立微服务） | Python, Node.js（可选） |\n| **api-service** | 8088 | REST API 服务（指标\u002FK线\u002F信号数据查询；可用 `API_SERVICE_PORT` 覆盖） | FastAPI, Pydantic |\n| **sheets-service** | - | Google Sheets 公共看板同步（TG 卡片→表格；可审计\u002F可重放） | python-dotenv, python-telegram-bot |\n| **vis-service** | 8087 | 可视化渲染（K线图\u002F指标图\u002FVPVR） | FastAPI, matplotlib, mplfinance |\n| **predict-service** | - | 预测市场信号（Polymarket\u002FKalshi\u002FOpinion） | Node.js + Python utilities |\n| **nofx-dev** | - | Agentic Trading OS（预览\u002F外部工程镜像，非核心链路） | Go, React, TypeScript |\n| **markets-service（🟡预览：仅保留配置与文档，未在 services\u002F 下内置）** | - | 全市场数据采集（美股\u002FA股\u002F宏观\u002F衍生品定价） | yfinance, akshare, fredapi, QuantLib |\n| **order-service（🟡预览：仅保留配置与文档，未在 services\u002F 下内置）** | - | 交易执行、Avellaneda-Stoikov 做市 | Python, ccxt, cryptofeed |\n| **TimescaleDB（LF）** | 5433 | 低频\u002F分时\u002FK线与指标（`DATABASE_URL`） | PostgreSQL 16 + TimescaleDB |\n| **TimescaleDB（HF）** | 15432 | 高频\u002F原子事实（`BINANCE_VISION_DATABASE_URL`） | PostgreSQL 16 + TimescaleDB |\n\n### 数据流向\n\n```mermaid\ngraph LR\n    subgraph 数据采集\n        A[\"🌐 币安 WebSocket\"] --> B[\"📦 data-service\"]\n    end\n    \n    subgraph 数据存储\n        B --> C[(\"🗄️ TimescaleDB\u003Cbr>candles_1m\u003Cbr>futures_metrics\")]\n    end\n    \n    subgraph 指标计算\n        C --> D[\"📊 trading-service\u003Cbr>38个指标计算\"]\n        D --> E2[(\"🗄️ tg_cards.*\u003Cbr>PostgreSQL 指标库\")]\n    end\n    \n    subgraph 用户服务\n        E2 --> F\n        F --> G[\"👤 用户\"]\n    end\n    \n    subgraph AI分析\n        C -.-> H[\"🧠 AI 分析\u003Cbr>Gemini\u002FOpenAI\u002FClaude\u002FDeepSeek\"]\n        H -.-> F\n    end\n    \n    subgraph 交易执行\n        C -.-> I[\"💹 order-service（🟡预览）\u003Cbr>做市\u002F交易\"]\n    end\n```\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📊 数据与功能\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 📊 数据规模\n\n**🔗 历史数据下载**: [HuggingFace 数据集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026)\n\n| 数据集 | 说明 | 大小 |\n|:---|:---|:---|\n| `candles_1m.bin.zst` | K线数据 (2018-至今, 3.73亿条) | ~15 GB |\n| `futures_metrics_5m.bin.zst` | 期货指标 (2021-至今, 9457万条) | ~800 MB |\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📋 数据详情与导入步骤\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 数据概览\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n#### 📈 K线数据 (candles_1m)\n\n| 指标 | 数值 |\n|:---|---:|\n| **总记录数** | 373,342,599 |\n| **币种数量** | 615 |\n| **时间范围** | 2018-01-01 ~ 至今 |\n| **存储大小** | 99 GB |\n| **压缩后** | ~15 GB (zstd) |\n\n**字段说明**:\n- `bucket_ts` - K线时间戳\n- `open\u002Fhigh\u002Flow\u002Fclose` - OHLC 价格\n- `volume` - 成交量\n- `quote_volume` - 成交额 (USDT)\n- `taker_buy_volume` - 主动买入量\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n#### 📊 期货数据 (futures_metrics_5m)\n\n| 指标 | 数值 |\n|:---|---:|\n| **总记录数** | 94,576,458 |\n| **币种数量** | 612 |\n| **时间范围** | 2021-12-01 ~ 至今 |\n| **存储大小** | 5 GB |\n| **压缩后** | ~800 MB (zstd) |\n\n**字段说明**:\n- `sum_open_interest` - 持仓量\n- `sum_open_interest_value` - 持仓价值 (USDT)\n- `sum_toptrader_long_short_ratio` - 大户多空比\n- `sum_taker_long_short_vol_ratio` - 主动买卖比\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 数据更新频率\n\n| 数据类型 | 更新频率 | 延迟 |\n|:---|:---|:---|\n| K线 (1m) | 实时 WebSocket | \u003C 5秒 |\n| K线 (5m\u002F15m\u002F1h\u002F4h\u002F1d\u002F1w) | 聚合计算 | \u003C 10秒 |\n| 期货指标 | 每 5 分钟 | \u003C 30秒 |\n| 技术指标 | 每分钟轮询 | \u003C 3分钟 |\n\n### 导入步骤\n\n```bash\n# 1. 下载数据文件\n# 从 HuggingFace 下载 .bin.zst 文件到 backups\u002Ftimescaledb\u002F\n\n# 2. 恢复表结构（兼容 schema.sql.zst \u002F schema_*.sql.zst）\nzstd -d schema*.sql.zst -c | psql -h localhost -p 5433 -U postgres -d market_data\n\n# 3. 导入 K线数据\nzstd -d candles_1m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 4. 导入期货数据\nzstd -d futures_metrics_5m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n> 💡 导入后即可使用 trading-service 计算指标，无需从头采集历史数据。\n\n\u003C\u002Fdetails>\n\n### 📈 技术指标 (38个模块)\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🔥 趋势指标 (8个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **EMA** | 指数移动平均 | 7\u002F25\u002F99 周期 |\n| **MACD** | 异同移动平均 | 12\u002F26\u002F9 |\n| **SuperTrend** | 超级趋势 | ATR 周期 10, 乘数 3 |\n| **ADX** | 平均趋向指数 | 14 周期 |\n| **Ichimoku** | 一目均衡表 | 9\u002F26\u002F52 |\n| **Donchian** | 唐奇安通道 | 20 周期 |\n| **Keltner** | 肯特纳通道 | 20 周期, ATR 2倍 |\n| **趋势线** | 自动趋势线识别 | 动态计算 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📊 动量指标 (6个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **RSI** | 相对强弱指数 | 14 周期 |\n| **KDJ** | 随机指标 | 9\u002F3\u002F3 |\n| **CCI** | 商品通道指数 | 20 周期 |\n| **WilliamsR** | 威廉指标 | 14 周期 |\n| **MFI** | 资金流量指数 | 14 周期 |\n| **RSI谐波** | RSI 背离检测 | 14 周期 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📉 波动指标 (4个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **布林带** | Bollinger Bands | 20 周期, 2倍标准差 |\n| **ATR** | 真实波幅 | 14 周期 |\n| **ATR波幅** | 波动率排行 | 14 周期 |\n| **支撑阻力** | 关键价位识别 | 动态计算 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📦 成交量指标 (6个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 用途 |\n|:---|:---|:---|\n| **OBV** | 能量潮 | 量价背离 |\n| **CVD** | 累积成交量差 | 买卖力量 |\n| **VWAP** | 成交量加权均价 | 机构成本 |\n| **成交量比率** | 相对成交量 | 放量识别 |\n| **流动性** | 买卖盘深度 | 滑点预估 |\n| **VPVR** | 成交量分布 | 密集成交区 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🕯️ K线形态 (61+种)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n**蜡烛形态 (TA-Lib, 61种)**\n\n| 类型 | 形态 |\n|:---|:---|\n| **反转形态** | 锤子线、上吊线、吞没、孕线、晨星、黄昏星、三只乌鸦 |\n| **持续形态** | 三法、分离线、并列阴阳 |\n| **中性形态** | 十字星、纺锤线、高浪线 |\n\n**价格形态 (patternpy)**\n\n| 类型 | 形态 | 信号 |\n|:---|:---|:---|\n| **头肩形态** | 头肩顶、头肩底 | 强反转 |\n| **双重形态** | 双顶、双底 | 中等反转 |\n| **三角形态** | 上升三角、下降三角、对称三角 | 突破方向 |\n| **楔形形态** | 上升楔形、下降楔形 | 反向突破 |\n| **通道形态** | 上升通道、下降通道、水平通道 | 趋势延续 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📡 期货指标 (8个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 信号含义 |\n|:---|:---|:---|\n| **持仓量** | Open Interest | 市场参与度 |\n| **持仓价值** | OI Value (USDT) | 资金规模 |\n| **多空比** | Long\u002FShort Ratio | 散户情绪 |\n| **大户多空比** | Top Trader L\u002FS | 主力方向 |\n| **主动买卖比** | Taker Buy\u002FSell | 即时情绪 |\n| **资金费率** | Funding Rate | 多空成本 |\n| **爆仓数据** | Liquidations | 极端行情 |\n| **期货情绪聚合** | 综合评分 | 多维度分析 |\n\n\u003C\u002Fdetails>\n\n### 高优先级算法\n\n系统自动识别高优先级币种 (约 130-150 个)，基于以下维度：\n\n```\n高优先级 = K线维度 ∪ 期货维度\n\nK线维度:\n  - 成交额 Top 50\n  - 波动率 Top 30  \n  - 涨跌幅 Top 30\n\n期货维度:\n  - 持仓价值 Top 30\n  - 主动买卖比极端 (>1.5 或 \u003C0.67)\n  - 多空比极端 (>2.0 或 \u003C0.5)\n```\n\n### 🤖 Telegram Bot\n\n#### 功能概览\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n##### 📊 排行榜卡片 (20+种)\n\n| 类别 | 卡片 |\n|:---|:---|\n| **基础排行** | RSI、MACD、KDJ、布林带、OBV |\n| **高级排行** | EMA、ATR、CVD、MFI、VWAP、流动性 |\n| **形态排行** | K线形态、支撑阻力、趋势线 |\n| **期货排行** | 持仓量、多空比、主动买卖比 |\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n#### 🔔 信号推送\n\n| 信号类型 | 触发条件 |\n|:---|:---|\n| **形态突破** | 检测到头肩、双顶等形态 |\n| **指标异常** | RSI 超买超卖、MACD 金叉死叉 |\n| **量价异动** | 成交量突增、价格突破 |\n| **期货异常** | 多空比极端、持仓量剧变 |\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 命令与触发方式\n\n| 触发方式 | 功能 | 说明 |\n|:---|:---|:---|\n| `BTC!` | 单币查询 | 交互式多面板查看 |\n| `BTC!!` | 完整TXT导出 | 下载 psql 风格完整报告 |\n| `BTC@` | AI分析 | 威科夫深度市场分析 |\n| `\u002Fdata` | 数据面板 | 访问排行榜卡片 |\n| `\u002Fai` | AI分析 | 进入AI币种选择 |\n| `\u002Fquery` | 币种查询 | 显示可查询币种 |\n| `\u002Fhelp` | 帮助 | 使用说明 |\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📁 目录结构\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```\ntradecat\u002F\n│\n├── 📂 assets\u002F                      # 共享资产根（真实目录）\n│   ├── 📂 common\u002F                  # 共享工具库（`import assets.*`）\n│   ├── 📂 config\u002F                  # 全局配置模板\u002F运行时 .env（不提交）\n│   ├── 📂 docs\u002F                    # 项目文档（mkdocs 入口）\n│   ├── 📂 tasks\u002F                   # 任务文档\n│   ├── 📂 artifacts\u002F               # 构建\u002F分析产物（默认忽略）\n│   ├── 📂 database\u002F                # DDL\u002FCSV\u002FSQLite（敏感：勿改写持久化数据）\n│   ├── 📂 repo\u002F                    # 外部仓库镜像（默认忽略）\n│   └── 📂 tests\u002F                   # 资产\u002FSQL\u002F脚本级测试素材\n│\n├── 📂 scripts\u002F                     # 全局脚本（install\u002Finit\u002Fstart\u002Fverify\u002Fcheck_env\u002F导出\u002F压缩等）\n│\n├── 📂 services\u002F                    # 服务分层（采集\u002F计算\u002F消费）\n│   ├── 📂 ingestion\u002F               # 采集层：写 TimescaleDB\n│   │   ├── 📂 data-service\u002F        # 低频\u002F分时采集（兼容链路，非默认启用）\n│   │   ├── 📂 binance-vision-service\u002F  # Binance Vision Raw 对齐采集（高频原子事实）\n│   │   └── 📂 predict-service\u002F     # 预测市场信号（Polymarket\u002FKalshi\u002FOpinion）\n│   │\n│   ├── 📂 compute\u002F                 # 计算层：读 PG \u002F 写 PG（tg_cards \u002F signal_state \u002F sheets_state）\n│   │   ├── 📂 trading-service\u002F     # 指标计算（写入 PG: tg_cards.*；供消费层读取）\n│   │   ├── 📂 signal-service\u002F      # 信号检测（规则引擎）\n│   │   ├── 📂 ai-service\u002F          # AI 分析（telegram 子模块）\n│   │\n│   └── 📂 consumption\u002F             # 消费层：对外呈现（Telegram\u002FAPI\u002FSheets\u002F可视化）\n│       ├── 📂 telegram-service\u002F    # Telegram Bot（卡片\u002F订阅\u002F快照）\n│       ├── 📂 api-service\u002F         # Query Service（REST API，默认随顶层启动）\n│       ├── 📂 fate-service\u002F        # 命理\u002F排盘（独立微服务）\n│       ├── 📂 sheets-service\u002F      # Google Sheets 公共看板同步（可选）\n│       ├── 📂 vis-service\u002F         # 可视化渲染（可选）\n│       └── 📂 nofx-dev\u002F            # 预览：外部工程镜像（非核心链路）\n│\n├── 📂 .github\u002F                     # 社区与安全规范（CI\u002F贡献指南\u002F安全策略）\n│\n├── 📄 mkdocs.yml                   # 文档站配置（assets\u002Fdocs 为入口）\n├── 📄 pyproject.toml               # 根级工具配置（ruff\u002Fpytest 等）\n├── 📄 Makefile                     # 常用命令聚合\n├── 📄 README.md                    # 项目说明（本文件）\n├── 📄 README_EN.md                 # 英文说明\n├── 📄 AGENTS.md                    # AI Agent 操作手册\n├── 📄 CONSTITUTION.md              # 架构宪法\u002F硬约束\n└── 📄 .python-version              # Python 版本锁定\n\n# 运行时生成（首次执行 .\u002Fscripts\u002Finit.sh 或 .\u002Fscripts\u002Fstart.sh 后出现；不随仓库提交）\n# - logs\u002F  run\u002F  backups\u002F  （以及各服务内的 logs\u002F pids\u002F data\u002Fcache 等）\n```\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🔧 运维指南\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 服务管理\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 统一管理（推荐）\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 启动所有服务\n.\u002Fscripts\u002Fstart.sh start\n\n# 查看状态\n.\u002Fscripts\u002Fstart.sh status\n\n# 停止全部\n.\u002Fscripts\u002Fstart.sh stop\n\n# 重启\n.\u002Fscripts\u002Fstart.sh restart\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 单服务管理\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# data-service（低频\u002F分时兼容链路，支持守护模式）\ncd services\u002Fingestion\u002Fdata-service\n.\u002Fscripts\u002Fstart.sh start    # 启动（含守护）\n.\u002Fscripts\u002Fstart.sh stop     # 停止\n.\u002Fscripts\u002Fstart.sh status   # 状态\n# ws 自愈：当 DB 长时间不再写入 1m K 线时，守护会自动重启 ws（可通过 DATA_SERVICE_WS_DB_* 配置）\n\n# trading-service \u002F telegram-service\ncd services\u002Fcompute\u002Ftrading-service  # 或 services\u002Fconsumption\u002Ftelegram-service\n.\u002Fscripts\u002Fstart.sh start    # 启动\n.\u002Fscripts\u002Fstart.sh stop     # 停止\n.\u002Fscripts\u002Fstart.sh status   # 状态\n\n# api-service（Query Service，默认随顶层启动）\ncd services\u002Fconsumption\u002Fapi-service\n.\u002Fscripts\u002Fstart.sh start\n.\u002Fscripts\u002Fstart.sh status\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 初始化\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 初始化全部服务\n.\u002Fscripts\u002Finit.sh\n\n# 初始化单个服务\n.\u002Fscripts\u002Finit.sh binance-vision-service\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 验证与检查\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 查看日志\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# data-service 日志\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fbackfill.log\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fmetrics.log\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fws.log\n\n# trading-service 日志\ntail -f services\u002Fcompute\u002Ftrading-service\u002Flogs\u002Fservice.log\n\n# telegram-service 日志\ntail -f services\u002Fconsumption\u002Ftelegram-service\u002Flogs\u002Fbot.log\n\n# signal-service 日志\ntail -f services\u002Fcompute\u002Fsignal-service\u002Flogs\u002Fsignal-service.log\n\n# 守护进程日志\ntail -f logs\u002Fdaemon.log\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 进程监控\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 查看所有相关进程\nps aux | grep -E \"data-service|trading-service|telegram|signal-service|src\\\\.simple_scheduler|main\\\\.py\"\n\n# 查看资源占用\nhtop -p $(pgrep -d',' -f \"src\\\\.simple_scheduler|src\\\\.kline_listener|telegram-service|signal-service|uvicorn\")\n```\n\n\u003C\u002Fdetails>\n\n### 数据库操作\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 TimescaleDB 查询\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 连接数据库\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data\n\n# 常用查询\n-- K线数据量\nSELECT COUNT(*) FROM market_data.candles_1m;\n\n-- 最新数据时间\nSELECT MAX(bucket_ts) FROM market_data.candles_1m;\n\n-- 币种列表\nSELECT DISTINCT symbol FROM market_data.candles_1m ORDER BY symbol;\n\n-- 单币种数据\nSELECT * FROM market_data.candles_1m \nWHERE symbol = 'BTCUSDT' \nORDER BY bucket_ts DESC LIMIT 10;\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 指标库（PG: tg_cards）查询\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 初始化 DDL（仅需一次；会创建 tg_cards schema + 38 张表）\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -f assets\u002Fdatabase\u002Fdb\u002Fschema\u002F021_tg_cards_sqlite_parity.sql\n\n# 查看表清单\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"\\\\dt tg_cards.*\"\n\n# 抽样查询（注意：表名\u002F列名含中文与 .py，必须双引号）\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"SELECT \\\\\\\"交易对\\\\\\\",\\\\\\\"周期\\\\\\\",\\\\\\\"数据时间\\\\\\\",\\\\\\\"ATR百分比\\\\\\\" FROM tg_cards.\\\\\\\"ATR波幅扫描器.py\\\\\\\" WHERE \\\\\\\"周期\\\\\\\"='15m' ORDER BY \\\\\\\"数据时间\\\\\\\" DESC LIMIT 5;\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 SQLite 查询（已废弃）\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n> 说明：当前指标库已统一为 PostgreSQL（`tg_cards.*`），不再写入\u002F读取 `market_data.db`。  \n> 如你仍保留历史 SQLite 文件，可用以下方式临时查看（仅用于迁移期对账\u002F回放）。\n\n```bash\nsqlite3 assets\u002Fdatabase\u002Fservices\u002Ftelegram-service\u002Fmarket_data.db\n.tables\n```\n\n\u003C\u002Fdetails>\n\n### 数据备份\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 导出 TimescaleDB\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 运行导出脚本 (后台执行)\nnohup .\u002Fscripts\u002Fexport_timescaledb.sh &\n\n# 查看进度\ntail -f backups\u002Ftimescaledb\u002Fexport.log\nls -lh backups\u002Ftimescaledb\u002F\n\n# 输出文件:\n# - candles_1m_*.bin.zst      (~15GB, K线数据)\n# - futures_metrics_*.bin.zst (~800MB, 期货数据)\n# - schema_*.sql.zst          (表结构)\n# - restore_*.sh              (恢复脚本)\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 恢复数据\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\ncd backups\u002Ftimescaledb\n\n# 恢复 schema\nzstd -d schema_*.sql.zst -c | psql -h localhost -p 5433 -U postgres -d market_data\n\n# 恢复 K线数据\nzstd -d candles_1m_*.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 恢复期货数据\nzstd -d futures_metrics_*.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n\u003C\u002Fdetails>\n\n### 常见问题\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: TA-Lib 安装失败？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 确保先安装系统库\nsudo apt-get install -y build-essential\n\n# 下载并编译 TA-Lib\nwget http:\u002F\u002Fprdownloads.sourceforge.net\u002Fta-lib\u002Fta-lib-0.4.0-src.tar.gz\ntar -xzf ta-lib-0.4.0-src.tar.gz\ncd ta-lib\n.\u002Fconfigure --prefix=\u002Fusr\nmake\nsudo make install\n\n# 然后安装 Python 包\npip install TA-Lib\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: K线形态显示\"无形态\"？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 检查 TA-Lib 是否安装\npython -c \"import talib; print(talib.__version__)\"\n\n# 检查形态库是否安装\npip install m-patternpy\npip install tradingpattern --no-deps\n\n# 重启 trading-service\ncd services\u002Fcompute\u002Ftrading-service\n.\u002Fscripts\u002Fstart.sh restart\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: 数据库连接失败？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 检查 PostgreSQL 是否运行\nsudo systemctl status postgresql\n\n# 检查端口\nss -tlnp | grep 5433\n\n# 检查连接\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -c \"\\l\"\n```\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 📞 联系方式\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n- **Telegram 频道**: [tradecat_ai_channel](https:\u002F\u002Ft.me\u002Ftradecat_ai_channel)\n- **Telegram 交流群**: [glue_coding](https:\u002F\u002Ft.me\u002Fglue_coding)\n- **Twitter\u002FX**: [123olp](https:\u002F\u002Fx.com\u002F123olp)\n- **discord**:  [tradecat](https:\u002F\u002Fdiscord.gg\u002FnppHyjrfqX)\n\n\u003C\u002Fdetails>\n\n---\n\n## 📜 许可证\n\n本项目采用 [MIT License](LICENSE) 开源许可证。\n\n---\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#tukuaiai\u002Ftradecat&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=tukuaiai\u002Ftradecat&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_f3757f1947b4.png\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_f3757f1947b4.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n---\n\n\u003Cdiv align=\"center\">\n\n### ⭐ 如果这个项目对您有帮助，请点亮 Star！\n\n---\n\n**Made with ❤️ by [tukuaiai](https:\u002F\u002Fgithub.com\u002Ftukuaiai)**\n\n[⬆ 返回顶部](#-tradecat)\n\n\u003C\u002Fdiv>\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_b923c4bd685d.png\" alt=\"TradeCat\" width=\"100px\">\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\n# 🐱 交易猫\n\n公共服务\n\n预测市场数据警报；https:\u002F\u002Ft.me\u002Fpredictcat_ai_bot\n\n交易猫行情查询；https:\u002F\u002Ft.me\u002Ftradecat_ai_bot\n\n命理agent；https:\u002F\u002Ft.me\u002Fcs_cat_bot\n\n本项目ai解读仓库（可能不完全准确）：https:\u002F\u002Fzread.ai\u002Ftukuaiai\u002Ftradecat\n\n感谢社区捐助的资金，让我去完成我的梦想！！！真心感谢你们！！！\n\n**免责声明**\n\n1. **开源与非官方声明**：本项目为永久开源项目，任何人可在开源许可范围内自由使用、分发与二次开发。本项目不隶属于任何交易所、基金、做市商或官方组织。\n2. **非投资建议**：本项目及其相关内容仅用于技术研究与社区协作交流，不构成任何形式的投资建议、理财建议或交易建议。数字资产价格波动剧烈，存在归零风险，请自行评估风险并独立决策。\n3. **代币无发行\u002F无背书**：本项目不发行任何代币；任何以本项目名义发行、宣传、拉盘、募资、承诺收益的行为均与本项目无关。相关链上资产（如有）为第三方行为，风险自担。\n4. **捐赠说明（唯一渠道）**：本项目目前接受且只接受来自 **SOL社区（代币地址，请勿直接转账，否则资产会丢失）(Gysp4iZ6uNuAksAPR37fQwLDRFU9Rz255UjExhiwpump)** 与 **BSC社区（代币地址，请勿直接转账，否则资产会丢失）(0x8a99b8d53eff6bc331af529af74ad267f3167777)** 两个社群的捐赠；捐赠属自愿行为，不提供任何回报或收益承诺。捐赠属自愿行为，不提供任何回报或收益承诺。\n5. **公开地址与风险提示**：我的地址为公开明牌地址，请务必自行核对链、网络与地址，转账一经发生通常不可撤销，因误转\u002F被骗\u002F盗号\u002F仿冒等导致的损失由转账方自行承担。\n6. **责任限制**：在法律允许范围内，项目维护者\u002F贡献者不对任何直接或间接损失承担责任，包括但不限于投资亏损、交易损失、合约风险、钓鱼诈骗、智能合约漏洞、第三方服务故障等。\n7. **历史情况提示**：如涉及原dev或历史资金纠纷等问题，均为历史主体行为，本项目维护者不对第三方过往行为承担责任。\n\n交易市场风云变幻，投资请谨慎，币不是我发的，明牌地址，亏钱请别骂我我害怕，我是玻璃心🙏🙏🙏，原dev已卷款跑路😅😅😅\n\n我的加密货币钱包地址：\n\nsol：`HjYhozVf9AQmfv7yv79xSNs6uaEU5oUk2USasYQfUYau`\n\nbsc：`0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`,`0x60c062e7600f74079ea7b5e5568edfb9a3f61f0f`\n\n**toy-level 数据分析\u002F交易数据平台**\n\n*全部市场，全部数据，全部方法，分析一切，交易一切，监控一切*\n\n[English](README_EN.md) | 简体中文\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftukuaiai\u002Ftradecat?style=social)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fstargazers)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Ftukuaiai\u002Ftradecat?style=social)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fnetwork\u002Fmembers)\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ftukuaiai\u002Ftradecat)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Freleases)\n[![CI](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftukuaiai\u002Ftradecat)](LICENSE)\n\n---\n\n\u003Cp>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.12-3776AB?style=for-the-badge&logo=python&logoColor=white\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-TimescaleDB-4169E1?style=for-the-badge&logo=postgresql&logoColor=white\" alt=\"TimescaleDB\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow?style=for-the-badge\" alt=\"License\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPandas- 数据处理-150458?style=for-the-badge&logo=pandas&logoColor=white\" alt=\"Pandas\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNumPy- 计算-013243?style=for-the-badge&logo=numpy&logoColor=white\" alt=\"NumPy\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTA--Lib- 技术分析-green?style=for-the-badge\" alt=\"TA-Lib\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic- 数据验证-E92063?style=for-the-badge&logo=pydantic&logoColor=white\" alt=\"Pydantic\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCCXT- 交易所API-000?style=for-the-badge\" alt=\"CCXT\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCryptofeed- WebSocket-purple?style=for-the-badge\" alt=\"Cryptofeed\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAKShare- A股数据-red?style=for-the-badge\" alt=\"AKShare\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fyfinance- 美股数据-7B68EE?style=for-the-badge\" alt=\"yfinance\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpenBB- 数据聚合-orange?style=for-the-badge\" alt=\"OpenBB\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQuantLib- 衍生品定价-blue?style=for-the-badge\" alt=\"QuantLib\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFRED_API- 宏观经济-1E90FF?style=for-the-badge\" alt=\"FRED\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram_Bot- 机器人-26A5E4?style=for-the-badge&logo=telegram&logoColor=white\" alt=\"Telegram Bot\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsyncIO- 异步-FF6F00?style=for-the-badge&logo=python&logoColor=white\" alt=\"AsyncIO\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAIOHTTP- HTTP-2C5BB4?style=for-the-badge&logo=aiohttp&logoColor=white\" alt=\"AIOHTTP\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHTTPX- HTTP-3d4f5d?style=for-the-badge\" alt=\"HTTPX\">\n\u003C\u002Fp>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Ftradecat_ai_channel\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram- 频道-blue?style=for-the-badge&logo=telegram\" alt=\"Telegram\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Fglue_coding\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram- 交流群-blue?style=for-the-badge&logo=telegram\" alt=\"交流群\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002F123olp\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTwitter- 123olp-black?style=for-the-badge&logo=x\" alt=\"Twitter\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n---\n\n## 📖 目录\n\n- [💰 救救孩子](#-救救孩子)\n- [🚀 快速开始](#-快速开始)\n- [🏗️ 架构设计](#️-架构设计)\n- [✨ 核心特性](#-核心特性)\n- [📊 数据与功能](#-数据与功能)\n- [📁 目录结构](#-目录结构)\n- [🔧 运维指南](#-运维指南)\n- [📞 联系方式](#-联系方式)\n\n> 🤖 **从零开始？** 复制这行到 AI 助手：`按照 https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fblob\u002Fmain\u002FREADME.md 的说明帮我安装 TradeCat`\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 💰 救救孩子\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n救救孩子，感谢了，好人一生平安🙏🙏🙏\n\n- **币安 UID**: `572155580`\n- **Tron (TRC20)**: `TQtBXCSTwLFHjBqTS4rNUp7ufiGx51BRey`\n- **Solana**: `HjYhozVf9AQmfv7yv79xSNs6uaEU5oUk2USasYQfUYau`\n- **Ethereum (ERC20)**: `0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`\n- **BNB Smart Chain (BEP20)**: `0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC`\n- **Bitcoin**: `bc1plslluj3zq3snpnnczplu7ywf37h89dyudqua04pz4txwh8z5z5vsre7nlm`\n- **Sui**: `0xb720c98a48c77f2d49d375932b2867e793029e6337f1562522640e4f84203d2e`\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 🚀 快速开始\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 🤖 AI 一键安装（推荐）\n\n> 把下面的提示词复制到 **Claude \u002F ChatGPT \u002F Cursor \u002F Kiro**，AI 会自动执行安装，零人工介入\n\n**方式一：完整部署提示词（推荐）**\n\n📄 **[README.md](README.md)** - 包含详细的 10 步部署流程，支持：\n- 系统依赖自动安装\n- 服务初始化和配置\n- HuggingFace 历史数据自动下载导入\n- 守护进程和日志轮转配置\n- 完整的故障排查指南\n\n复制该文件内容给 AI 助手即可自动完成全部部署。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📋 简化版安装提示词\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```\n按照 https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat\u002Fblob\u002Fmain\u002FREADME.md 的说明帮我安装 TradeCat\n\n要求：\n1. 读取文档后直接执行安装命令，不要生成脚本\n2. 一步一步执行，每步确认成功后继续\n3. 遇到错误自动分析并修复\n4. 安装完成后运行 .\u002Fscripts\u002Fverify.sh 验证\n5. 全程零人工介入\n```\n\n\u003C\u002Fdetails>\n\n### 🪟 Windows WSL2 用户\n\n> 📺 **视频教程**: [WSL2 安装配置教程](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1n14y1x7Y7\u002F)\n\n先在 Windows 用户目录创建 `.wslconfig`：\n\n```powershell\nnotepad \"$env:USERPROFILE\\.wslconfig\"\n```\n\n写入：\n\n```ini\n[wsl2]\nmemory=10GB\nprocessors=6\nswap=12GB\nnetworkingMode=mirrored\n```\n\n重启 WSL：`wsl --shutdown`，然后使用上面的 AI 安装提示词。\n\n### ⚙️ 最短可跑通三步\n\n```bash\n# 0) 环境检查（可选，推荐部署前运行）\n.\u002Fscripts\u002Fcheck_env.sh\n\n# 1) 初始化（创建各服务 .venv + 安装依赖）\n.\u002Fscripts\u002Finit.sh\n\n# 2) 填写全局配置（含 BOT_TOKEN \u002F DB \u002F 代理 等）\ncp assets\u002Fconfig\u002F.env.example assets\u002Fconfig\u002F.env && chmod 600 assets\u002Fconfig\u002F.env\n# 端口：默认 LF=5433（K线\u002F指标）、HF=15432（原子事实），见 assets\u002Fconfig\u002F.env.example\nvim assets\u002Fconfig\u002F.env\n\n# 3) 启动核心服务（ai + signal + api + telegram + trading）\n.\u002Fscripts\u002Fstart.sh start\n.\u002Fscripts\u002Fstart.sh status\n```\n\n> 说明：顶层 `.\u002Fscripts\u002Fstart.sh` 默认管理 `ai-service`、`signal-service`、`api-service`、`telegram-service`、`trading-service`（ai-service 为子模块，仅做就绪检查，无独立进程；并保证 api-service 先于 telegram\u002Fsheets 启动）。  \n> **重要**：从 2026-03 起，consumption 层（Telegram\u002FSheets\u002F可视化）不再允许直连数据库，统一通过 **Query Service（api-service，`\u002Fapi\u002Fv1`）** 读取数据；因此在运行 Telegram\u002FSheets 时 **不要停掉 `api-service`**。  \n> 低频\u002F分时采集服务 data-service：`services\u002Fingestion\u002Fdata-service\u002F`（兼容链路，不在默认启动链路）。  \n> 可选服务需手动启动：  \n> - `cd services\u002Fconsumption\u002Fsheets-service && .\u002Fscripts\u002Fstart.sh start`（Google Sheets 公共看板同步，默认 daemon）\n> 可选校验：`.\u002Fscripts\u002Fsmoke_query_service.sh`（验证 Query Service 鉴权与可用性；不回显 token）\n\n### ⚙️ 配置（必须）\n\n- 路径：`assets\u002Fconfig\u002F.env`（需手动从 `.env.example` 复制；或运行 `.\u002Fscripts\u002Finstall.sh` 自动生成），权限需 600，服务启动脚本会强制校验。  \n- **TimescaleDB 端口说明**（重要，按仓库现状）：\n  - LF（低频\u002F分时\u002FK线与指标）：`DATABASE_URL` 默认 `localhost:5433\u002Fmarket_data`（见 `assets\u002Fconfig\u002F.env.example`）\n  - HF（高频\u002F原子事实）：`BINANCE_VISION_DATABASE_URL` 默认 `localhost:15432\u002Fmarket_data`（见 `assets\u002Fconfig\u002F.env.example`）\n  - 若你在私有环境使用其它端口（例如历史文档曾提及 5434）：请全局统一端口与脚本\u002F命令；仓库当前示例以 5433\u002F15432 为准。\u003C!-- TODO: 若仓库正式迁移到其它端口，请补“统一替换列表与执行顺序” -->\n- 核心字段：  \n  - `DATABASE_URL`（TimescaleDB，见下方端口说明）  \n  - `QUERY_SERVICE_BASE_URL`（Query Service 基地址；默认 `http:\u002F\u002F127.0.0.1:8088`，见 `assets\u002Fconfig\u002F.env.example`）  \n  - `QUERY_SERVICE_AUTH_MODE`（Query Service 鉴权模式；默认 `required`；`disabled` 仅限本地\u002F受控环境调试）  \n  - `QUERY_SERVICE_TOKEN`（Query Service 内网 token；Header: `X-Internal-Token`；`required` 模式必须设置；`\u002Fapi\u002Fv1\u002Findicators\u002F*` 调试端点始终要求 token；`.\u002Fscripts\u002Fcheck_env.sh` 会将 `dev-token-change-me`\u002F`your_token_here` 视为占位值并判定为未配置）  \n  - `QUERY_SERVICE_TIMEOUT_SECONDS`（可选：消费端请求超时秒数；默认 8，见 `assets\u002Fconfig\u002F.env.example`）  \n  - `QUERY_SERVICE_CACHE_TTL_SECONDS`（可选：消费端（telegram\u002Fsheets）本地缓存 TTL 秒；默认 2）  \n  - `QUERY_SERVICE_STALE_TTL_SECONDS`（可选：消费端 stale-if-error 窗口秒；默认 30）  \n  - `QUERY_SERVICE_NET_MAX_RETRIES`（可选：消费端网络重试次数；默认 2；总尝试=1+retries）  \n  - `QUERY_SERVICE_NET_RETRY_BASE_SECONDS`（可选：消费端重试退避 base 秒；默认 0.2；0=不 sleep）  \n  - `QUERY_MARKET_TABLE_EXISTS_TTL_SEC`（可选：market_data 表存在性检查缓存 TTL 秒数；默认 30）  \n  - `QUERY_NUMERIC_MODE`（可选：指标数值输出模式；`float|string`；默认 `float`；`string` 保留 Decimal 精度）  \n  - `QUERY_CACHE_MAX_ENTRIES`（可选：Query Service 内存缓存最大条数；默认 256）  \n  - `QUERY_DASHBOARD_CACHE_TTL_SEC`（可选：dashboard 缓存 TTL 秒；默认 2；0=关闭）  \n  - `QUERY_SNAPSHOT_CACHE_TTL_SEC`（可选：snapshot 缓存 TTL 秒；默认 2；0=关闭）  \n  - **错误语义**：Query Service 对齐 CoinGlass 风格：即使失败也返回 HTTP 200；请始终通过响应体的 `success\u002Fcode\u002Fmsg` 判断成功与否。  \n  - `BOT_TOKEN`（Telegram Bot Token）  \n  - `TELEGRAM_GROUP_WHITELIST`（群聊白名单，逗号分隔；为空仅私聊；群聊仅响应 `\u002F` 或 `!` 开头且需 @bot）  \n  - `HTTP_PROXY` \u002F `HTTPS_PROXY`（需要代理时填写）  \n  - 外部地址：`BINANCE_WEB_BASE`、`BINANCE_PING_URL`、`SYMBOLS_ALL_URL`、`TELEGRAM_API_BASE`、`POLYMARKET_WEB_BASE`、`KALSHI_WEB_BASE`、`OPINION_WEB_BASE`、`NODEJS_SETUP_URL`、`NOFX_*`\n  - 币种\u002F周期：`SYMBOLS_GROUPS`、`SYMBOLS_EXTRA`、`SYMBOLS_EXCLUDE`、`INTERVALS`、`KLINE_INTERVALS`、`FUTURES_INTERVALS`  \n  - 采集\u002F计算开关：`BACKFILL_MODE`\u002F`BACKFILL_DAYS`\u002F`BACKFILL_ON_START`、`MAX_CONCURRENT`、`RATE_LIMIT_PER_MINUTE`  \n  - 默认值：`BACKFILL_MODE=all`（全量回填，若设置 `BACKFILL_START_DATE` 则按起始日计算天数；否则约 10 年）、`SYMBOLS_GROUPS=main4`（只拉 BTC\u002FETH\u002FSOL\u002FBNB，如需全市场改为 `all` 或自定义分组）  \n  - 计算后端：`COMPUTE_BACKEND`、`MAX_WORKERS`、`HIGH_PRIORITY_TOP_N`、`INDICATORS_ENABLED`\u002F`INDICATORS_DISABLED`  \n  - 展示过滤：`BINANCE_API_DISABLED`、`DISABLE_SINGLE_TOKEN_QUERY`、`SNAPSHOT_HIDDEN_FIELDS`、`BLOCKED_SYMBOLS`  \n  - AI\u002F交易：`AI_INDICATOR_TABLES`、`AI_INDICATOR_TABLES_DISABLED`、`LLM_BACKEND`、`LLM_API_BASE_URL`、`EXTERNAL_API_KEY`、`LLM_MODEL`、`LLM_MAX_TOKENS`、`AI_LARGE_PAYLOAD_CHAR_LIMIT`、`AI_FORCE_GEMINI_ON_LARGE_PAYLOAD`、`AI_DEFAULT_PROMPT`、`AI_RECORD_ENABLED`、`AI_RECORD_PAYLOAD`、`AI_RECORD_PROMPT`、`AI_RECORD_MESSAGES`、`AI_RECORD_ANALYSIS`、`AI_RECORD_MAX_DIRS`、`BINANCE_API_KEY`、`BINANCE_API_SECRET`\n  - 国际化：`DEFAULT_LOCALE`（默认 en）、`SUPPORTED_LOCALES`（zh-CN,en）、`FALLBACK_LOCALE`\n  - Google Sheets（可选，`sheets-service`）：`SHEETS_*` 见 `assets\u002Fconfig\u002F.env.example` 的 “Google Sheets 公共看板” 段落；弱网\u002F代理环境可用 `SHEETS_SA_NET_WRITE_RETRIES` 提升 SA 模式稳定性（默认 2）。\n\n### 📦 下载历史数据（可选）\n\n从 HuggingFace 下载预置数据集，跳过漫长的历史回填：\n\n🔗 **数据集**: [huggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026)\n\n**方式一：使用自动下载脚本（推荐）**\n\n> **默认下载 Main4 精简数据集**（415MB，4币种，1150万条记录，2020-2026完整历史）\n\n```bash\n# 安装依赖\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython -m pip install pandas psycopg2-binary huggingface_hub\n\n# 默认下载 Main4 数据集（BTC\u002FETH\u002FBNB\u002FSOL，415MB）\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython scripts\u002Fdownload_hf_data.py\n\n# 或指定币种\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython scripts\u002Fdownload_hf_data.py --symbols BTCUSDT,ETHUSDT,BNBUSDT\n```\n\n脚本特性：\n- **默认下载 Main4 精简数据集**（415MB），不是完整版（13GB）\n- 流式读取，内存友好\n- 支持断点续传（已下载的文件会跳过）\n\n**方式二：手动导入（完整数据）**\n\n```bash\n# 0. 创建库并导入 schema（依次执行仓库内 SQL）\nfor f in assets\u002Fdatabase\u002Fdb\u002Fschema\u002F*.sql; do\n  psql -h localhost -p 5433 -U postgres -d market_data -f \"$f\"\ndone\n\n# 1. 导入 K线数据 (3.73亿条)\nzstd -d candles_1m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n  -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 2. 导入期货数据 (9457万条)\nzstd -d futures_metrics_5m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n  -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n> 端口说明：本文与仓库脚本示例按 `assets\u002Fconfig\u002F.env.example` 默认端口（LF=5433，HF=15432）编写；如你改动端口，请同步所有示例命令与脚本配置。\n\n## 🔍 补充检查（2026-01-23）\n\n- **端口选择**：`assets\u002Fconfig\u002F.env.example` 默认 LF=5433、HF=15432；仓库脚本示例亦以此为准。若你自行改动端口，请全局统一。\n- CI 仅执行 ruff + py_compile 抽样（`.github\u002Fworkflows\u002Fci.yml`，检查前 50 个 .py 文件），不会跑 tests；提交前本地仍需 `.\u002Fscripts\u002Fverify.sh`。\n- `scripts\u002Finstall.sh` 会创建 `assets\u002Fconfig\u002F.env`（若不存在）；运行时统一只读 `assets\u002Fconfig\u002F.env`，避免多份配置漂移。\n\n### ✅ 验证安装\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📖 手动安装步骤\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 环境要求\n\n| 依赖 | 版本 | 说明 |\n|:---|:---|:---|\n| Python | 3.12+ | CI 使用 3.12；各服务 `services\u002F*\u002F*\u002Fpyproject.toml` 声明 `requires-python >=3.12`（`scripts\u002Finit.sh` 的最低检查为 3.10） |\n| PostgreSQL | 16+ | 需安装 TimescaleDB 扩展 |\n| TA-Lib | 0.4+ | 系统级库，需单独安装 |\n| SQLite | 3.x | 系统自带（仅迁移\u002F对账\u002F回放；运行态已不依赖） |\n\n### 安装步骤\n\n#### 1. 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat.git\ncd tradecat\n```\n\n#### 2. 安装系统依赖\n\n```bash\n# Ubuntu\u002FDebian\nsudo apt-get update\nsudo apt-get install -y build-essential python3-dev\n\n# 安装 TA-Lib\nwget http:\u002F\u002Fprdownloads.sourceforge.net\u002Fta-lib\u002Fta-lib-0.4.0-src.tar.gz\ntar -xzf ta-lib-0.4.0-src.tar.gz\ncd ta-lib && .\u002Fconfigure --prefix=\u002Fusr && make && sudo make install\ncd .. && rm -rf ta-lib ta-lib-0.4.0-src.tar.gz\n```\n\n#### 3. 一键初始化\n\n```bash\n# 初始化所有服务（创建虚拟环境、安装依赖、复制配置）\n.\u002Fscripts\u002Finit.sh\n\n# 或单独初始化某个服务\n.\u002Fscripts\u002Finit.sh binance-vision-service\n```\n\n#### 4. 配置环境变量\n\n```bash\n\n# 编辑 `assets\u002Fconfig\u002F.env`（如不存在：cp assets\u002Fconfig\u002F.env.example assets\u002Fconfig\u002F.env && chmod 600 assets\u002Fconfig\u002F.env）\nvim assets\u002Fconfig\u002F.env\n```\n\n关键配置补充（信号服务）：\n- `SIGNAL_DATA_MAX_AGE`：信号数据最大允许时长（秒），超过则跳过不产生信号；默认 600，可按部署环境调整。\n- `COOLDOWN_SECONDS`（signal-service）：PG 信号冷却时间（秒），可与规则级冷却配合，避免重复推送。\n\n关键配置补充（nofx-dev，预览服务）：\n- `NOFX_*`：nofx-dev 上游地址\u002F鉴权等（见 `assets\u002Fconfig\u002F.env.example` 的 NOFX 段落；nofx-dev 本身也有独立文档）。\n\n#### 5. 启动服务\n\n```bash\n# 启动所有服务\n.\u002Fscripts\u002Fstart.sh start\n\n# 查看状态\n.\u002Fscripts\u002Fstart.sh status\n\n# 停止全部\n.\u002Fscripts\u002Fstart.sh stop\n```\n\n#### 6. 验证安装\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 ✨ 核心特性\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🔄 多市场数据采集（🟡预览\u002F规划中）\n- 说明：当前仓库核心链路聚焦加密货币；A股\u002F美股\u002F宏观\u002FOpenBB 等属于 markets-service 预览方向（本仓库 `services\u002F` 下未内置实现，仅保留配置\u002F文档占位）。\n- **加密货币** - CCXT (100+交易所) + Cryptofeed (WebSocket)\n- **A股市场** - AKShare + BaoStock (免费全量)\n- **美股\u002F全球** - yfinance + pandas-datareader\n- **宏观经济** - FRED API (美联储官方)\n- **数据聚合** - OpenBB (100+数据源)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 📊 38个技术指标模块\n- **趋势指标** - EMA\u002FMACD\u002FSuperTrend\u002F趋势云\u002F趋势线\u002FADX\u002FIchimoku\n- **动量指标** - RSI\u002FKDJ\u002FMFI\u002F多空比\u002F斐波那契狙击\u002FCCI\u002FWilliamsR\n- **波动指标** - 布林带\u002FATR\u002F支撑阻力\u002FVWAP\u002FDonchian\u002FKeltner\n- **形态识别** - TA-Lib 61种蜡烛 + 价格形态\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🤖 Telegram Bot\n- **实时排行榜** - 20+ 种排行卡片\n- **信号推送** - 形态突破、指标异常\n- **交互查询** - 单币详情、多周期面板\n- **AI 分析** - Wyckoff 深度市场分析\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🗄️ 海量数据存储\n- **K线数据** - 3.73亿条 (2018-至今)\n- **期货数据** - 9457万条 (2021-至今)\n- **存储引擎** - TimescaleDB 时序优化\n- **衍生品定价** - QuantLib 期权\u002F债券\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🧠 AI 智能分析\n- **Wyckoff 方法论** - 市场结构、供需区间、阶段判断\n- **多模型支持** - Gemini \u002F OpenAI \u002F Claude \u002F DeepSeek\n- **专业提示词** - 内置交易分析师角色 Prompt\n- **上下文增强** - 自动注入实时 K线\u002F指标\u002F期货数据\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🔔 信号检测引擎\n- **129条规则** - 覆盖8个分类（独立 signal-service）\n- **多维度检测** - 趋势\u002F动量\u002F形态\u002F期货\n- **事件驱动** - SignalPublisher 发布信号事件\n- **订阅管理** - 用户自定义推送偏好\n- **冷却机制** - 防止重复推送\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 🏗️ 架构设计\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 系统架构图\n\n```mermaid\ngraph TD\n    subgraph 外部数据源[\"🌐 币安交易所 API\"]\n        API_WS[\"WebSocket K线\"]\n        API_REST[\"REST 期货指标\"]\n    end\n\n    subgraph DS[\"📦 data-service\u003Cbr>\u003Csmall>Python, asyncio, ccxt, cryptofeed\u003C\u002Fsmall>\"]\n        DS_BF[\"backfill\u003Cbr>历史回填\"]\n        DS_LIVE[\"live\u003Cbr>实时采集\"]\n        DS_MET[\"metrics\u003Cbr>期货指标\"]\n    end\n\n    API_WS --> DS_LIVE\n    API_REST --> DS_MET\n\n    subgraph TSDB[\"🗄️ TimescaleDB :5433\u003Cbr>\u003Csmall>PostgreSQL 16 + TimescaleDB\u003C\u002Fsmall>\"]\n        TS_CANDLE[(\"candles_1m\u003Cbr>3.73亿条 \u002F 99GB\")]\n        TS_FUTURE[(\"futures_metrics\u003Cbr>9457万条 \u002F 5GB\")]\n    end\n\n    DS_BF --> TS_CANDLE\n    DS_LIVE --> TS_CANDLE\n    DS_MET --> TS_FUTURE\n\n    subgraph TS[\"📊 trading-service\u003Cbr>\u003Csmall>Python, pandas, numpy, TA-Lib\u003C\u002Fsmall>\"]\n        TR_ENG[\"engine\u003Cbr>计算引擎\"]\n        TR_IND[\"indicators\u003Cbr>38个指标\"]\n        TR_SCH[\"scheduler\u003Cbr>定时调度\"]\n        TR_PRI[\"priority\u003Cbr>高优先级币种筛选\"]\n    end\n\n    TS_CANDLE --> TR_ENG\n    TS_FUTURE --> TR_ENG\n    TR_SCH --> TR_ENG\n    TR_ENG --> TR_IND\n    TR_ENG --> TR_PRI\n\n    PG_IND[(\"🗄️ tg_cards.*\u003Cbr>PostgreSQL 指标库\")]\n    TR_IND --> PG_IND\n\n    subgraph AI[\"🧠 AI 智能分析\"]\n        AI_WY[\"Wyckoff 方法论\"]\n        AI_MOD[\"多模型支持\u003Cbr>Gemini \u002F OpenAI \u002F Claude \u002F DeepSeek\"]\n    end\n\n    subgraph SIG[\"🔔 signal-service\u003Cbr>\u003Csmall>独立信号检测服务\u003C\u002Fsmall>\"]\n        SIG_RULES[\"rules\u003Cbr>129条信号规则\"]\n        SIG_ENG[\"engines\u003Cbr>PG 引擎\"]\n        SIG_PUB[\"events\u003Cbr>SignalPublisher\"]\n    end\n\n    PG_IND --> SIG_ENG\n    TS_CANDLE --> SIG_ENG\n    TS_FUTURE --> SIG_ENG\n    SIG_ENG --> SIG_RULES\n    SIG_RULES --> SIG_PUB\n\n    subgraph TG[\"🤖 telegram-service\u003Cbr>\u003Csmall>python-telegram-bot, aiohttp\u003C\u002Fsmall>\"]\n        TG_CARD[\"cards\u003Cbr>排行卡片 20+\"]\n        TG_ADAPTER[\"signals\u002Fadapter\u003Cbr>信号服务适配器\"]\n        TG_HAND[\"handlers\u003Cbr>命令处理\"]\n        TG_BOT[\"bot\u003Cbr>主程序\"]\n    end\n\n    PG_IND --> TG_CARD\n    SIG_PUB --> TG_ADAPTER\n    TG_ADAPTER --> TG_BOT\n    TG_CARD --> TG_BOT\n    TG_HAND --> TG_BOT\n    AI_MOD --> TG_BOT\n    TS_CANDLE -.-> AI_WY\n    AI_WY --> AI_MOD\n\n    subgraph ORD[\"💹 order-service（🟡预览：本仓库未在 services\u002F 下内置）\u003Cbr>\u003Csmall>Python, ccxt, cryptofeed\u003C\u002Fsmall>\"]\n        ORD_MM[\"market-maker\u003Cbr>Avellaneda-Stoikov 做市\"]\n        ORD_EX[\"交易执行\"]\n    end\n\n    TS_CANDLE -.-> ORD_MM\n    TS_FUTURE -.-> ORD MM\n\n    USER[\"👤 Telegram 用户\u003Cbr>排行榜查询 | 信号接收 | AI分析\"]\n    TG_BOT --> USER\n```\n\n### 服务说明\n\n| 服务 | 端口 | 职责 | 技术栈 |\n|:---|:---:|:---|:---|\n| **data-service** | - | 加密货币 K线采集、期货指标采集、历史数据回填 | Python, asyncio, ccxt, cryptofeed |\n| **trading-service** | - | 38个技术指标模块计算、高优先级币种筛选、定时调度 | Python, pandas, numpy, TA-Lib |\n| **signal-service** | - | 独立信号检测服务（129条规则、8分类、事件发布） | Python, psycopg3（PostgreSQL） |\n| **telegram-service** | - | Bot 交互、排行榜展示、信号推送 UI（通过 adapter 调用 signal-service） | python-telegram-bot, aiohttp |\n| **ai-service** | - | AI 分析、Wyckoff 方法论（作为 telegram-service 子模块） | Gemini\u002FOpenAI\u002FClaude\u002FDeepSeek |\n| **fate-service** | - | 命理\u002F排盘服务（独立微服务） | Python, Node.js（可选） |\n| **api-service** | 8088 | REST API 服务（指标\u002FK线\u002F信号数据查询；可用 `API_SERVICE_PORT` 覆盖） | FastAPI, Pydantic |\n| **sheets-service** | - | Google Sheets 公共看板同步（TG 卡片→表格；可审计\u002F可重放） | python-dotenv, python-telegram-bot |\n| **vis-service** | 8087 | 可视化渲染（K线图\u002F指标图\u002FVPVR） | FastAPI, matplotlib, mplfinance |\n| **predict-service** | - | 预测市场信号（Polymarket\u002FKalshi\u002FOpinion） | Node.js + Python utilities |\n| **nofx-dev** | - | Agentic Trading OS（预览\u002F外部工程镜像，非核心链路） | Go, React, TypeScript |\n| **markets-service（🟡预览：仅保留配置与文档，未在 services\u002F 下内置）** | - | 全市场数据采集（美股\u002FA股\u002F宏观\u002F衍生品定价） | yfinance, akshare, fredapi, QuantLib |\n| **order-service（🟡预览：仅保留配置与文档，未在 services\u002F 下内置）** | - | 交易执行、Avellaneda-Stoikov 做市 | Python, ccxt, cryptofeed |\n| **TimescaleDB（LF）** | 5433 | 低频\u002F分时\u002FK线与指标（`DATABASE_URL`） | PostgreSQL 16 + TimescaleDB |\n| **TimescaleDB（HF）** | 15432 | 高频\u002F原子事实（`BINANCE_VISION_DATABASE_URL`） | PostgreSQL 16 + TimescaleDB |\n\n### 数据流向\n\n```mermaid\ngraph LR\n    subgraph 数据采集\n        A[\"🌐 币安 WebSocket\"] --> B[\"📦 data-service\"]\n    end\n    \n    subgraph 数据存储\n        B --> C[(\"🗄️ TimescaleDB\u003Cbr>candles_1m\u003Cbr>futures_metrics\")]\n    end\n    \n    subgraph 指标计算\n        C --> D[\"📊 trading-service\u003Cbr>38个指标计算\"]\n        D --> E2[(\"🗄️ tg_cards.*\u003Cbr>PostgreSQL 指标库\")]\n    end\n    \n    subgraph 用户服务\n        E2 --> F\n        F --> G[\"👤 用户\"]\n    end\n    \n    subgraph AI分析\n        C -.-> H[\"🧠 AI 分析\u003Cbr>Gemini\u002FOpenAI\u002FClaude\u002FDeepSeek\"]\n        H -.-> F\n    end\n    \n    subgraph 交易执行\n        C -.-> I[\"💹 order-service（🟡预览）\u003Cbr>做市\u002F交易\"]\n    end\n```\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📊 数据与功能\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 📊 数据规模\n\n**🔗 历史数据下载**: [HuggingFace 数据集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002F123olp\u002Fbinance-futures-ohlcv-2018-2026)\n\n| 数据集 | 说明 | 大小 |\n|:---|:---|:---|\n| `candles_1m.bin.zst` | K线数据 (2018-至今, 3.73亿条) | ~15 GB |\n| `futures_metrics_5m.bin.zst` | 期货指标 (2021-至今, 9457万条) | ~800 MB |\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📋 数据详情与导入步骤\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 数据概览\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n#### 📈 K线数据 (candles_1m)\n\n| 指标 | 数值 |\n|:---|---:|\n| **总记录数** | 373,342,599 |\n| **币种数量** | 615 |\n| **时间范围** | 2018-01-01 ~ 至今 |\n| **存储大小** | 99 GB |\n| **压缩后** | ~15 GB (zstd) |\n\n**字段说明**:\n- `bucket_ts` - K线时间戳\n- `open\u002Fhigh\u002Flow\u002Fclose` - OHLC 价格\n- `volume` - 成交量\n- `quote_volume` - 成交额 (USDT)\n- `taker_buy_volume` - 主动买入量\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n#### 📊 期货数据 (futures_metrics_5m)\n\n| 指标 | 数值 |\n|:---|---:|\n| **总记录数** | 94,576,458 |\n| **币种数量** | 612 |\n| **时间范围** | 2021-12-01 ~ 至今 |\n| **存储大小** | 5 GB |\n| **压缩后** | ~800 MB (zstd) |\n\n**字段说明**:\n- `sum_open_interest` - 持仓量\n- `sum_open_interest_value` - 持仓价值 (USDT)\n- `sum_toptrader_long_short_ratio` - 大户多空比\n- `sum_taker_long_short_vol_ratio` - 主动买卖比\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 数据更新频率\n\n| 数据类型 | 更新频率 | 延迟 |\n|:---|:---|:---|\n| K线 (1m) | 实时 WebSocket | \u003C 5秒 |\n| K线 (5m\u002F15m\u002F1h\u002F4h\u002F1d\u002F1w) | 聚合计算 | \u003C 10秒 |\n| 期货指标 | 每 5 分钟 | \u003C 30秒 |\n| 技术指标 | 每分钟轮询 | \u003C 3分钟 |\n\n### 导入步骤\n\n```bash\n# 1. 下载数据文件\n# 从 HuggingFace 下载 .bin.zst 文件到 backups\u002Ftimescaledb\u002F\n\n# 2. 恢复表结构（兼容 schema.sql.zst \u002F schema_*.sql.zst）\nzstd -d schema*.sql.zst -c | psql -h localhost -p 5433 -U postgres -d market_data\n\n# 3. 导入 K线数据\nzstd -d candles_1m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 4. 导入期货数据\nzstd -d futures_metrics_5m.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n> 💡 导入后即可使用 trading-service 计算指标，无需从头采集历史数据。\n\n\u003C\u002Fdetails>\n\n### 📈 技术指标 (38个模块)\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🔥 趋势指标 (8个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **EMA** | 指数移动平均 | 7\u002F25\u002F99 周期 |\n| **MACD** | 异同移动平均 | 12\u002F26\u002F9 |\n| **SuperTrend** | 超级趋势 | ATR 周期 10, 乘数 3 |\n| **ADX** | 平均趋向指数 | 14 周期 |\n| **Ichimoku** | 一目均衡表 | 9\u002F26\u002F52 |\n| **Donchian** | 唐奇安通道 | 20 周期 |\n| **Keltner** | 肯特纳通道 | 20 周期, ATR 2倍 |\n| **趋势线** | 自动趋势线识别 | 动态计算 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📊 动量指标 (6个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **RSI** | 相对强弱指数 | 14 周期 |\n| **KDJ** | 随机指标 | 9\u002F3\u002F3 |\n| **CCI** | 商品通道指数 | 20 周期 |\n| **WilliamsR** | 威廉指标 | 14 周期 |\n| **MFI** | 资金流量指数 | 14 周期 |\n| **RSI谐波** | RSI 背离检测 | 14 周期 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📉 波动指标 (4个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 参数 |\n|:---|:---|:---|\n| **布林带** | Bollinger Bands | 20 周期, 2倍标准差 |\n| **ATR** | 真实波幅 | 14 周期 |\n| **ATR波幅** | 波动率排行 | 14 周期 |\n| **支撑阻力** | 关键价位识别 | 动态计算 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📦 成交量指标 (6个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 用途 |\n|:---|:---|:---|\n| **OBV** | 能量潮 | 量价背离 |\n| **CVD** | 累积成交量差 | 买卖力量 |\n| **VWAP** | 成交量加权均价 | 机构成本 |\n| **成交量比率** | 相对成交量 | 放量识别 |\n| **流动性** | 买卖盘深度 | 滑点预估 |\n| **VPVR** | 成交量分布 | 密集成交区 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🕯️ K线形态 (61+种)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n**蜡烛形态 (TA-Lib, 61种)**\n\n| 类型 | 形态 |\n|:---|:---|\n| **反转形态** | 锤子线、上吊线、吞没、孕线、晨星、黄昏星、三只乌鸦 |\n| **持续形态** | 三法、分离线、并列阴阳 |\n| **中性形态** | 十字星、纺锤线、高浪线 |\n\n**价格形态 (patternpy)**\n\n| 类型 | 形态 | 信号 |\n|:---|:---|:---|\n| **头肩形态** | 头肩顶、头肩底 | 强反转 |\n| **双重形态** | 双顶、双底 | 中等反转 |\n| **三角形态** | 上升三角、下降三角、对称三角 | 突破方向 |\n| **楔形形态** | 上升楔形、下降楔形 | 反向突破 |\n| **通道形态** | 上升通道、下降通道、水平通道 | 趋势延续 |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📡 期货指标 (8个)\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| 指标 | 说明 | 信号含义 |\n|:---|:---|:---|\n| **持仓量** | Open Interest | 市场参与度 |\n| **持仓价值** | OI Value (USDT) | 资金规模 |\n| **多空比** | Long\u002FShort Ratio | 散户情绪 |\n| **大户多空比** | Top Trader L\u002FS | 主力方向 |\n| **主动买卖比** | Taker Buy\u002FSell | 即时情绪 |\n| **资金费率** | Funding Rate | 多空成本 |\n| **爆仓数据** | Liquidations | 极端行情 |\n| **期货情绪聚合** | 综合评分 | 多维度分析 |\n\n\u003C\u002Fdetails>\n\n### 高优先级算法\n\n系统自动识别高优先级币种 (约 130-150 个)，基于以下维度：\n\n```\n高优先级 = K线维度 ∪ 期货维度\n\nK线维度:\n  - 成交额 Top 50\n  - 波动率 Top 30  \n  - 涨跌幅 Top 30\n\n期货维度:\n  - 持仓价值 Top 30\n  - 主动买卖比极端 (>1.5 或 \u003C0.67)\n  - 多空比极端 (>2.0 或 \u003C0.5)\n```\n\n### 🤖 Telegram Bot\n\n#### 功能概览\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n##### 📊 排行榜卡片 (20+种)\n\n| 类别 | 卡片 |\n|:---|:---|\n| **基础排行** | RSI、MACD、KDJ、布林带、OBV |\n| **高级排行** | EMA、ATR、CVD、MFI、VWAP、流动性 |\n| **形态排行** | K线形态、支撑阻力、趋势线 |\n| **期货排行** | 持仓量、多空比、主动买卖比 |\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n#### 🔔 信号推送\n\n| 信号类型 | 触发条件 |\n|:---|:---|\n| **形态突破** | 检测到头肩、双顶等形态 |\n| **指标异常** | RSI 超买超卖、MACD 金叉死叉 |\n| **量价异动** | 成交量突增、价格突破 |\n| **期货异常** | 多空比极端、持仓量剧变 |\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 命令与触发方式\n\n| 触发方式 | 功能 | 说明 |\n|:---|:---|:---|\n| `BTC!` | 单币查询 | 交互式多面板查看 |\n| `BTC!!` | 完整TXT导出 | 下载 psql 风格完整报告 |\n| `BTC@` | AI分析 | 威科夫深度市场分析 |\n| `\u002Fdata` | 数据面板 | 访问排行榜卡片 |\n| `\u002Fai` | AI分析 | 进入AI币种选择 |\n| `\u002Fquery` | 币种查询 | 显示可查询币种 |\n| `\u002Fhelp` | 帮助 | 使用说明 |\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 📁 目录结构\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```\ntradecat\u002F\n│\n├── 📂 assets\u002F                      # 共享资产根（真实目录）\n│   ├── 📂 common\u002F                  # 共享工具库（`import assets.*`）\n│   ├── 📂 config\u002F                  # 全局配置模板\u002F运行时 .env（不提交）\n│   ├── 📂 docs\u002F                    # 项目文档（mkdocs 入口）\n│   ├── 📂 tasks\u002F                   # 任务文档\n│   ├── 📂 artifacts\u002F               # 构建\u002F分析产物（默认忽略）\n│   ├── 📂 database\u002F                # DDL\u002FCSV\u002FSQLite（敏感：勿改写持久化数据）\n│   ├── 📂 repo\u002F                    # 外部仓库镜像（默认忽略）\n│   └── 📂 tests\u002F                   # 资产\u002FSQL\u002F脚本级测试素材\n│\n├── 📂 scripts\u002F                     # 全局脚本（install\u002Finit\u002Fstart\u002Fverify\u002Fcheck_env\u002F导出\u002F压缩等）\n│\n├── 📂 services\u002F                    # 服务分层（采集\u002F计算\u002F消费）\n│   ├── 📂 ingestion\u002F               # 采集层：写 TimescaleDB\n│   │   ├── 📂 data-service\u002F        # 低频\u002F分时采集（兼容链路，非默认启用）\n│   │   ├── 📂 binance-vision-service\u002F  # Binance Vision Raw 对齐采集（高频原子事实）\n│   │   └── 📂 predict-service\u002F     # 预测市场信号（Polymarket\u002FKalshi\u002FOpinion）\n│   │\n│   ├── 📂 compute\u002F                 # 计算层：读 PG \u002F 写 PG（tg_cards \u002F signal_state \u002F sheets_state）\n│   │   ├── 📂 trading-service\u002F     # 指标计算（写入 PG: tg_cards.*；供消费层读取）\n│   │   ├── 📂 signal-service\u002F      # 信号检测（规则引擎）\n│   │   ├── 📂 ai-service\u002F          # AI 分析（telegram 子模块）\n│   │\n│   └── 📂 consumption\u002F             # 消费层：对外呈现（Telegram\u002FAPI\u002FSheets\u002F可视化）\n│       ├── 📂 telegram-service\u002F    # Telegram Bot（卡片\u002F订阅\u002F快照）\n│       ├── 📂 api-service\u002F         # Query Service（REST API，默认随顶层启动）\n│       ├── 📂 fate-service\u002F        # 命理\u002F排盘（独立微服务）\n│       ├── 📂 sheets-service\u002F      # Google Sheets 公共看板同步（可选）\n│       ├── 📂 vis-service\u002F         # 可视化渲染（可选）\n│       └ ├── 📂 nofx-dev\u002F            # 预览：外部工程镜像（非核心链路）\n│\n├── 📂 .github\u002F                     # 社区与安全规范（CI\u002F贡献指南\u002F安全策略）\n│\n├── 📄 mkdocs.yml                   # 文档站配置（assets\u002Fdocs 为入口）\n├── 📄 pyproject.toml               # 根级工具配置（ruff\u002Fpytest 等）\n├── 📄 Makefile                     # 常用命令聚合\n├── 📄 README.md                    # 项目说明（本文件）\n├── 📄 README_EN.md                 # 英文说明\n├── 📄 AGENTS.md                    # AI Agent 操作手册\n├── 📄 CONSTITUTION.md              # 架构宪法\u002F硬约束\n└ ├── 📄 .python-version              # Python 版本锁定\n\n# 运行时生成（首次执行 .\u002Fscripts\u002Finit.sh 或 .\u002Fscripts\u002Fstart.sh 后出现；不随仓库提交）\n# - logs\u002F  run\u002F  backups\u002F  （以及各服务内的 logs\u002F pids\u002F data\u002Fcache 等）\n```\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 🔧 运维指南\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### 服务管理\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 统一管理（推荐）\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 启动所有服务\n.\u002Fscripts\u002Fstart.sh\n\n# 停止所有服务\n.\u002Fscripts\u002Fstop.sh\n\n# 查看服务状态\n.\u002Fscripts\u002Fstatus.sh\n\n# 清理临时文件\n.\u002Fscripts\u002Fcleanup.sh\n\n# 备份数据库\n.\u002Fscripts\u002Fbackup.sh\n\n# 检查日志\n.\u002Fscripts\u002Flogs.sh\n\n# 重启特定服务\n.\u002Fscripts\u002Frestart.sh service_name\n\n# 查看容器日志\ndocker logs container_id\n\n# 清除旧容器和镜像\ndocker system prune -a\n\n# 更新依赖库\npip install --upgrade -r requirements.txt\n\n# 重新构建 Docker 镜像\ndocker build -t tradecat .\n\n# 推送新镜像到仓库\ndocker push your-docker-repo\u002Ftradecat:latest\n\n# 配置 CI\u002FCD 流程\nEdit .github\u002Fworkflows\u002Fci.yml\n\n# 设置环境变量\nexport SERVICE_ENV=production\n\n# 配置 Nginx 反向代理\nEdit \u002Fetc\u002Fnginx\u002Fsites-available\u002Fdefault\n\n# 启用 HTTPS\nCertbot auto\n\n# 监控 CPU 和内存使用\nhtop\n\n# Analyze network traffic\niftop\n\n# Check disk usage\ndf -h\n\n# Optimize PostgreSQL queries\nEXPLAIN ANALYZE query\n\n# Tune TimescaleDB settings\nALTER TABLE table_name SET (timescaledb.compress_chunk_age = '7 days')\n\n# Enable automatic scaling\nAWS Auto Scaling Group\n\n# Set up alerting systems\nPrometheus + Grafana\n\n# Implement load balancing\nHAProxy\n\n# Deploy on Kubernetes\nkubectl apply -f kubernetes-deployment.yaml\n\n# Monitor application performance\nNew Relic\n\n# Conduct regular security audits\nOWASP Top 10\n\n# Update firewall rules\niptables -A INPUT -p tcp --dport 80 -j ACCEPT\n\n# Train staff on best practices\nWorkshops and seminars\n\n# Engage with community\nSocial media campaigns\n\n# Collaborate with partners\nStrategic alliances\n\n# Explore new technologies\nBlockchain integration\n\n# Plan for future growth\nScalability strategies\n\n# Maintain transparency\nPublic reports and updates\n\n# Foster innovation\nHackathons and incubators\n\n# Ensure sustainability\nEnvironmental initiatives\n\n# Build trust\nCustomer feedback loops\n\n# Strengthen leadership\nExecutive coaching programs\n\n# Promote diversity\nInclusion policies\n\n# Celebrate achievements\nAnnual awards ceremonies\n\n# Reflect on lessons learned\nPost-mortem analyses\n\n# Stay adaptable\nContinuous learning\n\n# Embrace change\nAgile methodologies\n\n# Focus on quality\nISO certifications\n\n# Prioritize safety\nOccupational health and safety standards\n\n# Enhance customer experience\nPersonalized services\n\n# Increase efficiency\nProcess optimization\n\n# Expand market reach\nInternational expansion\n\n# Boost brand awareness\nMarketing campaigns\n\n# Drive revenue growth\nMonetization strategies\n\n# Reduce costs\nOperational efficiencies\n\n# Improve profitability\nFinancial planning\n\n# Achieve long-term success\nVisionary goals\n\n# Inspire others\nLeadership stories\n\n# Contribute to society\nCorporate social responsibility\n\n# Leave a legacy\nSustainable development\n\n# Continue the journey\nOngoing commitment\n\n# Thank you for your support\nGratitude messages\n\n# Stay connected\nRegular communication\n\n# Keep innovating\nFuture plans\n\n# Be bold\nTake risks\n\n# Dream big\nAmbitious visions\n\n# Believe in possibilities\nPositive mindset\n\n# Act with purpose\nMission-driven actions\n\n# Create impact\nMeaningful contributions\n\n# Share knowledge\nEducational initiatives\n\n# Encourage collaboration\nTeamwork spirit\n\n# Celebrate diversity\nInclusive cultures\n\n# Protect the environment\nEco-friendly practices\n\n# Support communities\nLocal engagement\n\n# Uphold values\nEthical principles\n\n# Maintain integrity\nHonesty and transparency\n\n# Foster hope\nOptimistic outlook\n\n# Inspire confidence\nSelf-assurance\n\n# Cultivate gratitude\nAppreciation for blessings\n\n# Practice mindfulness\nPresent-moment awareness\n\n# Seek balance\nHolistic well-being\n\n# Enjoy life\nSimple pleasures\n\n# Reflect on journey\nGrateful memories\n\n# Plan for next steps\nExciting adventures ahead\n\n# Stay united\nStrong bonds\n\n# Celebrate together\nJoyful moments\n\n# Spread positivity\nKind gestures\n\n# Build stronger relationships\nTrust-based connections\n\n# Promote peace\nHarmonious coexistence\n\n# Advocate for justice\nEquitable treatment\n\n# Fight for freedom\nEmpowerment initiatives\n\n# Defend dignity\nRespect for human rights\n\n# Protect innocence\nChild welfare efforts\n\n# Support the vulnerable\nAssistance programs\n\n# Enhance education\nLearning opportunities\n\n# Improve healthcare\nMedical advancements\n\n# Advance technology\nInnovative solutions\n\n# Elevate culture\nArtistic expressions\n\n# Preserve heritage\nCultural traditions\n\n# Celebrate diversity\nRich tapestry of identities\n\n# Honor ancestors\nLegacy of wisdom\n\n# Learn from history\nLessons for today\n\n# Shape the future\nInspiring generations\n\n# Continue the legacy\nEnduring impact\n\n# Inspire future leaders\nMentorship programs\n\n# Foster global cooperation\nInternational partnerships\n\n# Promote sustainable development\nGlobal goals\n\n# Contribute to humanity\nCollective progress\n\n# Leave a positive mark\nShared prosperity\n\n# Achieve harmony\nUniversal well-being\n\n# Realize dreams\nCollective aspirations\n\n# Build a better world\nCollaborative efforts\n\n# Continue the journey\nUnending quest\n\n# Stay hopeful\nBright prospects\n\n# Believe in humanity\nInnate goodness\n\n# Trust in each other\nMutual reliance\n\n# Support one another\nCompassionate acts\n\n# Spread love\nGentle gestures\n\n# Foster understanding\nEmpathy and dialogue\n\n# Promote tolerance\nOpen-mindedness\n\n# Encourage respect\nMutual appreciation\n\n# Build bridges\nConnecting hearts\n\n# Overcome divisions\nHealing wounds\n\n# Reunite communities\nRestoring unity\n\n# Restore faith\nHope renewed\n\n# Revitalize spirits\nEnergy restored\n\n# Refresh minds\nClarity regained\n\n# Strengthen bodies\nHealth improved\n\n# Enrich lives\nExperiences enriched\n\n# Celebrate life\nJoyous moments\n\n# Reflect on journey\nGrateful heart\n\n# Plan for next steps\nExciting adventures ahead\n\n# Stay connected\nWarm relationships\n\n# Continue the journey\nUnending exploration\n\n# Stay hopeful\nBright hopes\n\n# Believe in possibilities\nLimitless potential\n\n# Act with purpose\nMission-driven actions\n\n# Create impact\nMeaningful contributions\n\n# Share knowledge\nEducational initiatives\n\n# Encourage collaboration\nTeamwork spirit\n\n# Celebrate diversity\nInclusive cultures\n\n# Protect the environment\nEco-friendly practices\n\n# Support communities\nLocal engagement\n\n# Uphold values\nEthical principles\n\n# Maintain integrity\nHonesty and transparence\n\n# Foster hope\nOptimistic outlook\n\n# Inspire confidence\nSelf-assurance\n\n# Cultivate gratitude\nAppreciation for blessings\n\n# Practice mindfulness\nPresent-moment awareness\n\n# Seek balance\nHolistic well-being\n\n# Enjoy life\nSimple pleasures\n\n# Reflect on journey\nGrateful memories\n\n# Plan for next steps\nExciting adventures ahead\n\n# Stay connected\nWarm relationships\n\n# Continue the journey\nUnending exploration\n\n# Stay hopeful\nBright hopes\n\n# Believe in possibilities\nLimitless potential\n\n# Act with purpose\nMission-driven actions\n\n# Create impact\nMeaningful contributions\n\n# Share knowledge\nEducational initiatives\n\n# Encourage collaboration\nTeamwork spirit\n\n# Celebrate diversity\nInclusive cultures\n\n# Protect the environment\nEco-friendly practices\n\n# Support communities\nLocal engagement\n\n# Uphold values\nEthical principles\n\n# Maintain integrity\nHonesty and transparence\n\n# Foster hope\nOptimistic outlook\n\n# Inspire confidence\nSelf-assurance\n\n# Cultivate gratitude\nAppreciation for blessings\n\n# Prac\n\n# 启动所有服务\n.\u002Fscripts\u002Fstart.sh start\n\n# 查看状态\n.\u002Fscripts\u002Fstart.sh status\n\n# 停止全部\n.\u002Fscripts\u002Fstart.sh stop\n\n# 重启\n.\u002Fscripts\u002Fstart.sh restart\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 单服务管理\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# data-service（低频\u002F分时兼容链路，支持守护模式）\ncd services\u002Fingestion\u002Fdata-service\n.\u002Fscripts\u002Fstart.sh start    # 启动（含守护）\n.\u002Fscripts\u002Fstart.sh stop     # 停止\n.\u002Fscripts\u002Fstart.sh status   # 状态\n# ws 自愈：当 DB 长时间不再写入 1m K 线时，守护会自动重启 ws（可通过 DATA_SERVICE_WS_DB_* 配置）\n\n# trading-service \u002F telegram-service\ncd services\u002Fcompute\u002Ftrading-service  # 或 services\u002Fconsumption\u002Ftelegram-service\n.\u002Fscripts\u002Fstart.sh start    # 启动\n.\u002Fscripts\u002Fstart.sh stop     # 停止\n.\u002Fscripts\u002Fstart.sh status   # 状态\n\n# api-service（Query Service，默认随顶层启动）\ncd services\u002Fconsumption\u002Fapi-service\n.\u002Fscripts\u002Fstart.sh start\n.\u002Fscripts\u002Fstart.sh status\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 初始化\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 初始化全部服务\n.\u002Fscripts\u002Finit.sh\n\n# 初始化单个服务\n.\u002Fscripts\u002Finit.sh binance-vision-service\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 验证与检查\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n.\u002Fscripts\u002Fverify.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 查看日志\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# data-service 日志\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fbackfill.log\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fmetrics.log\ntail -f services\u002Fingestion\u002Fdata-service\u002Flogs\u002Fws.log\n\n# trading-service 日志\ntail -f services\u002Fcompute\u002Ftrading-service\u002Flogs\u002Fservice.log\n\n# telegram-service 日志\ntail -f services\u002Fconsumption\u002Ftelegram-service\u002Flogs\u002Fbot.log\n\n# signal-service 日志\ntail -f services\u002Fcompute\u002Fsignal-service\u002Flogs\u002Fsignal-service.log\n\n# 守护进程日志\ntail -f logs\u002Fdaemon.log\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 进程监控\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 查看所有相关进程\nps aux | grep -E \"data-service|trading-service|telegram|signal-service|src\\\\.simple_scheduler|main\\\\.py\"\n\n# 查看资源占用\nhtop -p $(pgrep -d',' -f \"src\\\\.simple_scheduler|src\\\\.kline_listener|telegram-service|signal-service|uvicorn\")\n```\n\n\u003C\u002Fdetails>\n\n### 数据库操作\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 TimescaleDB 查询\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 连接数据库\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data\n\n# 常用查询\n-- K线数据量\nSELECT COUNT(*) FROM market_data.candles_1m;\n\n-- 最新数据时间\nSELECT MAX(bucket_ts) FROM market_data.candles_1m;\n\n-- 市场币种列表\nSELECT DISTINCT symbol FROM market_data.candles_1m ORDER BY symbol;\n\n-- 单币种数据\nSELECT * FROM market_data.candles_1m \nWHERE symbol = 'BTCUSDT' \nORDER BY bucket_ts DESC LIMIT 10;\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 指标库（PG: tg_cards）查询\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 初始化 DDL（仅需一次；会创建 tg_cards schema + 38 张表）\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -f assets\u002Fdatabase\u002Fdb\u002Fschema\u002F021_tg_cards_sqlite_parity.sql\n\n# 查看表清单\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"\\\\dt tg_cards.*\"\n\n# 抽样查询（注意：表名\u002F列名含中文与 .py，必须双引号）\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"SELECT \\\"交易对\\\",\\\"周期\\\",\\\"数据时间\\\",\\\"ATR百分比\\\" FROM tg_cards.\\\"ATR波幅扫描器.py\\\" WHERE \\\"周期\\\"='15m' ORDER BY \\\"数据时间\\\" DESC LIMIT 5;\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 SQLite 查询（已废弃）\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n> 说明：当前指标库已统一为 PostgreSQL（`tg_cards.*`），不再写入\u002F读取 `market_data.db`。  \n> 如你仍保留历史 SQLite 文件，可用以下方式临时查看（仅用于迁移期对账\u002F回放）。\n\n```bash\nsqlite3 assets\u002Fdatabase\u002Fservices\u002Ftelegram-service\u002Fmarket_data.db\n.tables\n```\n\n\u003C\u002Fdetails>\n\n### 数据备份\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 导出 TimescaleDB\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 运行导出脚本 (后台执行)\nnohup .\u002Fscripts\u002Fexport_timescaledb.sh &\n\n# 查看进度\ntail -f backups\u002Ftimescaledb\u002Fexport.log\nls -lh backups\u002Ftimescaledb\u002F\n\n# 输出文件:\n# - candles_1m_*.bin.zst      (~15GB, K线数据)\n# - futures_metrics_*.bin.zst (~800MB, 期货数据)\n# - schema_*.sql.zst          (表结构)\n# - restore_*.sh              (恢复脚本)\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 恢复数据\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\ncd backups\u002Ftimescaledb\n\n# 恢复 schema\nzstd -d schema_*.sql.zst -c | psql -h localhost -p 5433 -U postgres -d market_data\n\n# 恢复 K线数据\nzstd -d candles_1m_*.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.candles_1m FROM STDIN WITH (FORMAT binary)\"\n\n# 恢复期货数据\nzstd -d futures_metrics_*.bin.zst -c | psql -h localhost -p 5433 -U postgres -d market_data \\\n    -c \"COPY market_data.binance_futures_metrics_5m FROM STDIN WITH (FORMAT binary)\"\n```\n\n\u003C\u002Fdetails>\n\n### 常见问题\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: TA-Lib 安装失败？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 确保先安装系统库\nsudo apt-get install -y build-essential\n\n# 下载并编译 TA-Lib\nwget http:\u002F\u002Fprdownloads.sourceforge.net\u002Fta-lib\u002Fta-lib-0.4.0-src.tar.gz\ntar -xzf ta-lib-0.4.0-src.tar.gz\ncd ta-lib\n.\u002Fconfigure --prefix=\u002Fusr\nmake\nsudo make install\n\n# 然后安装 Python 包\npip install TA-Lib\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: K线形态显示\"无形态\"？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 检查 TA-Lib 是否安装\npython -c \"import talib; print(talib.__version__)\"\n\n# 检查形态库是否安装\npip install m-patternpy\npip install tradingpattern --no-deps\n\n# 重启 trading-service\ncd services\u002Fcompute\u002Ftrading-service\n.\u002Fscripts\u002Fstart.sh restart\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>点击展开👉 Q: 数据库连接失败？\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 检查 PostgreSQL 是否运行\nsudo systemctl status postgresql\n\n# 检查端口\nss -tlnp | grep 5433\n\n# 检查连接\nPGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -c \"\\l\"\n```\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdetails>\n\n---\n\n\u003Cdetails open>\n\u003Csummary>\u003Cstrong>点击展开👉 📞 联系方式\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n- **Telegram 频道**: [tradecat_ai_channel](https:\u002F\u002Ft.me\u002Ftradecat_ai_channel)\n- **Telegram 交流群**: [glue_coding](https:\u002F\u002Ft.me\u002Fglue_coding)\n- **Twitter\u002FX**: [123olp](https:\u002F\u002Fx.com\u002F123olp)\n- **discord**:  [tradecat](https:\u002F\u002Fdiscord.gg\u002FnppHyjrfqX)\n\n\u003C\u002Fdetails>\n\n---\n\n## 📜 许可证\n\n本项目采用 [MIT License](LICENSE) 开源许可证。\n\n---\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#tukuaiai\u002Ftradecat&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=tukuaiai\u002Ftradecat&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_f3757f1947b4.png\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_readme_f3757f1947b4.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n---\n\n\u003Cdiv align=\"center\">\n\n### ⭐ 如果这个项目对您有帮助，请点亮 Star！\n\n---\n\n**Made with ❤️ by [tukuaiai](https:\u002F\u002Fgithub.com\u002Ftukuaiai)**\n\n[⬆ 返回顶部](#-tradecat)\n\n\u003C\u002Fdiv>","# TradeCat 快速上手指南\n\nTradeCat 是一个基于 Python 的开源交易数据分析与监控平台，支持全市场数据采集、技术指标计算、AI 解读及 Telegram 机器人告警。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu 20.04+) 或 macOS。\n  - *Windows 用户*: 必须使用 **WSL2** (建议分配内存 ≥10GB, CPU ≥6 核)。\n- **Python**: 3.12+\n- **数据库**: PostgreSQL + TimescaleDB 插件\n- **网络**: 需具备访问海外交易所 API 的能力（建议配置代理）\n\n### 前置依赖安装\n确保系统已安装以下基础工具：\n```bash\n# Ubuntu\u002FDebian 示例\nsudo apt update\nsudo apt install -y git curl wget build-essential libssl-dev libffi-dev python3-dev python3-venv postgresql-client\n```\n\n> **注意**: TimescaleDB 可通过 Docker 快速部署，或在本地 PostgreSQL 中安装扩展。本项目默认通过脚本管理服务依赖。\n\n## 2. 安装步骤\n\n### 第一步：克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftukuaiai\u002Ftradecat.git\ncd tradecat\n```\n\n### 第二步：初始化环境与依赖\n运行官方提供的初始化脚本，自动创建虚拟环境并安装核心依赖：\n```bash\n.\u002Fscripts\u002Finit.sh\n```\n\n### 第三步：配置环境变量\n复制配置模板并修改关键参数（数据库连接、Telegram Token、代理等）：\n```bash\ncp assets\u002Fconfig\u002F.env.example assets\u002Fconfig\u002F.env\nchmod 600 assets\u002Fconfig\u002F.env\nvim assets\u002Fconfig\u002F.env\n```\n\n**关键配置项说明：**\n- `DATABASE_URL`: 低频数据库地址 (默认 `localhost:5433\u002Fmarket_data`)\n- `BINANCE_VISION_DATABASE_URL`: 高频数据库地址 (默认 `localhost:15432\u002Fmarket_data`)\n- `BOT_TOKEN`: 你的 Telegram Bot Token\n- `HTTP_PROXY` \u002F `HTTPS_PROXY`: 如需代理访问交易所，请在此填写\n- `SYMBOLS_GROUPS`: 监控币种组 (默认 `main4` 即 BTC\u002FETH\u002FSOL\u002FBNB，全市场改为 `all`)\n\n### 第四步：启动核心服务\n启动包含 AI 分析、信号生成、API 服务及 Telegram 机器人的全套服务：\n```bash\n.\u002Fscripts\u002Fstart.sh start\n```\n\n检查服务运行状态：\n```bash\n.\u002Fscripts\u002Fstart.sh status\n```\n\n> **重要提示**: 从 2026-03 版本起，所有消费端（Telegram\u002FSheets）必须通过 **Query Service (`api-service`)** 读取数据，请勿停止 `api-service`。\n\n### （可选）第五步：导入历史数据\n为避免漫长的数据回填，可从 HuggingFace 下载预置数据集（推荐 Main4 精简版）：\n\n```bash\n# 安装下载所需依赖\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython -m pip install pandas psycopg2-binary huggingface_hub\n\n# 下载并导入 BTC\u002FETH\u002FBNB\u002FSOL 历史数据 (约 415MB)\nservices\u002Fingestion\u002Fdata-service\u002F.venv\u002Fbin\u002Fpython scripts\u002Fdownload_hf_data.py\n```\n\n## 3. 基本使用\n\n### 通过 Telegram 机器人查询\n配置完成后，在 Telegram 中搜索你设置的 Bot，即可使用以下命令：\n\n- **查询行情**: 发送币种符号，如 `BTCUSDT`\n- **查看指标**: 发送 `\u002Findicators BTCUSDT`\n- **获取 AI 解读**: 发送 `\u002Fai BTCUSDT`\n- **设置警报**: 发送 `\u002Falert BTCUSDT > 70000`\n\n### 通过 API 获取数据\n本地服务默认运行在 `8088` 端口，可直接调用 API 获取标准化数据：\n\n```bash\n# 获取某币种最新的技术指标\ncurl -H \"X-Internal-Token: your_token_here\" \\\n     \"http:\u002F\u002F127.0.0.1:8088\u002Fapi\u002Fv1\u002Findicators\u002FBTCUSDT\"\n```\n\n### 验证安装\n运行烟雾测试脚本验证服务连通性与鉴权：\n```bash\n.\u002Fscripts\u002Fsmoke_query_service.sh\n```\n\n---\n*免责声明：本项目仅供技术研究与学习交流，不构成任何投资建议。数字资产风险极高，请谨慎决策。*","一位专注于加密货币量化交易的独立开发者，试图构建一套能实时监控全网行情并自动触发警报的交易系统。\n\n### 没有 tradecat 时\n- **数据源分散且接入困难**：需要分别编写代码对接 CCXT、Cryptofeed、AKShare 等多个异构 API，处理不同的认证机制和数据格式，耗时数周仍难以稳定运行。\n- **实时性差导致错失良机**：传统的轮询方式存在显著延迟，无法在毫秒级捕捉到突发的大额交易或价格异动，往往看到警报时行情已结束。\n- **缺乏统一的数据清洗标准**：来自美股、A 股和链上数据的字段定义不一，需手动编写大量 Pandas 脚本进行清洗和对齐，极易出错且维护成本极高。\n- **预警机制缺失**：没有现成的消息推送通道，发现异常信号后只能人工盯盘或通过复杂的自建服务通知，无法实现 7x24 小时自动化监控。\n\n### 使用 tradecat 后\n- **一站式全市场数据接入**：直接调用 tradecat 集成的 CCXT、OpenBB 及 AKShare 模块，几行配置即可同时获取加密货币、美股和 A 股的实时流数据。\n- **毫秒级异步监控与警报**：利用 tradecat 基于 AsyncIO 和 WebSocket 的架构，实时捕获市场深度变化，并通过内置的 Telegram Bot 瞬间推送精准的交易信号。\n- **标准化的数据管道**：tradecat 自动利用 Pydantic 和 TimescaleDB 完成多源数据的验证、清洗与时序存储，开发者可直接使用干净的数据进行策略回测。\n- **开箱即用的通知体系**：无需自建后端服务，直接复用 tradecat 的预测市场数据警报机器人，实现了从数据监控到用户触达的闭环。\n\ntradecat 将原本需要数月搭建的复杂金融数据基础设施，浓缩为一个可立即部署的开源解决方案，让开发者能专注于核心交易策略而非数据搬运。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftukuaiai_tradecat_22540997.png","tukuaiai","土块","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftukuaiai_b923c4bd.png",null,"tukuai.ai@gmail.com","tukuai_ai","https:\u002F\u002Ft.me\u002Fdesci0","https:\u002F\u002Fgithub.com\u002Ftukuaiai",[85,89,93,97,101,105,109,113,117],{"name":86,"color":87,"percentage":88},"Python","#3572A5",42.8,{"name":90,"color":91,"percentage":92},"Go","#00ADD8",20.7,{"name":94,"color":95,"percentage":96},"JavaScript","#f1e05a",15.7,{"name":98,"color":99,"percentage":100},"TypeScript","#3178c6",14.4,{"name":102,"color":103,"percentage":104},"Shell","#89e051",3.9,{"name":106,"color":107,"percentage":108},"PLpgSQL","#336790",1.5,{"name":110,"color":111,"percentage":112},"Makefile","#427819",0.7,{"name":114,"color":115,"percentage":116},"CSS","#663399",0.2,{"name":118,"color":119,"percentage":120},"HTML","#e34c26",0,885,231,"2026-04-03T08:41:48","MIT",4,"Linux, macOS, Windows (via WSL2)","未说明","WSL2 建议配置 10GB+ (根据 .wslconfig 示例)",{"notes":130,"python":131,"dependencies":132},"1. 必须安装并配置 TimescaleDB 数据库，默认低频端口 5433，高频端口 15432。2. Windows 用户需通过 WSL2 运行，并建议修改 .wslconfig 增加内存和交换空间限制。3. 核心服务包括 ai-service, signal-service, api-service 等，消费端需通过 Query Service 访问数据。4. 可选从 HuggingFace 下载预置历史数据以跳过漫长回填。5. 需配置 Telegram Bot Token 及各类交易所 API 密钥方可完整使用。","3.12",[133,134,135,136,137,138,139,140,141,142],"PostgreSQL + TimescaleDB","Pandas","NumPy","TA-Lib","Pydantic","CCXT","Cryptofeed","AKShare","yfinance","OpenBB",[14,13,51,15],[145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],"ai","binance","ccxt","crypto","futures","market-data","pandas","python","quantitative-trading","real-time","ta-lib","technical-analysis","telegram-bot","timescaledb","trading","bitcoin","cryptocurrency","ethereum","indicators","wyckoff","2026-03-27T02:49:30.150509","2026-04-06T07:16:05.785376",[],[]]