{"adoption": {"forks": 761, "observed_at": "2026-08-28T04:07:37.956366+00:00", "stars": 3015}, "canonical_url": "https://ross.abutalabs.com/products/v_jstools", "card": {"archived": false, "artifact_type": "plugin", "description": "模仿着写一个 chrome 插件，用来快速调试前端 js 代码。", "domain": ["developer-tools", "reverse-engineering", "web-development", "browser-extensions"], "enriched": true, "function": ["developer-tools", "parser", "security"], "health_score": 82, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["cilame/v_jstools"], "name": "cilame/v_jstools", "platform": ["browser", "browser-extension"], "pushed_at": "2026-04-27T11:44:07+00:00", "repo": "cilame/v_jstools", "stars": 3015, "tags": ["javascript-debugging", "api-hooking", "code-injection", "ast-analysis", "js-reverse-engineering", "manifest-v3", "wasm-analysis", "deobfuscation", "debugging"], "topics": [], "urls": [], "use_cases": ["hook browser page APIs to trace JavaScript calls", "inject custom JavaScript into pages for debugging", "analyze and deobfuscate obfuscated JavaScript code", "inspect JavaScript AST in the browser", "analyze WASM code on a live page", "capture page cookies including httponly", "reverse-engineer website JavaScript logic"], "what_it_is": "v_jstools is a Chrome extension (Manifest V3) for debugging and reverse-engineering JavaScript on web pages. It provides API hooking, code injection, JS environment code generation, and an analysis toolkit including AST tools, deobfuscation, text diffing, and WASM analysis.", "when_to_avoid": ["you need a general-purpose browser extension for end users", "you require a license-guaranteed tool for commercial use (no license is provided)", "you work outside Chrome or need Firefox/Safari support"], "when_to_choose": ["you are doing JavaScript reverse engineering or anti-debugging analysis in Chrome", "you need to hook page APIs or inject scripts without modifying site code", "you want AST-based JS compression/decompression and deobfuscation tools in-browser"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/v_jstools", "repo": "cilame/v_jstools", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.956366+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:30:09.446194+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f5e06d3bc0a96caa3eb604d4e192402776e4ed9a7ed6d1a4c7c74277de009358", "fetched_at": "2026-08-28T04:07:37.956366+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cilame/v_jstools"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1803, "days_push": 128, "days_rel": 414, "gap_med": null, "n_releases_24m": 1}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}