[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yinaoxiong--12306_code_server":3,"tool-yinaoxiong--12306_code_server":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":23,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":108,"github_topics":109,"view_count":23,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":114,"updated_at":115,"faqs":116,"releases":157},2707,"yinaoxiong\u002F12306_code_server","12306_code_server","该仓库用于构建自托管的12306验证码识别服务器","12306_code_server 是一个专为解决铁路购票验证码识别难题而设计的自托管服务工具。在中国铁路 12306 官网购票时，用户常需面对复杂的图形验证码，手动输入繁琐且容易出错。此项目通过构建本地化的识别服务器，能够自动解析验证码图片并返回正确选项，从而帮助自动化脚本高效完成登录或下单流程。\n\n该工具主要面向具备一定技术基础的开发者，特别是那些正在开发或维护 12306 自动购票助手（如基于 testerSunshine 项目）的程序员。它提供了标准的 API 接口，支持将 Base64 编码的图片发送服务端并快速获取识别结果，完美兼容主流购票辅助程序的调用格式。\n\n在技术实现上，12306_code_server 基于轻量级的 TensorFlow Lite 模型，不仅继承了 easy12306 项目的核心算法，还针对资源受限环境进行了优化。它支持多种架构部署，包括常见的 amd64 以及树莓派等设备的 arm 架构，并强烈推荐通过 Docker 容器一键启动，极大降低了环境配置门槛。无论是想在低配云服务器上运行，还是希望在本地搭建私有识别服务，12306_code_serv","12306_code_server 是一个专为解决铁路购票验证码识别难题而设计的自托管服务工具。在中国铁路 12306 官网购票时，用户常需面对复杂的图形验证码，手动输入繁琐且容易出错。此项目通过构建本地化的识别服务器，能够自动解析验证码图片并返回正确选项，从而帮助自动化脚本高效完成登录或下单流程。\n\n该工具主要面向具备一定技术基础的开发者，特别是那些正在开发或维护 12306 自动购票助手（如基于 testerSunshine 项目）的程序员。它提供了标准的 API 接口，支持将 Base64 编码的图片发送服务端并快速获取识别结果，完美兼容主流购票辅助程序的调用格式。\n\n在技术实现上，12306_code_server 基于轻量级的 TensorFlow Lite 模型，不仅继承了 easy12306 项目的核心算法，还针对资源受限环境进行了优化。它支持多种架构部署，包括常见的 amd64 以及树莓派等设备的 arm 架构，并强烈推荐通过 Docker 容器一键启动，极大降低了环境配置门槛。无论是想在低配云服务器上运行，还是希望在本地搭建私有识别服务，12306_code_server 都是一个稳定、灵活且易于集成的开源选择。","# 12306验证码识别服务器\r\n\r\n[![Uptime Robot status](https:\u002F\u002Fimg.shields.io\u002Fuptimerobot\u002Fstatus\u002Fm783635180-ab3d4772f147c2a3b92f8fe5)](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180) [![Uptime Robot ratio (30 days)](https:\u002F\u002Fimg.shields.io\u002Fuptimerobot\u002Fratio\u002Fm783635180-ab3d4772f147c2a3b92f8fe5)](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180) [![Build Status](https:\u002F\u002Ftravis-ci.org\u002FYinAoXiong\u002F12306_code_server.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002FYinAoXiong\u002F12306_code_server) [![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fyinaoxiong\u002F12306_code_server)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fyinaoxiong\u002F12306_code_server)\r\n\r\n该项目用于构建自托管的12306验证码识别服务器，本项目的全部模型和部分代码来自于此项目 [easy12306](https:\u002F\u002Fgithub.com\u002Fzhaipro\u002Feasy12306)，使用该项目构建的api符合 [12306购票小助手](https:\u002F\u002Fgithub.com\u002FtesterSunshine\u002F12306)云打码格式可以直接调用。\r\n\r\n提供一个部署好的线上版本, [https:\u002F\u002F12306.yinaoxiong.cn](https:\u002F\u002F12306.yinaoxiong.cn\u002F),部署在腾讯云1核1G的学生机上不保证可用性,服务状态可以通过 [https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180)查看.\r\n\r\n\r\n\r\n## 接口规范\r\n\r\n### 请求\r\n\r\n- Method: **POST**\r\n- URL:  ```\u002Fverify\u002Fbase64\u002F```\r\n- Headers: Content-Type: application\u002Fx-www-form-urlencoded\r\n- Body: \r\n  imageFile=>Base64 encoding of the image\r\n\r\n### 响应\r\n\r\n- Headers：Content-Type:application\u002Fjson\r\n- Body：\r\n\r\n```json\r\n{\r\n    \"code\": 0,\r\n    \"data\": [\r\n        \"1\",  \u002F\u002F答案图片的编号数组\r\n        \"3\"\r\n    ],\r\n    \"massage\": \"识别成功\"\r\n}\r\n{\r\n    \"code\": 1,\r\n    \"data\": [\r\n    ],\r\n    \"massage\": \"识别失败\"\r\n}\r\n```\r\n\r\n\r\n\r\n## python版本支持\r\n\r\n- [x] 3.5-3.7\r\n\r\n## 平台支持\r\n\r\n- [x] amd64\r\n- [x] arm64v8\r\n- [x] arm32v7\r\n\r\n其中arm平台建议通过docker运行\r\n\r\n## 部署\r\n\r\n### docker部署(推荐)\r\n\r\n使用docker可以使用如下命令快速部署:\r\n\r\n\r\n  ```shell\r\n  docker run -d -p 8080:80 --name 12306 yinaoxiong\u002F12306_code_server\r\n  ```\r\n\r\n### docker-compose部署(推荐)\r\n\r\n\r\n```yaml\r\nversion: \"3\"\r\n\r\nservices:\r\n  code_12306:\r\n    image: yinaoxiong\u002F12306_code_server\r\n    ports:\r\n      - 5002:80 #可以根据需要修改端口\r\n    environment:\r\n      - WORKERS=1 #gunicorn works 默认为1可以根据服务器配置自行调整\r\n    restart: always\r\n  \r\n```\r\n\r\n### 通过源码部署\r\n\r\n1. 克隆并进入项目\r\n\r\n   ```shell\r\n   git clone https:\u002F\u002Fgithub.com\u002FYinAoXiong\u002F12306_code_server.git\r\n   cd 12306_code_server\r\n   ```\r\n\r\n2. 安装依赖 自行根据平台和python选择对应的tflite（下面的例子为amd64，python3.7，其他情况对应的下载地址见 [https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython](https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython)，可自行在requirements.txt中替换）\r\n\r\n   ```shell\r\n   pip3 install -r requirements.txt\r\n   ```\r\n\r\n3. 下载模型文件\r\n\r\n    ```shell\r\n    bash download_model.sh\r\n    ```\r\n    从GitHub下载慢的话可以选择执行下面的命令\r\n\r\n    ```shell\r\n    wget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Fimage.model.tflite\r\n    wget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Ftext.model.tflite\r\n    ```\r\n\r\n4. 运行 默认workers为1，使用80端口，可以自行修改 gunicorn.conf\r\n\r\n   ```shell\r\n   gunicorn app:app -c gunicorn.conf.py\r\n   ```\r\n\r\n不推荐在arm平台上使用源码部署,依赖安装有些麻烦.\r\n\r\n## 致谢\r\n\r\n- [easy12306](https:\u002F\u002Fgithub.com\u002Fzhaipro\u002Feasy12306) 提供项目运行的model\r\n-  [12306购票小助手](https:\u002F\u002Fgithub.com\u002FtesterSunshine\u002F12306)源于该项目的一个issue\r\n- ~~[tensorflow-on-arm](https:\u002F\u002Fgithub.com\u002Flhelontra\u002Ftensorflow-on-arm)提供arm上运行的tensorflow python包~~ v1.1版本后开始使用tflite而非keras\r\n","# 12306验证码识别服务器\n\n[![Uptime Robot状态](https:\u002F\u002Fimg.shields.io\u002Fuptimerobot\u002Fstatus\u002Fm783635180-ab3d4772f147c2a3b92f8fe5)](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180) [![Uptime Robot比率（30天）](https:\u002F\u002Fimg.shields.io\u002Fuptimerobot\u002Fratio\u002Fm783635180-ab3d4772f147c2a3b92f8fe5)](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180) [![构建状态](https:\u002F\u002Ftravis-ci.org\u002FYinAoXiong\u002F12306_code_server.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002FYinAoXiong\u002F12306_code_server) [![Docker拉取次数](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fyinaoxiong\u002F12306_code_server)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fyinaoxiong\u002F12306_code_server)\n\n该项目用于构建自托管的12306验证码识别服务器，本项目的全部模型和部分代码来自于此项目 [easy12306](https:\u002F\u002Fgithub.com\u002Fzhaipro\u002Feasy12306)，使用该项目构建的api符合 [12306购票小助手](https:\u002F\u002Fgithub.com\u002FtesterSunshine\u002F12306)云打码格式可以直接调用。\r\n\r\n提供一个部署好的线上版本, [https:\u002F\u002F12306.yinaoxiong.cn](https:\u002F\u002F12306.yinaoxiong.cn\u002F),部署在腾讯云1核1G的学生机上不保证可用性,服务状态可以通过 [https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180](https:\u002F\u002Fstats.uptimerobot.com\u002FoyKyLhjJQ\u002F783635180)查看.\r\n\r\n\r\n\r\n## 接口规范\r\n\r\n### 请求\r\n\r\n- Method: **POST**\r\n- URL:  ```\u002Fverify\u002Fbase64\u002F```\r\n- Headers: Content-Type: application\u002Fx-www-form-urlencoded\r\n- Body: \r\n  imageFile=>Base64编码的图片\r\n\r\n### 响应\r\n\r\n- Headers：Content-Type:application\u002Fjson\r\n- Body：\r\n\r\n```json\r\n{\r\n    \"code\": 0,\r\n    \"data\": [\r\n        \"1\",  \u002F\u002F答案图片的编号数组\r\n        \"3\"\r\n    ],\r\n    \"massage\": \"识别成功\"\r\n}\r\n{\r\n    \"code\": 1,\r\n    \"data\": [\r\n    ],\r\n    \"massage\": \"识别失败\"\r\n}\r\n```\r\n\r\n\r\n\r\n## python版本支持\r\n\r\n- [x] 3.5-3.7\r\n\r\n## 平台支持\r\n\r\n- [x] amd64\r\n- [x] arm64v8\r\n- [x] arm32v7\r\n\r\n其中arm平台建议通过docker运行\r\n\r\n## 部署\r\n\r\n### docker部署(推荐)\r\n\r\n使用docker可以使用如下命令快速部署:\r\n\r\n\r\n  ```shell\r\n  docker run -d -p 8080:80 --name 12306 yinaoxiong\u002F12306_code_server\r\n  ```\r\n\r\n### docker-compose部署(推荐)\r\n\r\n\r\n```yaml\r\nversion: \"3\"\r\n\r\nservices:\r\n  code_12306:\r\n    image: yinaoxiong\u002F12306_code_server\r\n    ports:\r\n      - 5002:80 #可以根据需要修改端口\r\n    environment:\r\n      - WORKERS=1 #gunicorn works 默认为1可以根据服务器配置自行调整\r\n    restart: always\r\n  \r\n```\r\n\r\n### 通过源码部署\r\n\r\n1. 克隆并进入项目\r\n\r\n   ```shell\r\n   git clone https:\u002F\u002Fgithub.com\u002FYinAoXiong\u002F12306_code_server.git\r\n   cd 12306_code_server\r\n   ```\r\n\r\n2. 安装依赖 自行根据平台和python选择对应的tflite（下面的例子为amd64，python3.7，其他情况对应的下载地址见 [https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython](https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython)，可自行在requirements.txt中替换）\r\n\r\n   ```shell\r\n   pip3 install -r requirements.txt\r\n   ```\r\n\r\n3. 下载模型文件\r\n\r\n    ```shell\r\n    bash download_model.sh\r\n    ```\r\n    从GitHub下载慢的话可以选择执行下面的命令\r\n\r\n    ```shell\r\n    wget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Fimage.model.tflite\r\n    wget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Ftext.model.tflite\r\n    ```\r\n\r\n4. 运行 默认workers为1，使用80端口，可以自行修改 gunicorn.conf\r\n\r\n   ```shell\r\n   gunicorn app:app -c gunicorn.conf.py\r\n   ```\r\n\r\n不推荐在arm平台上使用源码部署,依赖安装有些麻烦.\r\n\r\n## 致谢\r\n\r\n- [easy12306](https:\u002F\u002Fgithub.com\u002Fzhaipro\u002Feasy12306) 提供项目运行的model\r\n-  [12306购票小助手](https:\u002F\u002Fgithub.com\u002FtesterSunshine\u002F12306)源于该项目的一个issue\r\n- ~~[tensorflow-on-arm](https:\u002F\u002Fgithub.com\u002Flhelontra\u002Ftensorflow-on-arm)提供arm上运行的tensorflow python包~~ v1.1版本后开始使用tflite而非keras","# 12306 验证码识别服务器快速上手指南\n\n本项目用于构建自托管的 12306 验证码识别服务，兼容 [12306 购票小助手](https:\u002F\u002Fgithub.com\u002FtesterSunshine\u002F12306) 的云打码接口格式。\n\n## 环境准备\n\n*   **操作系统**：支持 Linux (amd64, arm64v8, arm32v7)。\n    *   *注：ARM 平台强烈建议使用 Docker 部署，源码部署依赖安装较复杂。*\n*   **运行方式**（二选一）：\n    *   **Docker**（推荐）：需安装 Docker 及 Docker Compose。\n    *   **源码运行**：需安装 Python 3.5 - 3.7 及 pip。\n*   **网络要求**：需能访问 GitHub 或提供的国内 CDN 镜像以下载模型文件。\n\n## 安装步骤\n\n### 方案一：Docker 部署（推荐）\n\n最快捷的部署方式，无需配置 Python 环境。\n\n**1. 单命令启动**\n直接运行以下命令，将容器映射到本地 8080 端口：\n\n```shell\ndocker run -d -p 8080:80 --name 12306 yinaoxiong\u002F12306_code_server\n```\n\n**2. 使用 Docker Compose 部署**\n创建 `docker-compose.yml` 文件，内容如下（可自定义端口和 Worker 数量）：\n\n```yaml\nversion: \"3\"\n\nservices:\n  code_12306:\n    image: yinaoxiong\u002F12306_code_server\n    ports:\n      - 5002:80 # 可根据需要修改端口\n    environment:\n      - WORKERS=1 # gunicorn works 默认为 1，可根据服务器配置调整\n    restart: always\n```\n\n执行启动命令：\n```shell\ndocker-compose up -d\n```\n\n---\n\n### 方案二：源码部署\n\n适用于需要自定义开发或非 Docker 环境。\n\n**1. 克隆项目**\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FYinAoXiong\u002F12306_code_server.git\ncd 12306_code_server\n```\n\n**2. 安装依赖**\n根据平台安装 `requirements.txt` 中的依赖。\n*注意：需自行根据平台和 Python 版本选择对应的 `tflite` 包（默认示例为 amd64 + Python 3.7）。其他版本参考 [TensorFlow Lite 官网](https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython) 并在 `requirements.txt` 中替换。*\n\n```shell\npip3 install -r requirements.txt\n```\n\n**3. 下载模型文件**\n优先使用国内 CDN 加速下载模型：\n\n```shell\nwget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Fimage.model.tflite\nwget -c https:\u002F\u002Fcdn.yinaoxiong.cn\u002Fmodels\u002Ftext.model.tflite\n```\n*(若上述命令失败，可尝试运行 `bash download_model.sh` 从 GitHub 下载)*\n\n**4. 启动服务**\n默认使用 80 端口，1 个 Worker。如需修改请编辑 `gunicorn.conf.py`。\n\n```shell\ngunicorn app:app -c gunicorn.conf.py\n```\n\n## 基本使用\n\n服务启动后，通过 HTTP POST 请求调用识别接口。\n\n*   **请求地址**：`http:\u002F\u002F\u003C你的 IP>:\u003C端口>\u002Fverify\u002Fbase64\u002F`\n*   **请求方法**：`POST`\n*   **Content-Type**：`application\u002Fx-www-form-urlencoded`\n*   **参数**：`imageFile` (图片的 Base64 编码字符串)\n\n**调用示例 (curl)：**\n\n```shell\ncurl -X POST http:\u002F\u002F127.0.0.1:8080\u002Fverify\u002Fbase64\u002F \\\n  -H \"Content-Type: application\u002Fx-www-form-urlencoded\" \\\n  -d \"imageFile=\u003C在此处填入图片的 Base64 字符串>\"\n```\n\n**成功响应示例：**\n\n```json\n{\n    \"code\": 0,\n    \"data\": [\n        \"1\",\n        \"3\"\n    ],\n    \"massage\": \"识别成功\"\n}\n```\n*`data` 数组中的数字代表需要点击的图片序号。*\n\n**失败响应示例：**\n\n```json\n{\n    \"code\": 1,\n    \"data\": [],\n    \"massage\": \"识别失败\"\n}\n```","某高校计算机社团开发了一款公益购票助手，旨在帮助不熟悉操作的师生在春运期间自动抢购火车票。\n\n### 没有 12306_code_server 时\n- **识别准确率极低**：自行训练的简单模型难以应对 12306 复杂的图形验证码，导致大量请求因验证失败被拦截，抢票成功率不足 5%。\n- **部署维护成本高**：团队需在每台运行脚本的服务器上单独配置 TensorFlow 环境和模型文件，ARM 架构设备（如树莓派）更是因依赖冲突无法运行。\n- **服务稳定性差**：缺乏统一的验证码处理接口，一旦本地识别进程崩溃，整个购票流程即刻中断，且无法实时监控服务状态。\n- **开发迭代缓慢**：每次优化识别算法都需要重新打包分发所有客户端代码，无法实现“云端更新模型，终端即时生效”。\n\n### 使用 12306_code_server 后\n- **识别精度显著提升**：直接调用基于 easy12306 成熟模型构建的 API，验证码识别准确率大幅提高，抢票成功率稳定在 80% 以上。\n- **一键跨平台部署**：通过 Docker 容器化技术，一条命令即可在 x86 服务器或 ARM 开发板上拉起服务，彻底解决了环境依赖难题。\n- **高可用与可观测**：利用 Gunicorn 多进程模式提升并发处理能力，结合 Uptime Robot 实时监控，确保验证码服务 7x24 小时在线。\n- **架构解耦高效迭代**：将识别逻辑剥离为独立微服务，购票主程序只需发送 Base64 图片并接收坐标结果，模型升级无需修改任何业务代码。\n\n12306_code_server 通过将复杂的验证码识别能力封装为标准化、高可用的自托管服务，让开发者能专注于核心业务逻辑，极大降低了自动化购票系统的构建门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyinaoxiong_12306_code_server_8bf0e56c.png","yinaoxiong","Aoxiong Yin","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyinaoxiong_c34ba473.png","Student of CSU\u002FZJU, majoring in computer science","zhejiang university","zhejiang of China","i@yinaoxiong.cn",null,"https:\u002F\u002Fi.yinaoxiong.cn","https:\u002F\u002Fgithub.com\u002Fyinaoxiong",[87,91],{"name":88,"color":89,"percentage":90},"Python","#3572A5",98,{"name":92,"color":93,"percentage":23},"Shell","#89e051",540,166,"2026-03-02T08:07:41","MIT","Linux","未说明 (基于 TensorFlow Lite 运行，通常仅需 CPU)","最低 1GB (参考作者部署的学生机配置)",{"notes":102,"python":103,"dependencies":104},"支持 amd64、arm64v8 和 arm32v7 架构，其中 ARM 平台强烈建议使用 Docker 部署以避免依赖安装问题。项目使用 TFLite 模型而非完整 TensorFlow\u002FKeras。需手动下载 image.model.tflite 和 text.model.tflite 模型文件。默认通过 Gunicorn 运行，可通过环境变量 WORKERS 调整进程数。","3.5-3.7",[105,106,107],"tensorflow-lite (tflite)","gunicorn","flask (隐含于 app:app)",[13],[110,111,112,113],"docker","python","tensorflow","12306","2026-03-27T02:49:30.150509","2026-04-06T09:46:14.974136",[117,122,127,132,137,142,147,152],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},12540,"遇到 TensorFlow 报错 'Tensor is not an element of this graph' 怎么办？","该错误通常发生在特定平台（如 ARM 架构的 Debian）或环境配置不一致时。维护者建议在 AMD64\u002FUbuntu 环境下未复现此问题，最推荐的解决方案是使用 Docker 容器进行部署，以避免环境依赖冲突。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F3",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},12541,"执行 gunicorn 命令提示 'command not found' 如何解决？","这通常是因为 pip 安装包的路径未添加到系统环境变量 PATH 中，或者依赖未正确安装。解决方法：1. 检查并确认已运行 `pip3 install gunicorn`；2. 将 pip 安装路径加入 PATH；3. 如果问题依旧，建议直接使用 Docker 容器运行以规避环境路径问题。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F9",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},12542,"在 macOS 上安装 tflite_runtime 报错 'not a supported wheel on this platform' 怎么办？","Google 官方提供的 tflite_runtime 目前没有 macOS 版本的预编译包。解决方案是安装完整的 tensorflow 库，并修改代码 `app.py` 第 8 行：将 `import tflite_runtime.interpreter as tflite` 改为 `import tensorflow.lite as tflite`。此方法在 Windows 和 macOS 上均测试通过。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F6",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},12543,"Docker 部署后，如何构造正确的 POST 请求参数进行测试？","维护者提供了一个 Postman 集合文件用于参考具体的参数格式和测试方法。用户可以下载该集合导入 Postman 查看详细信息：https:\u002F\u002Fwww.getpostman.com\u002Fcollections\u002Fd402f985c78880040590。建议使用 Postman 等工具按照接口规范进行测试。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F12",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},12544,"源码部署成功后，如何验证服务是否正常运行？","Gunicorn 默认运行在 80 端口。由于项目暂未内置测试脚本，用户可以使用 Postman 等 HTTP 客户端工具，参照文档中的接口规范发送请求进行测试。如果之前缺少模型文件，请确保已执行下载模型的步骤。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F2",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},12545,"Intel Xeon 处理器应该选择 amd64 还是 arm 架构的镜像？","Intel Xeon 处理器属于 x86-64 架构，对应 Docker 标签中的 `amd64`（即 x64）。如果使用支持 manifest 的 Docker 版本，直接执行 `docker pull yinaoxiong\u002F12306_code_server` 即可自动匹配并拉取适合当前平台（amd64）的镜像，无需手动指定。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F5",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},12546,"requirements.txt 中的 tflite_runtime 版本不匹配或找不到怎么办？","如果需要其他版本或特定平台的 tflite_runtime，可以访问 TensorFlow 官方指南页面查找对应的下载地址：https:\u002F\u002Fwww.tensorflow.org\u002Flite\u002Fguide\u002Fpython。请根据自身的 Python 版本和操作系统架构选择合适的 wheel 文件进行安装。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F7",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},12547,"源码部署一直报错，是否有更稳定的部署方式？","多位用户在尝试源码部署时遇到各种环境依赖问题（如文件替换错误、库版本冲突等）。维护者和社区一致推荐直接使用 Docker 进行部署，这是最稳定且能避免大部分环境配置问题的方法。","https:\u002F\u002Fgithub.com\u002Fyinaoxiong\u002F12306_code_server\u002Fissues\u002F4",[158,163,168],{"id":159,"version":160,"summary_zh":161,"released_at":162},62876,"v1.1","1. 使用 TensorFlow Lite 替代 Keras 进行推理  \n2. 优化 Docker 构建流程  \n3. 添加 manifest 支持，使用时可以直接引用 yinaoxiong\u002F12306_code_server，系统会自动下载对应的镜像。","2019-12-20T14:34:22",{"id":164,"version":165,"summary_zh":166,"released_at":167},62877,"v1.0","完成基本需求的一个可用版本","2019-10-17T03:50:36",{"id":169,"version":170,"summary_zh":171,"released_at":172},62878,"v0.1-alpha","第一个可用的版本","2019-10-05T12:48:48"]