1 view
zhouxiaoka/autoclip
AutoClip : AI-powered video clipping and highlight generation · 一款智能高光提取与剪辑的二创工具
Python★ 8,411+250 that day#7 on trending
E39.4/100
Duplication78
3.1% in python, tsx, typescript, bash, rust, javascript, perl, sqlDead code14
21.7%Complexity52
47.4% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
3.28%duplicated code · 2,358 of 71,975 lines
146clones in code
297code files of 604 scanned
7.79%duplicated over all files · 256 clones
Most complex files
- backend/api/v1/projects.py213 cx
- frontend/src/pages/SettingsPage.tsx187 cx
- frontend/src/services/api.ts157 cx
- backend/pipeline/quality.py153 cx
- frontend/src/store/useProjectStore.ts153 cx
- backend/services/bilibili_service.py137 cx
- backend/services/local_runner.py127 cx
- frontend/src/components/BilibiliManager.tsx125 cx
- scripts/ingest_app_feedback.py118 cx
- backend/api/v1/settings.py112 cx
Dead code 21.65% unused · 327 findings
- frontend/src/components/FirstRunWizard.tsxunused-file
- frontend/src/components/BilibiliAccountManager.tsxunused-file
- frontend/src/components/UploadQueueManager.tsxunused-file
- backend/utils/project_manager.pyunused-file
- frontend/src/components/AccountHealthMonitor.tsxunused-file
- frontend/src/components/UploadTaskManager.tsxunused-file
- frontend/src/components/DesktopSettings.tsxunused-file
- frontend/src/components/CollectionPreviewModal_fixed.tsxunused-file
- backend/utils/api_key_manager.pyunused-file
- backend/utils/performance_monitor.pyunused-file
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 62 lines in 2 placestsx274 tokensfrontend/src/components/EditableCollectionTitle.tsx:22–83frontend/src/components/EditableTitle.tsx:22–86
22 maxLength = 50, 23 style, 24 className 25}) => { 26 useTranslation() 27 const [isEditing, setIsEditing] = useState(false) 28 const [editValue, setEditValue] = useState(title) 29 const [loading, setLoading] = useState(false) 30 const [generating, setGenerating] = useState(false) 31 const inputRef = useRef<any>(null)First 10 of 62 lines.
- 73 lines in 2 placespython250 tokens
217 return status_mapping.get(error_code.value, 500) 218 219 220# 装饰器:自动错误处理 221def handle_errors(error_category: ErrorCategory = ErrorCategory.SYSTEM): 222 """错误处理装饰器""" 223 def decorator(func): 224 @functools.wraps(func) 225 async def async_wrapper(*args, **kwargs): 226 try:First 10 of 73 lines.
- 12 lines in 5 placespython62 tokensbackend/services/processing_orchestrator.py:58–69backend/services/processing_orchestrator.py:82–93backend/services/processing_orchestrator.py:105–116backend/services/processing_orchestrator.py:128–139backend/services/processing_orchestrator.py:151–162
58def run_step2_timeline(**kwargs): 59 logger.warning("流水线模块未正确导入,使用占位符函数") 60 # 生成模拟输出 61 output_path = kwargs.get('output_path') 62 if output_path: 63 import json 64 from pathlib import Path 65 # 确保output_path是Path对象 66 if isinstance(output_path, str): 67 output_path = Path(output_path)First 10 of 12 lines.
7 more
- 14 lines in 2 placespython227 tokens
- 43 lines in 2 placespython211 tokens
- 10 lines in 5 placespython52 tokens
- 41 lines in 2 placestsx204 tokens
- 38 lines in 2 placespython202 tokens
- 23 lines in 3 placespython101 tokens
- 29 lines in 2 placestsx190 tokens
Largest clones over all files, tests and data included
- 9 lines in 7 placesmarkdowndocs and examples262 tokens
9[简体中文](README.md) · **English** · [日本語](README-JA.md) · [한국어](README-KO.md) · [Español](README-ES.md) · [Português](README-PT.md) · [Русский](README-RU.md) · [… 10 11[](https://github.com/zhouxiaoka/autoclip/releases/latest) 12[](https://github.com/zhouxiaoka/autoclip/stargazers) 13[](https://github.com/zhouxiaoka/autoclip/forks) 14[](https://github.com/zhouxiaoka/autoclip/issues) 15[](LICENSE) 16 17[Website](https://zhouxiaoka.github.io/autoclip_intro/) · [Report an issue](https://github.com/zhouxiaoka/autoclip/issues)9[简体中文](README.md) · [English](README-EN.md) · [日本語](README-JA.md) · [한국어](README-KO.md) · **Español** · [Português](README-PT.md) · [Русский](README-RU.md) · [… 10 11[](https://github.com/zhouxiaoka/autoclip/releases/latest) 12[](https://github.com/zhouxiaoka/autoclip/stargazers) 13[](https://github.com/zhouxiaoka/autoclip/forks) 14[](https://github.com/zhouxiaoka/autoclip/issues) 15[](LICENSE) 16 17[Sitio web](https://zhouxiaoka.github.io/autoclip_intro/) · [Informar de un problema](https://github.com/zhouxiaoka/autoclip/issues) - 139 lines in 2 placesmarkupmarkup1,380 tokens
1<svg width="1920" height="1080" viewBox="0 0 1920 1080" xmlns="http://www.w3.org/2000/svg"> 2 <defs> 3 <!-- 主背景渐变 --> 4 <radialGradient id="mainGradient" cx="50%" cy="50%" r="70%"> 5 <stop offset="0%" stop-color="#1a1a2e" stop-opacity="1"/> 6 <stop offset="50%" stop-color="#16213e" stop-opacity="1"/> 7 <stop offset="100%" stop-color="#0f0f23" stop-opacity="1"/> 8 </radialGradient> 9 10 <!-- 光效渐变 -->First 10 of 139 lines.
- 51 lines in 8 placesbashdocs and examples154 tokensREADME-EN.md:77–127README-ES.md:77–127README-FR.md:77–127README-JA.md:77–127README-KO.md:77–127and 3 more
77git clone https://github.com/zhouxiaoka/autoclip.git 78cd autoclip 79``` 80 81```bash 82cp env.example .env 83``` 84 85Before starting, edit `.env`: select `LLM_PROVIDER` and set the matching API key and model name. You can also configure the provider in Settings after startup. 8677git clone https://github.com/zhouxiaoka/autoclip.git 78cd autoclip 79``` 80 81```bash 82cp env.example .env 83``` 84 85Antes de iniciar, edita `.env`: selecciona `LLM_PROVIDER` e indica la clave de API y el modelo correspondientes. También puedes configurar el proveedor desde l… 86First 10 of 51 lines, the second copy on the right.
- 63 lines in 4 placestxtdocs and examples327 tokens
- 215 lines in 2 placestxtdocs and examples908 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 173 | 45,554 | 94 | 1,394 | 3.06% |
| tsx | 66 | 17,928 | 44 | 761 | 4.24% |
| typescript | 26 | 4,162 | 4 | 97 | 2.33% |
| bash | 24 | 3,360 | 4 | 106 | 3.15% |
| rust | 4 | 712 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
| javascript | 3 | 85 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 213 | 50,694 | 107 | 1,571 | 3.1% |
| txt | 82 | 10,842 | 61 | 5,796 | 53.46% |
| tsx | 67 | 17,944 | 44 | 761 | 4.24% |
| bash | 48 | 3,988 | 12 | 257 | 6.44% |
| markdown | 75 | 14,482 | 10 | 84 | 0.58% |
| yaml | 18 | 1,217 | 7 | 99 | 8.13% |
| css | 7 | 2,375 | 5 | 39 | 1.64% |
| typescript | 37 | 4,513 | 4 | 97 | 2.15% |
| text | 15 | 491 | 4 | 19 | 3.87% |
| javascript | 9 | 516 | 1 | 9 | 1.74% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 22, 2026 | #7 | 8,411 (+250) | 604 | 113,926 | 256 | 7.79% | 3.28% | E 39.4 | 1a1b321 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.