[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mahaloz--DAILA":3,"tool-mahaloz--DAILA":64},[4,17,27,35,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":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 真正成长为懂上",153609,2,"2026-04-13T11:34:59",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[25,14,26,13],"插件","图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[25,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":41,"last_commit_at":42,"category_tags":43,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"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,15],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,60,61,25,14,62,15,13,63],"数据工具","视频","其他","音频",{"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":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":41,"env_os":99,"env_gpu":100,"env_ram":101,"env_deps":102,"category_tags":110,"github_topics":81,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":111,"updated_at":112,"faqs":113,"releases":143},7269,"mahaloz\u002FDAILA","DAILA","A decompiler-agnostic plugin for interacting with AI in your decompiler. GPT-4, Claude, and local models supported!","DAILA（反编译器人工智能语言助手）是一款专为软件逆向工程设计的智能插件，旨在让安全研究人员和开发者在反编译过程中无缝集成各类大语言模型。它解决了传统逆向分析中人工理解汇编代码耗时费力、门槛高的问题，通过 AI 辅助自动生成函数摘要、重命名变量及解释逻辑，显著提升分析效率。\n\n这款工具特别适合二进制安全分析师、恶意软件研究员以及从事软件逆向工作的开发者使用。其核心亮点在于“反编译器无关”的架构设计：基于 LibBS 库，DAILA 能够统一支持 IDA Pro、Ghidra、Binary Ninja 和 angr 等多种主流反编译平台，用户无需为不同工具重复配置。同时，它兼容广泛的 AI 模型，既支持 ChatGPT、Claude 等云端服务，也能部署 Llama2 等本地模型，甚至集成了专用于变量重命名的 VarBERT 模型，兼顾了灵活性与数据隐私。\n\n无论是通过图形界面右键快捷调用，还是在脚本中编程交互，DAILA 都提供了直观的操作体验。作为曾在 HITCON CMT  keynote 展示并经 NDSS 学术研究验证的工具，它将前沿的 AI 能力转化为实用的逆向工程助力，是","DAILA（反编译器人工智能语言助手）是一款专为软件逆向工程设计的智能插件，旨在让安全研究人员和开发者在反编译过程中无缝集成各类大语言模型。它解决了传统逆向分析中人工理解汇编代码耗时费力、门槛高的问题，通过 AI 辅助自动生成函数摘要、重命名变量及解释逻辑，显著提升分析效率。\n\n这款工具特别适合二进制安全分析师、恶意软件研究员以及从事软件逆向工作的开发者使用。其核心亮点在于“反编译器无关”的架构设计：基于 LibBS 库，DAILA 能够统一支持 IDA Pro、Ghidra、Binary Ninja 和 angr 等多种主流反编译平台，用户无需为不同工具重复配置。同时，它兼容广泛的 AI 模型，既支持 ChatGPT、Claude 等云端服务，也能部署 Llama2 等本地模型，甚至集成了专用于变量重命名的 VarBERT 模型，兼顾了灵活性与数据隐私。\n\n无论是通过图形界面右键快捷调用，还是在脚本中编程交互，DAILA 都提供了直观的操作体验。作为曾在 HITCON CMT  keynote 展示并经 NDSS 学术研究验证的工具，它将前沿的 AI 能力转化为实用的逆向工程助力，是人机协作探索软件内部逻辑的得力伙伴。","# DAILA \nThe Decompiler Artificially Intelligent Language Assistant (DAILA) is a unified interface for AI systems to be used in decompilers.\nWith DAILA, you can utilize various AI systems, like local and remote LLMs, all in the same scripting and GUI interfaces across many decompilers.\nDAILA was featured in the keynote talk at [HITCON CMT 2023](https:\u002F\u002Fyoutu.be\u002FHbrebQiFLDs?si=TJhKSju85jTLSsiT) and\nwas studied in the NDSS 2026 work [\"Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering\"](https:\u002F\u002Fwww.zionbasque.com\u002Ffiles\u002Fpapers\u002Fdec-synergy-study.pdf).\nIf you are looking for the paper repo, find it [here](https:\u002F\u002Fgithub.com\u002Fmahaloz\u002Fdec-synergy-study).\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png)\n\n**Join our discord below for more online help** (hosted on the BinSync server):\n\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F900841083532087347?label=Discord&style=plastic)](https:\u002F\u002Fdiscord.gg\u002FwZSCeXnEvR)\n\n\n## Supported Decompilers and AI Systems\nDAILA interacts with the decompiler abstractly through the [LibBS](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Flibbs) library.\nThis allows DAILA to support the following decompilers:\n- IDA Pro: **>= 8.4**\n- Ghidra: **>= 12.0**\n- Binary Ninja: **>= 2.4**\n- angr-management: **>= 9.0**\n\nDAILA supports any LLM supported in [LiteLLM](https:\u002F\u002Fgithub.com\u002FBerriAI\u002Flitellm), such as:\n- ChatGPT\n- Claude\n- Llama2\n- Gemini\n- and more...\n\nDAILA also supports local models of different types, like [VarBERT](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api), a local model for renaming variables in decompilation published in S&P 2024.\n\n## Installation\nInstall our library backend through pip and our decompiler plugin through our installer:\n```bash\npip3 install dailalib && daila --install \n```\n\nThis is the light mode. **If you want to use VarBERT, you must install the full version**:\n```bash\npip3 install 'dailalib[full]' && daila --install \n```\n\nThis will also download the VarBERT models for you through the [VarBERT API](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api).\nIf you happen to be installing DAILA on a machine that won't have internet access, like a secure network, you can use our Docker image in the [Docker Container](#docker-container) section.\n\n### Ghidra Extra Steps\nYou need to do a few extra steps to get Ghidra working. First, you must be running in PyGhidra mode. You can do this\nby going to your Ghidra install directory and running `.\u002Fsupport\u002FpyghidraRun`.\n\nNext, enable the DAILA plugin:\n1. Start Ghidra and open a binary\n2. Goto the `Windows > Script Manager` menu\n3. Search for `daila` and enable the script\n\nYou must have `python3` in your path for the Ghidra version to work. We quite literally call it from inside Python 2.\nYou may also need to enable the `$USER_HOME\u002Fghidra_scripts` as a valid scripts path in Ghidra.\n\n### Manual Install (if above fails)\nIf the above fails, you will need to manually install.\nTo manually install, first `pip3 install dailalib` on the repo, then copy the [daila_plugin.py](.\u002Fdailalib\u002Fdaila_plugin.py) file to your decompiler's plugin directory.\n\n\n## Usage\nDAILA is designed to be used in two ways:\n1. As a decompiler plugin with a GUI\n2. As a scripting library in your decompiler\n\n### Decompiler GUI\nWith the exception of Ghidra (see below), when you start your decompiler you will have a new context menu \nwhich you can access when you right-click anywhere in a function:\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png\" style=\"width: 50%;\" alt=\"DAILA context menu\"\u002F>\n\nIf you are using Ghidra, go to `Tools->DAILA->Start DAILA Backend` to start the backend server.\nAfter you've done this, you can use the context menu as shown above.\n\n### Scripting\nYou can use DAILA in your own scripts by importing the `dailalib` package.\nHere is an example using the OpenAI API:\n\n```python\nfrom dailalib import LiteLLMAIAPI\nfrom libbs.api import DecompilerInterface\n\ndeci = DecompilerInterface.discover()\nai_api = LiteLLMAIAPI(decompiler_interface=deci)\nfor function in deci.functions:\n    summary = ai_api.summarize_function(function)\n```\n\n### Docker Container\nIf you are attempting to install DAILA for a one-shot install that will not use the internet after install, like on a secure network, you can use our Docker container.\nYou should either build the container yourself, save the image to a tarball, and then load it on the target machine, or you can use our pre-built image.\nYou can build the container yourself by running `docker build . -t daila` in the root of this repo.\nYou can also download our pre-built image by running `docker pull mahaloz\u002Fdaila:latest` (the image is for x86_64 Linux).\nThe container contains DAILA and a copy of Ghidra.\n\nNow you need to foward X11 to the container so that you can see the GUI.\nTo do this, you need to run the container with the following flags:\n```bash\ndocker run -it --rm -e DISPLAY=$DISPLAY -v \u002Ftmp\u002F.X11-unix:\u002Ftmp\u002F.X11-unix mahaloz\u002Fdaila:latest\n```\n\nIn the container, you can launch ghidra from `\u002Ftools\u002Fghidra_10.4_PUBLIC\u002FghidraRun`.\nNow follow the [Ghidra Extra Steps](#ghidra-extra-steps) to enable the DAILA plugin and you're good to go!\n\n## Supported AI Backends\n### LiteLLM (many backends)\nDAILA supports the LiteLLM API, which in turn supports various backends like OpenAI. \nTo use a commercial LLM API, you must provide your own API key.\nAs an example, to use the OpenAI API, you must have an OpenAI API key.\nIf your decompiler does not have access to the `OPENAI_API_KEY` environment variable, then you must use the decompiler option from\nDAILA to set the API key.\n\nIn `Settings`, you can also add\u002Fuse any OpenAI-based LLM endpoint, like using Llama2.\n\nCurrently, DAILA supports the following prompts:\n- Summarize a function\n- Rename variables\n- Rename function\n- Identify the source of a function\n- Find potential vulnerabilities in a function\n- Summarize the man page of a library call\n- Free prompting... just type in your own prompt!\n\n### VarBERT\nVarBERT is a local BERT model from the S&P 2024 paper [\"\"Len or index or count, anything but v1\": Predicting Variable Names in Decompilation Output with Transfer Learning\"]().\nVarBERT is for renaming variables (both stack, register, and arguments) in decompilation.\nTo understand how to use VarBERT as a library, please see the [VarBERT API](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api) documentation.\nUsing it in DAILA is a simple as using the GUI context-menu when clicking on a function. \n\n## Demo\nYou can find a demo of VarBERT running inside DAILA below:\n\n[![VarBERT Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_fc32f64bd567.jpg)](https:\u002F\u002Fyoutu.be\u002FnUazQm8sFL8 \"DAILA v2.1.4: Renaming variables with local VarBERT model\")\n\n\n## Supported Decompilers\n- IDA\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png)\n\n- Binja\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_38f73c399c04.png)\n\n- Ghidra\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_c3aa87c94716.png)\n\n- angr management\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_57b781ebfc94.png)\n","# DAILA \n反编译器人工智能语言助手（DAILA）是用于反编译器中的人工智能系统的统一接口。\n借助 DAILA，您可以在多个反编译器中使用相同的脚本和 GUI 界面来调用各种本地及远程大语言模型等 AI 系统。\nDAILA 曾在 [HITCON CMT 2023](https:\u002F\u002Fyoutu.be\u002FHbrebQiFLDs?si=TJhKSju85jTLSsiT) 的主题演讲中亮相，并被纳入 NDSS 2026 年论文《协同反编译：软件逆向工程中人机协作的实证研究》（[链接](https:\u002F\u002Fwww.zionbasque.com\u002Ffiles\u002Fpapers\u002Fdec-synergy-study.pdf)）进行深入探讨。\n如需该论文的代码库，请访问 [此处](https:\u002F\u002Fgithub.com\u002Fmahaloz\u002Fdec-synergy-study)。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png)\n\n**欢迎加入下方 Discord 社区获取更多在线帮助**（托管于 BinSync 服务器）：\n\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F900841083532087347?label=Discord&style=plastic)](https:\u002F\u002Fdiscord.gg\u002FwZSCeXnEvR)\n\n\n## 支持的反编译器与 AI 系统\nDAILA 通过 [LibBS](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Flibbs) 库以抽象方式与反编译器交互。\n这使得 DAILA 能够支持以下反编译器：\n- IDA Pro：**≥ 8.4**\n- Ghidra：**≥ 12.0**\n- Binary Ninja：**≥ 2.4**\n- angr-management：**≥ 9.0**\n\nDAILA 支持 [LiteLLM](https:\u002F\u002Fgithub.com\u002FBerriAI\u002Flitellm) 中所支持的任何大语言模型，例如：\n- ChatGPT\n- Claude\n- Llama2\n- Gemini\n- 以及其他更多……\n\n此外，DAILA 还支持多种类型的本地模型，比如 [VarBERT](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api)，这是一种用于反编译过程中变量重命名的本地模型，并发表于 S&P 2024 年会议。\n\n## 安装\n通过 pip 安装我们的库后端，并使用安装程序为反编译器安装插件：\n```bash\npip3 install dailalib && daila --install \n```\n\n以上为轻量模式。**若需使用 VarBERT，则必须安装完整版**：\n```bash\npip3 install 'dailalib[full]' && daila --install \n```\n\n此命令还将通过 [VarBERT API](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api) 为您下载 VarBERT 模型。  \n若您正在一台无法联网的设备上安装 DAILA，例如安全网络环境，可参考下方“Docker 容器”部分使用我们的 Docker 镜像。\n\n### Ghidra 特别说明\n为了让 Ghidra 正常运行，您需要执行一些额外步骤。首先，确保以 PyGhidra 模式运行。您可以通过进入 Ghidra 安装目录并执行 `.\u002Fsupport\u002FpyghidraRun` 来实现。\n接下来启用 DAILA 插件：\n1. 启动 Ghidra 并打开二进制文件。\n2. 前往 `Windows > Script Manager` 菜单。\n3. 搜索 `daila` 并启用该脚本。\n\nGhidra 版本要求您的系统路径中包含 `python3`。我们实际上是从 Python 2 内部调用它的。此外，您可能还需要在 Ghidra 中将 `$USER_HOME\u002Fghidra_scripts` 设置为有效的脚本路径。\n\n### 手动安装（若上述方法失败）\n如果上述安装步骤失败，您需要手动安装。首先在仓库中运行 `pip3 install dailalib`，然后将 [daila_plugin.py](.\u002Fdailalib\u002Fdaila_plugin.py) 文件复制到您的反编译器插件目录。\n\n## 使用方法\nDAILA 设计为两种使用方式：\n1. 作为带有 GUI 的反编译器插件。\n2. 作为反编译器中的脚本库。\n\n### 反编译器 GUI\n除 Ghidra 外（见下文），当您启动反编译器时，会在函数区域的任意位置右键单击时出现一个新的上下文菜单：\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png\" style=\"width: 50%;\" alt=\"DAILA 上下文菜单\"\u002F>\n\n如果您使用的是 Ghidra，请前往 `Tools->DAILA->Start DAILA Backend` 启动后端服务。完成此操作后，即可按照上述方式使用上下文菜单。\n\n### 脚本使用\n您可以通过导入 `dailalib` 包在自己的脚本中使用 DAILA。以下是使用 OpenAI API 的示例：\n\n```python\nfrom dailalib import LiteLLMAIAPI\nfrom libbs.api import DecompilerInterface\n\ndeci = DecompilerInterface.discover()\nai_api = LiteLLMAIAPI(decompiler_interface=deci)\nfor function in deci.functions:\n    summary = ai_api.summarize_function(function)\n```\n\n### Docker 容器\n如果您计划在不联网的环境中一次性安装 DAILA，例如安全网络，可以使用我们的 Docker 容器。您可以自行构建容器、将其保存为 tarball 并在目标机器上加载，也可以直接使用我们预构建的镜像。  \n自行构建容器的方法是在本仓库根目录下运行 `docker build . -t daila`。  \n您也可以通过运行 `docker pull mahaloz\u002Fdaila:latest` 下载我们预构建的镜像（该镜像适用于 x86_64 架构的 Linux）。  \n容器内包含了 DAILA 和一份 Ghidra。\n\n接下来，您需要将 X11 转发到容器中，以便能够看到 GUI。为此，请使用以下参数运行容器：\n```bash\ndocker run -it --rm -e DISPLAY=$DISPLAY -v \u002Ftmp\u002F.X11-unix:\u002Ftmp\u002F.X11-unix mahaloz\u002Fdaila:latest\n```\n\n在容器中，您可以从 `\u002Ftools\u002Fghidra_10.4_PUBLIC\u002FghidraRun` 启动 Ghidra。随后按照 [Ghidra 特别说明](#ghidra-extra-steps) 启用 DAILA 插件，即可开始使用！\n\n## 支持的 AI 后端\n### LiteLLM（多种后端）\nDAILA 支持 LiteLLM API，而 LiteLLM 又兼容包括 OpenAI 在内的多种后端。  \n要使用商业大语言模型 API，您必须提供自己的 API 密钥。  \n例如，使用 OpenAI API 时，您需要拥有 OpenAI API 密钥。  \n如果您的反编译器无法访问 `OPENAI_API_KEY` 环境变量，则需通过 DAILA 提供的选项来设置 API 密钥。\n\n在“设置”中，您还可以添加或使用任何基于 OpenAI 的大语言模型端点，比如 Llama2。\n\n目前，DAILA 支持以下功能：\n- 总结函数\n- 重命名变量\n- 重命名函数\n- 识别函数来源\n- 查找函数中的潜在漏洞\n- 总结库函数的手册页\n- 自定义提示……只需输入您自己的提示即可！\n\n### VarBERT\nVarBERT 是来自 S&P 2024 年论文《“长度、索引还是计数？除了 v1 之外什么都行”：利用迁移学习预测反编译输出中的变量名称》() 的本地 BERT 模型。  \nVarBERT 专门用于在反编译过程中对变量（包括栈变量、寄存器变量和参数）进行重命名。  \n如需了解如何将 VarBERT 作为库使用，请参阅 [VarBERT API](https:\u002F\u002Fgithub.com\u002Fbinsync\u002Fvarbert_api) 文档。  \n在 DAILA 中使用它非常简单——只需在函数上点击右键，选择 GUI 上下文菜单即可。\n\n## 演示\n您可以在下方观看 VarBERT 在 DAILA 中运行的演示：\n\n[![VarBERT 演示](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_fc32f64bd567.jpg)](https:\u002F\u002Fyoutu.be\u002FnUazQm8sFL8 \"DAILA v2.1.4：使用本地 VarBERT 模型重命名变量\")\n\n\n## 支持的反编译器\n- IDA\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_15a3a5004b06.png)\n\n- Binja\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_38f73c399c04.png)\n\n- Ghidra\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_c3aa87c94716.png)\n\n- angr management\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_readme_57b781ebfc94.png)","# DAILA 快速上手指南\n\nDAILA (Decompiler Artificially Intelligent Language Assistant) 是一个统一的接口工具，旨在将各类 AI 系统（如本地或远程大语言模型）集成到反编译器中。它支持 IDA Pro、Ghidra、Binary Ninja 和 angr-management 等多种主流反编译平台，帮助逆向工程师利用 AI 进行函数总结、变量重命名及漏洞挖掘。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux, macOS, Windows (Ghidra 在 Linux\u002FmacOS 上体验更佳)\n- **Python**: Python 3.x (必须确保 `python3` 在系统路径中)\n- **反编译器版本要求**:\n  - IDA Pro: >= 8.4\n  - Ghidra: >= 12.0 (需启用 PyGhidra 模式)\n  - Binary Ninja: >= 2.4\n  - angr-management: >= 9.0\n\n### 前置依赖\n- 若使用商业大模型（如 ChatGPT, Claude），需准备相应的 API Key。\n- 若使用 Ghidra，需确保已安装并配置好 PyGhidra 环境。\n- (可选) 若需使用本地变量重命名模型 VarBERT，需预留磁盘空间下载模型文件。\n\n## 安装步骤\n\n### 1. 基础安装\n通过 pip 安装后端库并运行安装脚本以部署插件：\n\n```bash\npip3 install dailalib && daila --install\n```\n\n### 2. 完整安装（推荐）\n如果您需要使用本地模型 **VarBERT** 进行变量重命名，请安装完整版（会自动下载模型）：\n\n```bash\npip3 install 'dailalib[full]' && daila --install\n```\n\n> **注意**：若在无网络环境（如隔离内网）使用，建议参考官方文档使用 Docker 镜像预先构建环境。\n\n### 3. Ghidra 额外配置\n若目标反编译器为 Ghidra，需执行以下额外步骤：\n1. **启动 PyGhidra**: 进入 Ghidra 安装目录，运行 `.\u002Fsupport\u002FpyghidraRun`。\n2. **启用插件**:\n   - 启动 Ghidra 并打开一个二进制文件。\n   - 菜单栏选择 `Windows > Script Manager`。\n   - 搜索 `daila` 并勾选启用该脚本。\n3. **脚本路径**: 确保 `$USER_HOME\u002Fghidra_scripts` 已在 Ghidra 的有效脚本路径列表中。\n\n## 基本使用\n\nDAILA 提供图形界面 (GUI) 和脚本调用两种使用方式。\n\n### 方式一：图形界面 (GUI)\n1. 启动您的反编译器（IDA, Binja, angr 等）。\n2. 在反编译视图的任意函数处点击**右键**。\n3. 在上下文菜单中找到 **DAILA** 选项。\n4. 选择所需功能（如 `Summarize function`, `Rename variables` 等）。\n   - *Ghidra 用户*: 首次使用需先点击菜单栏 `Tools -> DAILA -> Start DAILA Backend` 启动后端服务。\n\n### 方式二：脚本调用\n您可以在自定义脚本中导入 `dailalib` 库来自动化任务。以下是一个使用 OpenAI 接口总结函数的示例：\n\n```python\nfrom dailalib import LiteLLMAIAPI\nfrom libbs.api import DecompilerInterface\n\n# 自动发现当前运行的反编译器接口\ndeci = DecompilerInterface.discover()\n\n# 初始化 AI API (需确保环境变量中有 OPENAI_API_KEY 或在设置中配置)\nai_api = LiteLLMAIAPI(decompiler_interface=deci)\n\n# 遍历所有函数并生成摘要\nfor function in deci.functions:\n    summary = ai_api.summarize_function(function)\n    print(f\"Function {function.name}: {summary}\")\n```\n\n### 配置 API Key\n若使用商业模型（如 OpenAI），请在 DAILA 的设置界面中输入 API Key，或确保系统环境变量中已设置 `OPENAI_API_KEY`。DAILA 基于 LiteLLM 构建，支持多种模型端点配置。","某安全研究员正在对一款闭源的商业恶意软件进行逆向分析，面对经过高度混淆且变量名毫无意义的二进制代码，急需快速理解核心函数的逻辑。\n\n### 没有 DAILA 时\n- 研究人员必须手动逐行阅读晦涩的汇编或伪代码，耗费数小时才能推测出某个加密循环的真实意图。\n- 所有识别出的关键变量和函数都需要人工重命名，不仅效率低下，还容易因疲劳导致上下文理解不一致。\n- 若需切换不同的反编译器（如从 IDA Pro 转到 Ghidra）或尝试不同的 AI 模型，必须重新配置环境或编写独立的脚本，工作流频繁中断。\n- 面对复杂的算法逻辑，缺乏即时的智能摘要辅助，只能依赖个人经验盲目猜测，极易陷入分析死胡同。\n\n### 使用 DAILA 后\n- 研究人员只需在反编译器中右键点击函数，DAILA 即可调用 GPT-4 或本地模型瞬间生成准确的函数功能摘要，将数小时的工作缩短至几分钟。\n- 利用集成的 VarBERT 等本地模型，DAILA 能自动根据代码语义批量重命名变量，使伪代码可读性大幅提升且保持上下文一致。\n- 通过统一的 LibBS 接口，DAILA 让研究人员能在 IDA Pro、Ghidra 或 Binary Ninja 中无缝切换，并使用相同的脚本接口调用任意支持的 LLM，无需重复配置。\n- 遇到复杂逻辑时，可直接在 GUI 中与 AI 对话询问具体代码块的含义，获得针对性的解释，显著降低了逆向分析的认知门槛。\n\nDAILA 通过将多模型 AI 能力深度嵌入反编译工作流，把原本枯燥耗时的手动逆向过程转变为高效的人机协作模式。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmahaloz_DAILA_15a3a500.png","mahaloz","Zion Leonahenahe Basque","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmahaloz_66b6d783.jpg","Native Hawaiian | PhD Student @sefcom in Comp Sci | Prev Co-captain @shellphish | Decompiler Research","Arizona State University",null,"zion@zionbasque.com","mahal0z","mahaloz.re","https:\u002F\u002Fgithub.com\u002Fmahaloz",[87,91],{"name":88,"color":89,"percentage":90},"Python","#3572A5",99.2,{"name":92,"color":93,"percentage":94},"Dockerfile","#384d54",0.8,693,60,"2026-04-10T00:36:57","BSD-2-Clause","Linux, macOS, Windows","未说明 (本地模型 VarBERT 依赖 CPU 或通用 GPU，具体配置未列出；云端 LLM 无本地 GPU 需求)","未说明",{"notes":103,"python":104,"dependencies":105},"1. 核心功能通过 LibBS 库支持多种反编译器：IDA Pro (>=8.4), Ghidra (>=12.0), Binary Ninja (>=2.4), angr-management (>=9.0)。\n2. Ghidra 用户需额外步骤：必须在 PyGhidra 模式下运行，确保系统路径中有 python3，并在脚本管理器中启用 daila 脚本。\n3. 支持通过 LiteLLM 连接各类远程大模型（如 ChatGPT, Claude, Llama2 等），需提供相应的 API Key。\n4. 若需使用本地变量重命名模型 VarBERT，需安装完整版 ('dailalib[full]')，首次安装会自动下载模型；离线环境建议使用提供的 Docker 镜像。\n5. Docker 镜像包含 Ghidra 和 DAILA，适用于 x86_64 Linux，使用时需配置 X11 转发以显示图形界面。","3.x (Ghidra 集成明确要求路径中包含 python3，且提到从 Python 2 环境调用 python3)",[106,107,108,109],"dailalib","libbs","litellm","varbert_api (可选，用于本地变量重命名)",[15,25],"2026-03-27T02:49:30.150509","2026-04-14T05:03:58.355893",[114,119,124,129,134,139],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},32642,"在 Ghidra 反编译器中找不到 DAILA 右键上下文菜单怎么办？","这通常是因为插件未正确加载或版本过旧。首先，请确保您已升级到最新版本的 DAILA。如果您使用的是本地可编辑安装（editable install），请务必同时更新依赖库 `libbs`（例如运行 `pip install -U libbs`）。如果问题仍然存在，可能是后端服务器启动失败，请检查 Ghidra 控制台日志中是否有 'Closing connection' 错误，并尝试在终端手动运行 `python3 -m dailalib -s ghidra` 查看具体的崩溃报错信息。","https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fissues\u002F30",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},32643,"在 Windows 上安装后无法在脚本管理器中看到或启用 DAILA 插件？","此问题在较新版本中可能已修复。如果更新后问题依旧，请尝试手动诊断后端连接：在终端运行命令 `python3 -m dailalib -s ghidra`。正常情况下您应该看到连接建立、断开再重新建立的过程；如果连接从未恢复或程序崩溃，请将终端输出的错误堆栈信息记录下来以便进一步排查。","https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fissues\u002F27",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},32644,"DAILA 插件已启用但菜单不显示，且日志中出现 Python 导入错误？","这种情况通常是因为忘记升级 DAILA 到最新版本导致的兼容性问题。请执行升级操作（如 `pip install --upgrade daila` 或通过脚本管理器更新），升级后重启 Ghidra 通常即可解决菜单缺失和相关的 Python 导入报错问题。","https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fissues\u002F61",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},32645,"运行 DAILA 时出现 'xmlrpclib.Fault' 或 'TypeError: exceptions must derive from BaseException' 错误？","这通常是由于使用方式不当（如密钥错误）或系统阻止了 Python 3 服务器启动所致。维护者建议加入项目的 Discord 社区进行实时调试以获取更快速的帮助。此外，开发者已更新了代码以提供更具描述性的错误消息，请确保拉取最新代码或更新插件后重试。","https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fissues\u002F3",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},32646,"使用 VARBert 功能重命名变量时报错 'Decompilation object has no attribute replace' 或 'InvalidInputException'？","这是一个已知的内部处理异常，通常发生在尝试更新数据库变量时。虽然具体修复取决于版本更新，但遇到此类 'Failed to evaluate remote code' 错误时，建议首先检查是否使用了与当前 Ghidra 版本完全匹配的 DAILA 版本。如果问题持续，这属于需要开发者介入的代码逻辑错误，请在提交 Issue 时附上完整的堆栈跟踪信息。","https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fissues\u002F49",{"id":140,"question_zh":141,"answer_zh":142,"source_url":133},32647,"如何在非异步模式下调试 DAILA 的连接问题？","如果您希望以更同步的方式排查问题，或者自动调试失败，可以直接在终端运行后端服务命令：`python3 -m dailalib -s ghidra`。观察该命令的输出可以更快地定位是网络阻塞、端口占用还是脚本初始化失败导致的问题。",[144,149,154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239],{"id":145,"version":146,"summary_zh":147,"released_at":148},247366,"v3.20.0","## 变更内容\n* 移除 LiteLLM。改用 pydantic_ai。由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F90 中完成。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.19.0...v3.20.0","2026-03-24T18:26:32",{"id":150,"version":151,"summary_zh":152,"released_at":153},247367,"v3.19.0","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.18.0...v3.19.0","2026-01-02T22:47:36",{"id":155,"version":156,"summary_zh":157,"released_at":158},247368,"v3.18.0","## 变更内容\n* 由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F88 中添加了对 LLMChat 自定义端点和模型的支持\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.17.0...v3.18.0","2025-03-22T20:22:42",{"id":160,"version":161,"summary_zh":162,"released_at":163},247369,"v3.17.0","## 变更内容\n* 支持 Gemini 2 Flash，由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F87 中实现。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.16.2...v3.17.0","2025-03-11T14:51:29",{"id":165,"version":166,"summary_zh":167,"released_at":168},247370,"v3.16.2","## 变更内容\n* 移除已弃用的 Binja API，由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F86 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.16.1...v3.16.2","2025-03-11T14:27:10",{"id":170,"version":171,"summary_zh":172,"released_at":173},247371,"v3.16.1","## 变更内容\n* 由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F81 中修复了 Ghidra GUI 的主线程问题\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.16.0...v3.16.1","2025-02-05T04:31:32",{"id":175,"version":176,"summary_zh":177,"released_at":178},247372,"v3.16.0","## 变更内容\n* 更新配置文件功能。由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F78 中将所有设置合并到一个对话框中（重做）\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.6...v3.16.0","2025-01-30T05:32:28",{"id":180,"version":181,"summary_zh":182,"released_at":183},247373,"v3.15.6","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.5...v3.15.6","2025-01-30T02:31:18",{"id":185,"version":186,"summary_zh":187,"released_at":188},247374,"v3.15.5","## 变更内容\n* 由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F77 中修复了日志回调函数\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.4...v3.15.5","2025-01-30T00:42:06",{"id":190,"version":191,"summary_zh":192,"released_at":193},247375,"v3.15.4","## 变更内容\n* 由 @mahaloz 在 https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F74 中修复了 Claude 模型的 LLM 聊天功能\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.3...v3.15.4","2025-01-14T03:33:33",{"id":195,"version":196,"summary_zh":197,"released_at":198},247376,"v3.15.3","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.2...v3.15.3","2024-12-28T23:01:59",{"id":200,"version":201,"summary_zh":202,"released_at":203},247377,"v3.15.2","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.15.1...v3.15.2","2024-12-28T22:22:58",{"id":205,"version":206,"summary_zh":207,"released_at":208},247378,"v3.15.1","## What's Changed\n* Small improvements for running local models by @pc9441 in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F73\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.14.0...v3.15.1","2024-12-18T04:00:39",{"id":210,"version":211,"summary_zh":212,"released_at":213},247379,"v3.15.0","## What's Changed\n* Preliminary support for local LLM endpoints (tested on Ollama) by @pc9441 in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F71\n\n## New Contributors\n* @pc9441 made their first contribution in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F71\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.14.0...v3.15.0","2024-12-05T08:39:02",{"id":215,"version":216,"summary_zh":217,"released_at":218},247380,"v3.14.0","## What's Changed\n* Add Perplexity API usage by @h114mx001 in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F70\n\n## New Contributors\n* @h114mx001 made their first contribution in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F70\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.13.3...v3.14.0","2024-11-27T21:29:57",{"id":220,"version":221,"summary_zh":222,"released_at":223},247381,"v3.13.3","## What's Changed\n* Fix installer to work without VarBERT by @mahaloz in https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fpull\u002F68\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.13.2...v3.13.3","2024-11-21T01:29:32",{"id":225,"version":226,"summary_zh":227,"released_at":228},247382,"v3.13.2","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.13.1...v3.13.2","2024-11-21T00:54:45",{"id":230,"version":231,"summary_zh":232,"released_at":233},247383,"v3.13.1","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.13.0...v3.13.1","2024-11-21T00:00:21",{"id":235,"version":236,"summary_zh":237,"released_at":238},247384,"v3.13.0","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.12.0...v3.13.0","2024-11-20T22:16:41",{"id":240,"version":241,"summary_zh":242,"released_at":243},247385,"v3.12.0","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmahaloz\u002FDAILA\u002Fcompare\u002Fv3.11.0...v3.12.0","2024-11-20T19:52:02"]