{
  "added_at": "2026-10-17",
  "additional_evidence_urls": [
    "https://github.com/jehna/humanify/blob/65b90bc4743b23317f13d01894776643dbde7fdb/Cargo.toml",
    "https://github.com/jehna/humanify/blob/65b90bc4743b23317f13d01894776643dbde7fdb/LICENSE",
    "https://github.com/jehna/humanify/releases/tag/v3.1.1"
  ],
  "category": "javascript-electron",
  "description_en": "Rename identifiers in minified JavaScript with LLM-suggested names, applied through scope-aware AST rewriting so the program structure stays unchanged. The new names are model suggestions, not recovered original identifiers.",
  "description_zh": "借助 LLM 为压缩后的 JavaScript 标识符建议名称，并通过遵循作用域的 AST 改写完成重命名，程序结构保持不变。新名称是模型给出的推测，并非恢复出的原始标识符。",
  "entry_url": "https://awesomerea.org/resources/humanify/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/humanify/",
  "evidence_url": "https://github.com/jehna/humanify/blob/65b90bc4743b23317f13d01894776643dbde7fdb/README.md",
  "group": "tools",
  "id": "humanify",
  "json_url": "https://awesomerea.org/resources/humanify/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/humanify/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/humanify/index.md",
  "name": "humanify",
  "name_zh": "humanify JavaScript 标识符重命名工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Reviewed release: v3.1.1, published 2026-07-29. Version 3 is a single Rust binary with release builds for macOS arm64/x64, Linux x64/arm64 and Windows x64; source builds use cargo install. MIT-licensed.",
    "Select a provider preset: OpenAI, Gemini, Anthropic, OpenRouter and Requesty need an API key, while Ollama runs a local model. humanify makes one model call per identifier with surrounding code context (500 characters by default); hosted modes send that context to the selected provider, and cost and rate limits scale with the identifier count.",
    "Each run processes one JavaScript file and renames identifiers only: it does not unbundle webpack output or remove control-flow obfuscation, and upstream suggests running webcrack first. Name quality depends on the model; upstream describes local models as slower and less accurate than hosted providers."
  ],
  "requirements_zh": [
    "所审阅版本为 v3.1.1，发布于 2026-07-29。第 3 版为单个 Rust 可执行文件，发行版提供 macOS arm64/x64、Linux x64/arm64 和 Windows x64 构建；也可通过 cargo install 从源码构建。采用 MIT 许可证。",
    "需选择模型提供方预设：OpenAI、Gemini、Anthropic、OpenRouter 和 Requesty 需要 API 密钥，Ollama 则运行本地模型。humanify 对每个标识符调用一次模型，并附带其周围代码上下文（默认 500 个字符）；使用托管服务时，这些上下文会发送给所选提供方，费用和速率限制随标识符数量增长。",
    "每次运行处理一个 JavaScript 文件，且只重命名标识符：不会拆解 webpack 打包结果，也不会去除控制流混淆，上游建议先用 webcrack 处理。命名质量取决于所用模型；上游指出本地模型比托管服务更慢、准确度更低。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/jehna/humanify",
  "verification": "source-reviewed",
  "verified_at": "2026-10-17"
}
