Repository navigation
chore: 删除无人调用的根目录脚本、数据库结构工具链与 tools/ 下的一次性脚本 - #181
Merged
2977094657 merged 5 commits intoOct 7, 2026
Merged
Conversation
- scan.py:已被包内 dll_key_scan.py 取代,没有任何代码导入,末尾还写死了开发机路径。 同步改掉仍把它当作现存文件的几处注释;返回值里的 "scan.py" 来源标签保持不变。 - key_v4.py:与包内 src/wechat_decrypt_tool/key_v4.py 只差一行,且根目录这份用了不存在的 ctypes.LPVOID;应用与打包只用包内那份。同步改掉读取两处源码的日志脱敏测试。 - test_databases.py:零引用的一次性脚本,pytest 的 testpaths 也不收集它。 - analyze_wechat_databases.py、generate_config_template.py 与 tools/ 下的 generate_wechat_db_config.py、export_database_schema_json.py、 export_database_schema_markdown.py:五个文件只互相引用,后端、打包、前端、测试、CI、 README 和 docs 都不调用它们,产物全部被忽略或从未提交。其中两个脚本还会把每张表最新 10 行原始数据写进输出文档。 .gitignore 里对应的两条忽略规则保留:跑过这套脚本的检出目录里可能还留着由真实数据库 生成的 wechat_db_config*.json,不能让它们变成可被误提交的未跟踪文件。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
该文件是 9 月几次 AI 界面改版的验收记录,9 月 15 日之后没有再更新,没有任何程序读写它, 它引用的截图和日志也不在仓库里。同时去掉三篇文档里指向它的句子。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
该脚本只有两行,作用是转去加载包内的 native/weflow_wasm/weflow_wasm_keystream.js。 sns_media 只在包内脚本缺失时才回退到它,而那时它要加载的正是同一个缺失的文件, 这条回退不可能成功;routers/sns.py 里指向它的 _weflow_wxisaac64_script_path 没有调用方。 两处一并删除,实际使用的包内脚本路径不变。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
逐个核对了 tools/ 下的脚本:CI、打包与发布脚本、测试、运行时代码和仍被调用的其他工具 都不会用到下面这些文件,它们也不生成任何被跟踪的资源。 - 2025-12 至 2026-02 的一次性调试脚本 8 个(debug_*.py、extract_media_keys.py、 test_image_api.py):写死了单台机器的路径和账号,extract_media_keys.py 自己已标注废弃。 - 2026-09 AI 助手、本地检索与语音模型验收期间的一次性脚本 45 个(verify_ai_*、 verify_local_search_*、*_ai_real_*、seed/run/prepare/launch_ai_*acceptance*、 serve_*、benchmark_stt_local.py 等):没有任何调用方,只在当时的验收文档里被提到; 其中一部分依赖已不存在的接口或未入库的私有样本,现在已无法运行。 - tools/ai_acceptance_stream_proxy.cjs 及只测试它的 desktop/tests/acceptance-stream-proxy.test.cjs:它的两个使用方都在上面的列表里, 该测试也不在任何工作流中运行。 保留:被 CI、打包或测试调用的脚本,生成被跟踪资源的脚本(含生成 docs/ai-planned-work-cost-2026-09-14.json 的 verify_planned_work_cost.py), tools/dev/snap.cjs,以及仍可独立运行的 verify_deepagents_real.py、 verify_deepagents_coverage.py、benchmark_local_search_reading.py、benchmark_ai_logging.py。 文档:文件名带日期的验收记录保持原样,其中提到的脚本可从 git 历史取回;四篇文件名不带 日期的文档(ai-assistant-development-status、chat-agent、ai-macos-user-acceptance、 local-semantic-search)里提到已删脚本的地方加了「已删除」的说明。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
verify_deepagents_real.py、verify_deepagents_coverage.py、 benchmark_local_search_reading.py、benchmark_ai_logging.py 上一个提交里因为仍可独立运行 而暂时保留,但同样没有任何 CI、打包、测试或运行时代码调用它们(benchmark_ai_logging.py 只导入 benchmark_local_search_reading.py,两者互为唯一引用),一并删除。 三篇文件名不带日期的文档(ai-diagnostics、deepagents-acceptance、local-semantic-search) 里提到它们的地方加了「已删除」的说明;带日期的验收记录保持原样。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
这个 PR 是什么
清理仓库里没有任何地方真正调用的脚本:删除 69 个文件(约 10200 行),另有 14 个文件做了配套的小改动。不改任何功能。
判断标准是「有没有东西真的用到它」,而不是「有没有被提到」。一个文件只要满足下面任意一条就保留:被 CI 步骤运行、被打包或发布脚本调用或打包、被测试导入或读取、被运行时代码加载、被另一个仍在用的工具调用、生成了被跟踪的资源。只在彼此之间互相引用、或只在当时的验收文档里被提到一句的,视为没人用。
提交清单
chore: 删除根目录无人调用的脚本与数据库结构工具链scan.py、根目录key_v4.py、test_databases.py,以及五个文件组成的数据库结构工具链docs: 删除根目录的 design-qa.md 验收记录design-qa.md和三篇文档里指向它的句子chore(sns): 删除多余的 tools/weflow_wasm_keystream.js 转发脚本及走不通的回退sns_media.py里不可能成功的回退、routers/sns.py里没有调用方的函数chore(tools): 删除无人调用的调试与验收脚本tools/下 53 个脚本,加上ai_acceptance_stream_proxy.cjs和只测试它的那个测试文件chore(tools): 删除剩余四个无人调用的验收与基准脚本verify_deepagents_real.py、verify_deepagents_coverage.py、benchmark_local_search_reading.py、benchmark_ai_logging.py前四个提交互不依赖,可以单独回退;第五个接在第四个之后。
各项依据
根目录脚本
scan.py:已被包内dll_key_scan.py取代,没有代码导入它,末尾写死了开发机路径。返回值里的"scan.py"来源标签是接口值,没有动。key_v4.py:和包内src/wechat_decrypt_tool/key_v4.py只差一行,而且根目录这份用了不存在的ctypes.LPVOID。应用和打包只用包内那份。tests/test_key_log_redaction.py原来会读这两处源码,已改成只读包内那份。test_databases.py:零引用,pytest 的testpaths也不收集它。数据库结构工具链(
analyze_wechat_databases.py、generate_config_template.py、tools/generate_wechat_db_config.py、tools/export_database_schema_json.py、tools/export_database_schema_markdown.py)tools/generate_wechat_db_config.py里约 470 条手工整理的微信 4.x 字段、表和消息类型的中文含义。可以从 git 历史取回。.gitignore里对应的两条忽略规则保留:跑过这套脚本的检出目录里可能还留着由真实数据库生成的wechat_db_config*.json,不能让它们变成会被误提交的未跟踪文件。design-qa.mdtools/下的脚本debug_*.py、extract_media_keys.py、test_image_api.py):写死了单台机器的路径和账号,extract_media_keys.py自己已标注废弃。ai_acceptance_stream_proxy.cjs与desktop/tests/acceptance-stream-proxy.test.cjs:前者的两个使用方都在被删之列,后者不在任何工作流中运行。verify_deepagents_real.py、verify_deepagents_coverage.py、benchmark_local_search_reading.py、benchmark_ai_logging.py:仍可独立运行,但同样没有任何调用方(benchmark_ai_logging.py只导入benchmark_local_search_reading.py,两者互为唯一引用)。保留了什么
verify_ai_runtime.py、build_ai_smoke.cjs、qwen_runtime_stdlib.py、rebuild_wcdb_release.py、smoke_native_core_real_database.py、audit_macos_key_capture_release.py、verify_deepagents_matrix.py。build_local_search_catalog.py、build_local_search_gpu_manifest.py、generate_qwen_gpu_manifest.py、build_wce_integrity.ps1、verify_planned_work_cost.py。tools/dev/snap.cjs、tools/key_wheels/。文档怎么处理的
ai-assistant-development-status.md、chat-agent.md、ai-macos-user-acceptance.md、local-semantic-search.md、ai-diagnostics.md、deepagents-acceptance.md)里提到已删脚本的地方,加了「已从仓库删除,可从 git 历史取回」的说明。design-qa.md的三句话直接删掉了,因为它们是让读者去看一个已经不存在的文件。验证
全部在 macOS(Apple Silicon,Python 3.11.15)上完成,没有在 Windows 上运行过。
main(298cd87)和本分支上各逐文件跑了一遍全部 247 个测试文件,结果逐文件一致:都是 2512 通过 / 173 失败 / 9 错误,失败项是这台机器上main自身就有的。这一轮是在最后几处改动(恢复verify_planned_work_cost.py、恢复两条忽略规则、改注释、加文档说明,以及第五个提交再删的四个脚本)之前跑的;这些改动之后重新确认了全量收集仍是 2695 个用例(与main相同),并重跑了密钥、朋友圈媒体和 AI 回归相关的测试文件,结果与之前一致。tools/的每个文件先由一轮审计给出「谁在调用」的证据,删除候选再由另一轮独立尝试反驳;合并后的分支又过了两轮整体检查(是否删了仍被需要的东西、是否留下悬空引用)。结论:desktop/package.json、frontend/package.json、electron-builder 配置、PyInstaller 参数、pyproject.toml都没有提到被删文件。node --check。没有放进这个 PR 的
frontend/vite.acceptance.config.mjs和frontend/tests/fixtures/下的手动预览页:唯一的脚本使用方tools/verify_ai_browser.cjs已在本 PR 删除,现在没有代码引用它们,但可能仍有人当手动预览用,没有动。tools/key_wheels/里的 cp310 wheel 实际用不上(项目要求 Python ≥ 3.11),但 Linux Adaptation #148 正在改这个目录,没有动。🤖 Generated with Claude Code