https://github.com/jackwener/OpenCLI
· scanned 2026-05-15 08:40 UTC (3 weeks ago)
· 10 languages
398 findings (28 legacy + 370 scanner) 45th percentile · Javascript · large (100-500K LoC) Scanner says 66 (higher by 15)
Last scanned 3 weeks ago · v1 · 23 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
85.5 | 0.25 | 21.38 |
testing_score |
95.0 | 0.20 | 19.00 |
documentation_score |
85.0 | 0.15 | 12.75 |
practices_score |
65.0 | 0.15 | 9.75 |
code_quality |
60.0 | 0.10 | 6.00 |
| Overall | 1.00 | 81.6 |
All 6239 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
tryBrowserCommand |
software | healthy | tests/e2e/browser-public-extended.test.ts:tryBrowserCommand |
expectDataOrSkip |
software | healthy | tests/e2e/browser-public-extended.test.ts:expectDataOrSkip |
isExpectedChineseSiteRestriction |
software | healthy | tests/e2e/public-commands.test.ts:isExpectedChineseSiteRest… |
isExpectedApplePodcastsRestriction |
software | healthy | tests/e2e/public-commands.test.ts:isExpectedApplePodcastsRe… |
isExpectedGoogleRestriction |
software | healthy | tests/e2e/public-commands.test.ts:isExpectedGoogleRestricti… |
runPluginCli |
software | healthy | tests/e2e/plugin-management.test.ts:runPluginCli |
expectGracefulAuthFailure |
software | healthy | tests/e2e/browser-auth-helpers.ts:expectGracefulAuthFailure |
runCli |
software | healthy | tests/e2e/helpers.ts:runCli |
parseJsonOutput |
software | healthy | tests/e2e/helpers.ts:parseJsonOutput |
tryBrowserCommand |
software | healthy | tests/e2e/browser-public.test.ts:tryBrowserCommand |
expectDataOrSkip |
software | healthy | tests/e2e/browser-public.test.ts:expectDataOrSkip |
isImdbChallenge |
software | healthy | tests/e2e/browser-public.test.ts:isImdbChallenge |
isBrowserBridgeUnavailable |
software | healthy | tests/e2e/browser-public.test.ts:isBrowserBridgeUnavailable |
isBaiduChallengeText |
software | healthy | tests/e2e/browser-public.test.ts:isBaiduChallengeText |
isBaiduChallenge |
software | healthy | tests/e2e/browser-public.test.ts:isBaiduChallenge |
isTransientBrowserDetach |
software | healthy | tests/e2e/browser-public.test.ts:isTransientBrowserDetach |
runCliWithTransientRetry |
software | healthy | tests/e2e/browser-public.test.ts:runCliWithTransientRetry |
runJsonCliOrThrow |
software | healthy | tests/e2e/browser-public.test.ts:runJsonCliOrThrow |
normalizeTiebaTitle |
software | healthy | tests/e2e/browser-public.test.ts:normalizeTiebaTitle |
hasTiebaMainPost |
software | healthy | tests/e2e/browser-public.test.ts:hasTiebaMainPost |
expectNonEmptyDataOrSkipEnv |
software | healthy | tests/e2e/browser-public.test.ts:expectNonEmptyDataOrSkipEnv |
countTiebaReplies |
software | healthy | tests/e2e/browser-public.test.ts:countTiebaReplies |
maxTiebaFloor |
software | healthy | tests/e2e/browser-public.test.ts:maxTiebaFloor |
getTiebaReplyFloors |
software | healthy | tests/e2e/browser-public.test.ts:getTiebaReplyFloors |
countTiebaReplyFloorOverlap |
software | healthy | tests/e2e/browser-public.test.ts:countTiebaReplyFloorOverlap |
pickTiebaReadCandidates |
software | healthy | tests/e2e/browser-public.test.ts:pickTiebaReadCandidates |
getTiebaReadCandidateOrSkip |
software | healthy | tests/e2e/browser-public.test.ts:getTiebaReadCandidateOrSkip |
expectImdbDataOrChallengeSkip |
software | healthy | tests/e2e/browser-public.test.ts:expectImdbDataOrChallengeS… |
isTransient |
software | healthy | tests/e2e/article-download-pipeline.test.ts:isTransient |
runWebReadOrSkip |
software | healthy | tests/e2e/article-download-pipeline.test.ts:runWebReadOrSkip |
assertPipelineInvariants |
software | healthy | tests/e2e/article-download-pipeline.test.ts:assertPipelineI… |
isEnvironmentSkip |
software | healthy | tests/e2e/douban.test.ts:isEnvironmentSkip |
runDoubanJsonOrSkip |
software | healthy | tests/e2e/douban.test.ts:runDoubanJsonOrSkip |
readBody |
software | healthy | tests/e2e/browser-tabs.test.ts:readBody |
json |
software | healthy | tests/e2e/browser-tabs.test.ts:json |
startFakeDaemon |
software | healthy | tests/e2e/browser-tabs.test.ts:startFakeDaemon |
listTabs |
software | healthy | tests/e2e/browser-tabs.test.ts:listTabs |
tabByIndex |
software | healthy | tests/e2e/browser-tabs.test.ts:tabByIndex |
browserArgs |
software | healthy | tests/e2e/browser-tabs.test.ts:browserArgs |
json |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:json |
startFakeBridge |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:startFakeBridge |
startTestSite |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:startTestSite |
addressPort |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:addressPort |
findChromeExecutable |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:findChromeExecutable |
launchChrome |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:launchChrome |
killProcess |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:killProcess |
withTimeout |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:withTimeout |
flattenFrameTree |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:flattenFrameTree |
visit |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:visit |
axText |
software | healthy | tests/e2e/browser-ax-chrome.test.ts:axText |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.zh-CN.md |
software | healthy | README.zh-CN.md |
TESTING.md |
software | healthy | TESTING.md |
PRIVACY.md |
software | healthy | PRIVACY.md |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
cli-manifest.json |
software | healthy | cli-manifest.json |
package-lock.json |
software | healthy | package-lock.json |
tsconfig.json |
software | healthy | tsconfig.json |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
vitest.config.ts |
software | warning | vitest.config.ts |
find-paper-implementation.md |
software | healthy | cases/find-paper-implementation.md |
README.md |
software | healthy | cases/README.md |
track-conference-papers.md |
software | healthy | cases/track-conference-papers.md |
daily-rl-research-monitor.md |
software | healthy | cases/daily-rl-research-monitor.md |
api-health.test.ts |
software | warning | tests/smoke/api-health.test.ts |
browser-public-extended.test.ts |
software | healthy | tests/e2e/browser-public-extended.test.ts |
public-commands.test.ts |
software | healthy | tests/e2e/public-commands.test.ts |
browser-auth.test.ts |
software | warning | tests/e2e/browser-auth.test.ts |
plugin-management.test.ts |
software | healthy | tests/e2e/plugin-management.test.ts |
browser-auth-helpers.ts |
software | healthy | tests/e2e/browser-auth-helpers.ts |
helpers.ts |
software | healthy | tests/e2e/helpers.ts |
management.test.ts |
software | warning | tests/e2e/management.test.ts |
band-auth.test.ts |
software | warning | tests/e2e/band-auth.test.ts |
output-formats.test.ts |
software | warning | tests/e2e/output-formats.test.ts |
browser-public.test.ts |
software | healthy | tests/e2e/browser-public.test.ts |
article-download-pipeline.test.ts |
software | healthy | tests/e2e/article-download-pipeline.test.ts |
douban.test.ts |
software | healthy | tests/e2e/douban.test.ts |
browser-tabs.test.ts |
software | healthy | tests/e2e/browser-tabs.test.ts |
browser-ax-chrome.test.ts |
software | healthy | tests/e2e/browser-ax-chrome.test.ts |
index.md |
software | healthy | docs/index.md |
comparison.md |
software | healthy | docs/comparison.md |
index.md |
software | healthy | docs/adapters/index.md |
discord.md |
software | healthy | docs/adapters/desktop/discord.md |
chatgpt-app.md |
software | healthy | docs/adapters/desktop/chatgpt-app.md |
chatwise.md |
software | healthy | docs/adapters/desktop/chatwise.md |
doubao-app.md |
software | healthy | docs/adapters/desktop/doubao-app.md |
antigravity.md |
software | healthy | docs/adapters/desktop/antigravity.md |
codex.md |
software | healthy | docs/adapters/desktop/codex.md |
cursor.md |
software | healthy | docs/adapters/desktop/cursor.md |
openalex.md |
software | healthy | docs/adapters/browser/openalex.md |
1point3acres.md |
software | healthy | docs/adapters/browser/1point3acres.md |
tdx.md |
software | healthy | docs/adapters/browser/tdx.md |
xianyu.md |
software | healthy | docs/adapters/browser/xianyu.md |
uisdc.md |
software | healthy | docs/adapters/browser/uisdc.md |
douban.md |
software | healthy | docs/adapters/browser/douban.md |
coupang.md |
software | healthy | docs/adapters/browser/coupang.md |
cnki.md |
software | healthy | docs/adapters/browser/cnki.md |
medium.md |
software | healthy | docs/adapters/browser/medium.md |
wikipedia.md |
software | healthy | docs/adapters/browser/wikipedia.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
cases |
software | healthy | cases |
tests |
software | healthy | tests |
smoke |
software | healthy | tests/smoke |
e2e |
software | healthy | tests/e2e |
docs |
software | healthy | docs |
adapters |
software | healthy | docs/adapters |
desktop |
software | healthy | docs/adapters/desktop |
browser |
software | healthy | docs/adapters/browser |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
adapters-doc |
software | healthy | docs/adapters-doc |
design |
software | healthy | docs/design |
zh |
software | healthy | docs/zh |
adapters |
software | healthy | docs/zh/adapters |
developer |
software | healthy | docs/zh/developer |
advanced |
software | healthy | docs/zh/advanced |
guide |
software | healthy | docs/zh/guide |
conventions |
software | healthy | docs/conventions |
developer |
software | healthy | docs/developer |
advanced |
software | healthy | docs/advanced |
guide |
software | healthy | docs/guide |
scripts |
software | healthy | scripts |
clis |
software | healthy | clis |
gitee |
software | healthy | clis/gitee |
google |
software | healthy | clis/google |
dockerhub |
software | healthy | clis/dockerhub |
apple-podcasts |
software | healthy | clis/apple-podcasts |
pubmed |
software | healthy | clis/pubmed |
taobao |
software | healthy | clis/taobao |
boss |
software | healthy | clis/boss |
quark |
software | healthy | clis/quark |
spotify |
software | healthy | clis/spotify |
osv |
software | healthy | clis/osv |
brave |
software | healthy | clis/brave |
51job |
software | healthy | clis/51job |
uiverse |
software | healthy | clis/uiverse |
smzdm |
software | healthy | clis/smzdm |
sinablog |
software | healthy | clis/sinablog |
jike |
software | healthy | clis/jike |
weixin |
software | healthy | clis/weixin |
openalex |
software | healthy | clis/openalex |
weibo |
software | healthy | clis/weibo |
zhihu |
software | healthy | clis/zhihu |
rednote |
software | healthy | clis/rednote |
lobsters |
software | healthy | clis/lobsters |
substack |
software | healthy | clis/substack |
zlibrary |
software | healthy | clis/zlibrary |
chaoxing |
software | healthy | clis/chaoxing |
rfc |
software | healthy | clis/rfc |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
containers |
software | healthy | clis/google/search.js:containers |
name |
software | healthy | clis/google/search.js:name |
FakeNode |
software | healthy | clis/zhihu/write-shared.test.js:FakeNode |
FakeRoot |
software | healthy | clis/zhihu/write-shared.test.js:FakeRoot |
names |
software | healthy | clis/deepseek/utils.js:names |
names |
software | healthy | clis/deepseek/utils.test.js:names |
FakeElement |
software | healthy | clis/codex/sidebar.test.js:FakeElement |
first |
software | healthy | clis/xiaohongshu/search.js:first |
being |
software | healthy | clis/xiaohongshu/search.js:being |
MockHTMLElement |
software | healthy | clis/instagram/post.test.js:MockHTMLElement |
CommandFailure |
software | healthy | extension/src/background.ts:CommandFailure |
MockWebSocket |
software | healthy | extension/src/background.test.ts:MockWebSocket |
Engine |
software | healthy | autoresearch/engine.ts:Engine |
Logger |
software | healthy | autoresearch/logger.ts:Logger |
Transaction |
software | healthy | src/plugin.ts:Transaction |
DaemonCommandFailure |
software | healthy | src/daemon.ts:DaemonCommandFailure |
BrowserSessionArgvError |
software | healthy | src/cli-argv-preprocess.ts:BrowserSessionArgvError |
ManifestImportError |
software | healthy | src/build-manifest.ts:ManifestImportError |
CliError |
software | healthy | src/errors.ts:CliError |
BrowserConnectError |
software | healthy | src/errors.ts:BrowserConnectError |
CommandExecutionError |
software | healthy | src/errors.ts:CommandExecutionError |
ConfigError |
software | healthy | src/errors.ts:ConfigError |
AuthRequiredError |
software | healthy | src/errors.ts:AuthRequiredError |
TimeoutError |
software | healthy | src/errors.ts:TimeoutError |
ArgumentError |
software | healthy | src/errors.ts:ArgumentError |
EmptyResultError |
software | healthy | src/errors.ts:EmptyResultError |
PluginError |
software | healthy | src/errors.ts:PluginError |
ObservationSession |
software | healthy | src/observation/session.ts:ObservationSession |
ObservationManager |
software | healthy | src/observation/manager.ts:ObservationManager |
RingBuffer |
software | healthy | src/observation/ring-buffer.ts:RingBuffer |
DownloadProgressTracker |
software | healthy | src/download/progress.ts:DownloadProgressTracker |
BrowserBridge |
software | healthy | src/browser/bridge.ts:BrowserBridge |
names |
software | healthy | src/browser/dom-snapshot.ts:names |
Page |
software | healthy | src/browser/page.ts:Page |
CDPBridge |
software | healthy | src/browser/cdp.ts:CDPBridge |
CDPPage |
software | healthy | src/browser/cdp.ts:CDPPage |
BrowserCommandError |
software | healthy | src/browser/daemon-client.ts:BrowserCommandError |
deduplicates |
software | healthy | src/browser/base-page.ts:deduplicates |
BasePage |
software | healthy | src/browser/base-page.ts:BasePage |
MockWebSocket |
software | healthy | src/browser/cdp.test.ts:MockWebSocket |
of |
software | healthy | src/browser/cdp-click-fixture.test.ts:of |
that |
software | healthy | src/browser/cdp-click-fixture.test.ts:that |
TargetError |
software | healthy | src/browser/target-errors.ts:TargetError |
TestPage |
software | healthy | src/browser/base-page.test.ts:TestPage |
ActionPage |
software | healthy | src/browser/base-page.test.ts:ActionPage |
| Label | Layer | Status | Path |
|---|---|---|---|
/world |
frontend | healthy | clis/reuters/reuters.test.js |
/tech |
frontend | healthy | clis/reuters/reuters.test.js |
/search |
frontend | healthy | clis/gov-law/shared.js |
/tmp/xhs_publish_tab_debug.png |
frontend | healthy | clis/xiaohongshu/publish.js |
/tmp/xhs_publish_upload_debug.png |
frontend | healthy | clis/xiaohongshu/publish.js |
/tmp/xhs_publish_form_debug.png |
frontend | healthy | clis/xiaohongshu/publish.js |
/tmp/xhs_publish_submit_debug.png |
frontend | healthy | clis/xiaohongshu/publish.js |
/tmp/instagram_post_preview_debug.png |
frontend | healthy | clis/instagram/post.js |
/tmp/instagram_post_caption_debug.png |
frontend | healthy | clis/instagram/post.js |
/tmp/instagram_post_caption_fill_debug.png |
frontend | healthy | clis/instagram/post.js |
/tmp/instagram_post_share_debug.png |
frontend | healthy | clis/instagram/post.js |
/tmp/instagram_reel_preview_debug.png |
frontend | healthy | clis/instagram/reel.js |
/ext |
frontend | healthy | src/daemon.ts |
/json |
frontend | healthy | src/launcher.ts |
/ |
frontend | healthy | src/pipeline/steps/download.test.ts |
/tmp/opencli.png |
frontend | healthy | src/browser/base-page.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8888 |
network | healthy | clis/spotify/spotify.js |
port:9226 |
network | healthy | clis/doubao-app/utils.js |
port:9234 |
network | healthy | clis/antigravity/serve.js |
port:08 |
network | healthy | .github/workflows/e2e-headed.yml |
port:09 |
network | healthy | .github/workflows/security.yml |
port:9999 |
network | healthy | src/electron-apps.test.ts |
port:9222 |
network | healthy | src/electron-apps.ts |
port:9228 |
network | healthy | src/electron-apps.ts |
port:9232 |
network | healthy | src/electron-apps.ts |
port:9225 |
network | healthy | src/electron-apps.ts |
port:9236 |
network | healthy | src/electron-apps.ts |
port:19825 |
network | healthy | src/cli.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/build-extension.yml |
e2e-headed |
cicd | healthy | .github/workflows/e2e-headed.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
unit-test |
cicd | healthy | .github/workflows/ci.yml |
bun-test |
cicd | healthy | .github/workflows/ci.yml |
adapter-test |
cicd | healthy | .github/workflows/ci.yml |
smoke-test |
cicd | healthy | .github/workflows/ci.yml |
dispatch |
cicd | healthy | .github/workflows/docs.yml |
release |
cicd | healthy | .github/workflows/release.yml |
audit |
cicd | healthy | .github/workflows/security.yml |
doc-coverage |
cicd | healthy | .github/workflows/doc-check.yml |
docs-build |
cicd | healthy | .github/workflows/doc-check.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::clis/mubu/utils.js |
security | healthy | clis/mubu/utils.js |
auth::cli-manifest.json |
security | healthy | cli-manifest.json |
auth::clis/1688/shared.js |
security | healthy | clis/1688/shared.js |
auth::clis/jd/cart.js |
security | healthy | clis/jd/cart.js |
auth::clis/jd/item.js |
security | healthy | clis/jd/item.js |
auth::clis/spotify/spotify.js |
security | healthy | clis/spotify/spotify.js |
auth::clis/jd/item.test.ts |
security | healthy | clis/jd/item.test.ts |
auth::clis/qwen/utils.js |
security | healthy | clis/qwen/utils.js |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::build-extension |
cicd | healthy | .github/workflows/build-extension.yml |
gha::e2e-headed |
cicd | healthy | .github/workflows/e2e-headed.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::docs |
cicd | healthy | .github/workflows/docs.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
gha::security |
cicd | healthy | .github/workflows/security.yml |
gha::doc-check |
cicd | healthy | .github/workflows/doc-check.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | package.json |
124.0.0.0 |
network | healthy | clis/toutiao/hot.js |
131.0.0.0 |
network | healthy | clis/weread/utils.js |
134.0.0.0 |
network | healthy | src/download/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | clis/dockerhub/utils.js |
mongodb |
data | healthy | clis/xiaohongshu/search.js |
sqlite |
data | healthy | src/external-clis.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::src/execution.test.ts |
security | healthy | src/execution.test.ts |
password_literal::src/observation/redaction.test.ts |
security | healthy | src/observation/redaction.test.ts |
password_literal::src/observation/redaction.test.ts |
security | healthy | src/observation/redaction.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
NPM_TOKEN |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
WEBSITE_DEPLOY_TOKEN |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-p7jbze1r |
software | healthy | /tmp/repobility-clone-p7jbze1r |
| Label | Layer | Status | Path |
|---|---|---|---|
sidekiq |
data | healthy | clis/rubygems/gem.js |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | clis/dockerhub/utils.js |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | clis/rednote/rednote.test.js |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | clis/douyin/_shared/tos-upload.js |
This page is publicly accessible at:
https://repobility.com/scan/e4f5616e-522d-4189-a8e5-6b5ff4ffb3d9/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/e4f5616e-522d-4189-a8e5-6b5ff4ffb3d9/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.