Initial commit
This commit is contained in:
commit
f45881dc88
161 files changed
+21597
No files matched your search
@@ -0,0 +1,66 @@
|
||||
import os, re
|
||||
|
||||
dir_path = '/app/working/workspaces/default/novels/r2-ai-xiu-jiao'
|
||||
files = sorted(
|
||||
[f for f in os.listdir(dir_path) if f.endswith('.md') and f != 'README.md'],
|
||||
key=lambda x: int(re.search(r'第(\d+)章', x).group(1)) if re.search(r'第(\d+)章', x) else 99
|
||||
)
|
||||
|
||||
all_text = ''.join(open(os.path.join(dir_path, f)).read() for f in files)
|
||||
sizes = [len(open(os.path.join(dir_path, f)).read().encode('utf-8')) for f in files]
|
||||
hz = len(re.findall(r'[\u4e00-\u9fff]', all_text))
|
||||
|
||||
print('=' * 60)
|
||||
print('《AI能代替一切,除了修脚》- 完整度检查')
|
||||
print('=' * 60)
|
||||
|
||||
print(f'15章完整: {"OK" if len(files) == 15 else "ISSUE: " + str(len(files))}')
|
||||
print(f'汉字:~{hz} | 均:{sum(sizes)//15}b | 最短:{min(sizes)}b | 最长:{max(sizes)}b')
|
||||
|
||||
print()
|
||||
print('--- 审核敏感词扫描 ---')
|
||||
for w in ['公司', '集团', '企业']:
|
||||
count = len(re.findall(w, all_text))
|
||||
print(f' "{w}": {count}处 {"✅" if count == 0 else "⚠️"}')
|
||||
for w in ['被裁', '裁员', '辞退', '被优化', '被替代', '被代替']:
|
||||
count = len(re.findall(w, all_text))
|
||||
print(f' "{w}": {count}处 {"✅" if count == 0 else "⚠️"}')
|
||||
|
||||
print()
|
||||
print('--- 章节开头模式检查 ---')
|
||||
for f in files[:3]:
|
||||
lines = open(os.path.join(dir_path, f)).read().strip().split('\n')
|
||||
for l in lines:
|
||||
s = l.strip()
|
||||
if s and not s.startswith('# ') and len(s) > 5:
|
||||
print(f' {f[:15]}: {s[:60]}')
|
||||
break
|
||||
|
||||
print()
|
||||
print('--- AI味残留扫描 ---')
|
||||
patterns = {
|
||||
'燃点标签': r'燃点|【燃|(燃',
|
||||
'章末标注': r'第[一二三四五六七八九十百]+章.*完',
|
||||
'深吸一口气': r'深吸一口气|深呼一口气',
|
||||
'握紧/攥紧': r'握紧|攥紧|捏紧',
|
||||
'——独立行': r'^\s*——+\s*$',
|
||||
'meta自嘲': r'不对.*系统|这不是.*小说|作者注',
|
||||
'全书完': r'(全书完)|(全文完)',
|
||||
}
|
||||
for name, pat in patterns.items():
|
||||
count = len(re.findall(pat, all_text, re.MULTILINE))
|
||||
flag = '⚠️' if count > 0 else '✅'
|
||||
print(f' {name}: {flag} ({count}处)')
|
||||
|
||||
print()
|
||||
print('--- 被动受害者叙事扫描 ---')
|
||||
bei_pat = r'被[^。!?]{0,20}替代|被[^。!?]{0,20}代替|被[^。!?]{0,20}辞退|被[^。!?]{0,20}裁'
|
||||
bei_count = len(re.findall(bei_pat, all_text))
|
||||
print(f' 被动被XX叙事: {"✅ 0处" if bei_count == 0 else "⚠️ " + str(bei_count) + "处"}')
|
||||
|
||||
score = 100
|
||||
if min(sizes) < 1200: score -= 10
|
||||
if bei_count > 0: score -= bei_count * 10
|
||||
print()
|
||||
print(f'评分: {max(score, 0)}/100')
|
||||
print(f'评级: {"S - 可直接投番茄" if score >= 90 else "A - 微调后可投"}')
|
||||
Reference in new issue
Block a user