Scan timing: clone 18.0s · analysis 105.19s · 24.4 MB · GitHub API rate-limit (preflight)
https://github.com/Open-LLM-VTuber/Open-LLM-VTuber
· scanned 2026-06-04 03:23 UTC (1 day, 14 hours ago)
· 10 languages
463 findings (287 legacy + 176 scanner) 13th percentile · Python · small (2-20K LoC) Scanner says 81 (lower by 35)
Last scanned 1 day, 14 hours ago · v2 · 375 findings from 2 sources. 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 |
100.0 | 0.15 | 15.00 |
security_score |
0.0 | 0.25 | 0.00 |
testing_score |
0.0 | 0.20 | 0.00 |
documentation_score |
95.0 | 0.15 | 14.25 |
practices_score |
78.0 | 0.15 | 11.70 |
code_quality |
57.4 | 0.10 | 5.74 |
| Overall | 1.00 | 46.7 |
All 952 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 |
|---|---|---|---|
run_upgrade |
software | healthy | upgrade.py:9 |
get_version |
software | healthy | run_server.py:22 |
init_logger |
software | healthy | run_server.py:28 |
check_frontend_submodule |
software | healthy | run_server.py:50 |
parse_args |
software | healthy | run_server.py:110 |
run |
software | healthy | run_server.py:120 |
main |
software | healthy | scripts/run_bilibili_live.py:14 |
__init__ |
software | healthy | upgrade_codes/upgrade_manager.py:12 |
check_user_config_exists |
software | healthy | upgrade_codes/upgrade_manager.py:20 |
_configure_logger |
software | healthy | upgrade_codes/upgrade_manager.py:25 |
sync_user_config |
software | healthy | upgrade_codes/upgrade_manager.py:45 |
update_user_config |
software | healthy | upgrade_codes/upgrade_manager.py:48 |
log_system_info |
software | healthy | upgrade_codes/upgrade_manager.py:51 |
check_git_installed |
software | healthy | upgrade_codes/upgrade_manager.py:54 |
run_command |
software | healthy | upgrade_codes/upgrade_manager.py:57 |
time_operation |
software | healthy | upgrade_codes/upgrade_manager.py:60 |
get_submodule_list |
software | healthy | upgrade_codes/upgrade_manager.py:63 |
has_submodules |
software | healthy | upgrade_codes/upgrade_manager.py:66 |
__init__ |
software | healthy | upgrade_codes/config_sync.py:23 |
sync_user_config |
software | healthy | upgrade_codes/config_sync.py:36 |
update_user_config |
software | healthy | upgrade_codes/config_sync.py:52 |
backup_user_config |
software | healthy | upgrade_codes/config_sync.py:98 |
merge_and_update_user_config |
software | healthy | upgrade_codes/config_sync.py:108 |
merge_configs |
software | healthy | upgrade_codes/config_sync.py:120 |
merge |
software | healthy | upgrade_codes/config_sync.py:128 |
collect_all_subkeys |
software | healthy | upgrade_codes/config_sync.py:147 |
get_missing_keys |
software | healthy | upgrade_codes/config_sync.py:159 |
get_extra_keys |
software | healthy | upgrade_codes/config_sync.py:180 |
delete_extra_keys |
software | healthy | upgrade_codes/config_sync.py:202 |
delete_key_by_path |
software | healthy | upgrade_codes/config_sync.py:211 |
compare_field_keys |
software | healthy | upgrade_codes/config_sync.py:239 |
field_compare_fn |
software | dead | upgrade_codes/config_sync.py:242 |
compare_comments |
software | healthy | upgrade_codes/config_sync.py:268 |
get_latest_version |
software | healthy | upgrade_codes/config_sync.py:276 |
get_old_version |
software | healthy | upgrade_codes/config_sync.py:281 |
collect_all_key_paths |
software | healthy | upgrade_codes/compare_yaml.py:7 |
collect_leaf_key_paths |
software | healthy | upgrade_codes/compare_yaml.py:17 |
get_value_by_path |
software | healthy | upgrade_codes/compare_yaml.py:28 |
compare_yaml_keys |
software | healthy | upgrade_codes/compare_yaml.py:39 |
compare_yaml_values |
software | healthy | upgrade_codes/compare_yaml.py:47 |
__init__ |
software | healthy | upgrade_codes/version_manager.py:9 |
get_upgrade_mapping |
software | healthy | upgrade_codes/version_manager.py:16 |
resolve_upgrade_task |
software | healthy | upgrade_codes/version_manager.py:40 |
upgrade |
software | healthy | upgrade_codes/version_manager.py:53 |
__init__ |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:6 |
upgrade |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:39 |
_upgrade_live2d_models |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:48 |
_upgrade_conf_yaml |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:77 |
_migrate_field |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:114 |
load_user_config |
software | healthy | upgrade_codes/upgrade_core/constants.py:18 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
mcp_servers.json |
software | healthy | mcp_servers.json |
README.JP.md |
software | healthy | README.JP.md |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
upgrade.py |
software | healthy | upgrade.py |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
README.KR.md |
software | healthy | README.KR.md |
run_server.py |
software | healthy | run_server.py |
LICENSE-Live2D.md |
software | healthy | LICENSE-Live2D.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
model_dict.json |
software | healthy | model_dict.json |
README.CN.md |
software | healthy | README.CN.md |
pyproject.toml |
software | healthy | pyproject.toml |
requirements.txt |
software | healthy | requirements.txt |
README.md |
software | healthy | config_templates/README.md |
conf.ZH.default.yaml |
software | healthy | config_templates/conf.ZH.default.yaml |
conf.default.yaml |
software | healthy | config_templates/conf.default.yaml |
README.md |
software | healthy | backgrounds/README.md |
run_bilibili_live.py |
software | healthy | scripts/run_bilibili_live.py |
upgrade_manager.py |
software | healthy | upgrade_codes/upgrade_manager.py |
__init__.py |
software | healthy | upgrade_codes/__init__.py |
config_sync.py |
software | healthy | upgrade_codes/config_sync.py |
compare_yaml.py |
software | healthy | upgrade_codes/compare_yaml.py |
version_manager.py |
software | healthy | upgrade_codes/version_manager.py |
__init__.py |
software | healthy | upgrade_codes/from_version/__init__.py |
v_1_1_1.py |
software | healthy | upgrade_codes/from_version/v_1_1_1.py |
__init__.py |
software | healthy | upgrade_codes/upgrade_core/__init__.py |
constants.py |
software | healthy | upgrade_codes/upgrade_core/constants.py |
comment_diff_fn.py |
software | healthy | upgrade_codes/upgrade_core/comment_diff_fn.py |
language.py |
software | healthy | upgrade_codes/upgrade_core/language.py |
comment_sync.py |
software | healthy | upgrade_codes/upgrade_core/comment_sync.py |
upgrade_utils.py |
software | healthy | upgrade_codes/upgrade_core/upgrade_utils.py |
README.md |
software | healthy | doc/README.md |
sherpaASRTTS_sense_voice_piper_en.yaml |
software | healthy | doc/sample_conf/sherpaASRTTS_sense_voice_piper_en.yaml |
sherpaASR_paraformer.yaml |
software | healthy | doc/sample_conf/sherpaASR_paraformer.yaml |
sherpaASR_sense_voice.yaml |
software | healthy | doc/sample_conf/sherpaASR_sense_voice.yaml |
sherpaASRTTS_sense_voice_vits_zh.yaml |
software | healthy | doc/sample_conf/sherpaASRTTS_sense_voice_vits_zh.yaml |
sherpaASRTTS_sense_voice_melo.yaml |
software | healthy | doc/sample_conf/sherpaASRTTS_sense_voice_melo.yaml |
README.md |
software | healthy | characters/README.md |
en_unhelpful_ai.yaml |
software | healthy | characters/en_unhelpful_ai.yaml |
en_nuke_debate.yaml |
software | healthy | characters/en_nuke_debate.yaml |
zh_翻译腔.yaml |
software | healthy | characters/zh_翻译腔.yaml |
zh_米粒.yaml |
software | healthy | characters/zh_米粒.yaml |
__init__.py |
software | healthy | prompts/__init__.py |
prompt_loader.py |
software | healthy | prompts/prompt_loader.py |
README.md |
software | healthy | prompts/README.md |
README.md |
software | healthy | web_tool/README.md |
index.html |
software | healthy | web_tool/index.html |
main.js |
software | healthy | web_tool/main.js |
recorder.js |
software | healthy | web_tool/recorder.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
UpgradeManager |
software | healthy | upgrade_codes/upgrade_manager.py:11 |
ConfigSynchronizer |
software | healthy | upgrade_codes/config_sync.py:22 |
VersionUpgradeManager |
software | healthy | upgrade_codes/version_manager.py:8 |
to_v_1_2_1 |
software | healthy | upgrade_codes/from_version/v_1_1_1.py:5 |
CommentSynchronizer |
software | healthy | upgrade_codes/upgrade_core/comment_sync.py:8 |
UpgradeUtility |
software | healthy | upgrade_codes/upgrade_core/upgrade_utils.py:10 |
AudioRecorder |
software | healthy | web_tool/recorder.js:AudioRecorder |
Group |
software | healthy | src/open_llm_vtuber/chat_group.py:9 |
ChatGroupManager |
software | healthy | src/open_llm_vtuber/chat_group.py:15 |
HistoryMessage |
software | healthy | src/open_llm_vtuber/chat_history_manager.py:10 |
ProxyHandler |
software | healthy | src/open_llm_vtuber/proxy_handler.py:13 |
MessageHandler |
software | healthy | src/open_llm_vtuber/message_handler.py:7 |
ServiceContext |
software | healthy | src/open_llm_vtuber/service_context.py:41 |
Live2dModel |
software | healthy | src/open_llm_vtuber/live2d_model.py:10 |
CORSStaticFiles |
software | healthy | src/open_llm_vtuber/server.py:23 |
AvatarStaticFiles |
software | healthy | src/open_llm_vtuber/server.py:43 |
WebSocketServer |
software | healthy | src/open_llm_vtuber/server.py:56 |
ProxyMessageQueue |
software | healthy | src/open_llm_vtuber/proxy_message_queue.py:7 |
MessageType |
software | healthy | src/open_llm_vtuber/websocket_handler.py:32 |
WSMessage |
software | healthy | src/open_llm_vtuber/websocket_handler.py:48 |
WebSocketHandler |
software | healthy | src/open_llm_vtuber/websocket_handler.py:61 |
LivePlatformInterface |
software | healthy | src/open_llm_vtuber/live/live_interface.py:6 |
MessageQueue |
software | healthy | src/open_llm_vtuber/live/live_interface.py:98 |
BiliBiliLivePlatform |
software | healthy | src/open_llm_vtuber/live/bilibili_live.py:33 |
VtuberHandler |
software | healthy | src/open_llm_vtuber/live/bilibili_live.py:262 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/azure_tts.py:11 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/sherpa_onnx_tts.py:13 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/piper_tts.py:27 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/gpt_sovits_tts.py:11 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/coqui_tts.py:9 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/cosyvoice2_tts.py:6 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/cosyvoice_tts.py:6 |
SiliconFlowTTS |
software | healthy | src/open_llm_vtuber/tts/siliconflow_tts.py:6 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/minimax_tts.py:7 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/fish_api_tts.py:7 |
TTSFactory |
software | healthy | src/open_llm_vtuber/tts/tts_factory.py:5 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/elevenlabs_tts.py:11 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/x_tts.py:6 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/pyttsx3_tts.py:17 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/edge_tts.py:16 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/bark_tts.py:14 |
TTSInterface |
software | healthy | src/open_llm_vtuber/tts/tts_interface.py:8 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/spark_tts.py:7 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/cartesia_tts.py:42 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/melo_tts.py:12 |
TTSEngine |
software | healthy | src/open_llm_vtuber/tts/openai_tts.py:16 |
DeepLXTranslate |
software | healthy | src/open_llm_vtuber/translate/deeplx.py:7 |
TranslateFactory |
software | healthy | src/open_llm_vtuber/translate/translate_factory.py:6 |
TencentTranslate |
software | healthy | src/open_llm_vtuber/translate/tencent.py:18 |
TranslateInterface |
software | healthy | src/open_llm_vtuber/translate/translate_interface.py:4 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
config_templates |
software | healthy | config_templates |
backgrounds |
software | healthy | backgrounds |
scripts |
software | healthy | scripts |
upgrade_codes |
software | healthy | upgrade_codes |
from_version |
software | healthy | upgrade_codes/from_version |
upgrade_core |
software | healthy | upgrade_codes/upgrade_core |
doc |
software | healthy | doc |
sample_conf |
software | healthy | doc/sample_conf |
characters |
software | healthy | characters |
prompts |
software | healthy | prompts |
web_tool |
software | healthy | web_tool |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
open_llm_vtuber |
software | healthy | src/open_llm_vtuber |
live |
software | healthy | src/open_llm_vtuber/live |
tts |
software | healthy | src/open_llm_vtuber/tts |
translate |
software | healthy | src/open_llm_vtuber/translate |
agent |
software | healthy | src/open_llm_vtuber/agent |
stateless_llm |
software | healthy | src/open_llm_vtuber/agent/stateless_llm |
agents |
software | healthy | src/open_llm_vtuber/agent/agents |
conversations |
software | healthy | src/open_llm_vtuber/conversations |
utils |
software | healthy | src/open_llm_vtuber/utils |
mcpp |
software | healthy | src/open_llm_vtuber/mcpp |
utils |
software | healthy | src/open_llm_vtuber/mcpp/utils |
asr |
software | healthy | src/open_llm_vtuber/asr |
vad |
software | healthy | src/open_llm_vtuber/vad |
config_manager |
software | healthy | src/open_llm_vtuber/config_manager |
live2d-models |
software | healthy | live2d-models |
shizuku |
software | healthy | live2d-models/shizuku |
runtime |
software | healthy | live2d-models/shizuku/runtime |
motion |
software | healthy | live2d-models/shizuku/runtime/motion |
mao_pro |
software | healthy | live2d-models/mao_pro |
runtime |
software | healthy | live2d-models/mao_pro/runtime |
motions |
software | healthy | live2d-models/mao_pro/runtime/motions |
expressions |
software | healthy | live2d-models/mao_pro/runtime/expressions |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
R2_ACCESS_KEY_ID |
cicd | healthy | — |
DOCKERFILE |
cicd | healthy | — |
R2_ENDPOINT |
cicd | healthy | — |
R2_PUBLIC_URL |
cicd | healthy | — |
VERSION |
cicd | healthy | — |
DOCKERHUB_TOKEN |
cicd | healthy | — |
CONTEXT |
cicd | healthy | — |
DOCKERHUB_USERNAME |
cicd | healthy | — |
R2_SECRET_ACCESS_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
12.8.4.1 |
network | healthy | requirements.txt |
9.10.2.21 |
network | healthy | requirements.txt |
11.3.3.83 |
network | healthy | requirements.txt |
1.13.1.3 |
network | healthy | requirements.txt |
10.3.9.90 |
network | healthy | requirements.txt |
11.7.3.90 |
network | healthy | requirements.txt |
12.5.8.93 |
network | healthy | requirements.txt |
127.0.0.1 |
network | healthy | config_templates/conf.ZH.default.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
regenerate |
cicd | healthy | .github/workflows/update-requirements.yml |
analyze |
cicd | healthy | .github/workflows/codeql.yml |
fossa-scan |
cicd | healthy | .github/workflows/fossa_scan.yml |
meta |
cicd | healthy | .github/workflows/docker-blacksmith.yml |
build |
cicd | healthy | .github/workflows/docker-blacksmith.yml |
manifest |
cicd | healthy | .github/workflows/docker-blacksmith.yml |
ruff |
cicd | healthy | .github/workflows/ruff.yml |
build-release-packages |
cicd | healthy | .github/workflows/create_release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::update-requirements |
cicd | healthy | .github/workflows/update-requirements.yml |
gha::codeql |
cicd | healthy | .github/workflows/codeql.yml |
gha::fossa_scan |
cicd | healthy | .github/workflows/fossa_scan.yml |
gha::docker-blacksmith |
cicd | healthy | .github/workflows/docker-blacksmith.yml |
gha::ruff |
cicd | healthy | .github/workflows/ruff.yml |
gha::create_release |
cicd | healthy | .github/workflows/create_release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /web-tool |
api | healthy | src/open_llm_vtuber/routes.py |
GET /web_tool |
api | healthy | src/open_llm_vtuber/routes.py |
GET /live2d-models/info |
api | healthy | src/open_llm_vtuber/routes.py |
POST /asr |
api | healthy | src/open_llm_vtuber/routes.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:12393 |
network | healthy | config_templates/conf.ZH.default.yaml |
port:8283 |
network | healthy | config_templates/conf.ZH.default.yaml |
port:8765 |
network | healthy | src/open_llm_vtuber/vad/silero.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | pyproject.toml |
vps::aws |
hardware | healthy | .github/workflows/create_release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-2mcs54uh |
software | healthy | /tmp/repobility-clone-2mcs54uh |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | requirements.txt |
This page is publicly accessible at:
https://repobility.com/scan/42006152-1d92-47d5-9b25-d33bc637259d/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/42006152-1d92-47d5-9b25-d33bc637259d/
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.