为OPC/中小微企业量身打造的自媒体获客智能体
This report summarizes scanner evidence for TeamWiseFlow/xiaobei, a Python project with 8,595 GitHub stars. SynthScan examined 107,911 lines of code across 716 source files, recording 1121 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 20.4 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 431 finding(s).
Are imports declared and package/API names verified? 212 finding(s).
Are wrappers, guards, and repeated structures necessary? 591 finding(s).
Which changes need focused human review? 1121 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1121 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 112 | # ── Title ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 120 | # ── 账户信息 ────────────────────────────────────────── | COMMENT |
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 139 | # ── App 信息 ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 156 | # ── 声明 ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 180 | # ── 签署 ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 212 | # ── 注意事项 ───────────────────────────────────────── | COMMENT |
| MEDIUM | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 84 | # ── 凭据 ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 129 | # ── relay env ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 139 | # ── 主题解析 ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 211 | # ── multipart 构建 ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 316 | # ── 发布前校验 ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 377 | # ── 主流程 ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 35 | # ── 常量 ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 82 | # ── 平台行查询 / 更新 ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 141 | # ── wx-mp-engagement 自管 wx_mp session ──────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 148 | # ── camoufox-cli 集成 ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 215 | # ── 登录流程(本技能自管 wx_mp session)───────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 379 | # ── token 提取 + 列表页导航 ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 402 | # ── 列表页解析(基于 innerText)───────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 537 | # ── CLI 子命令 ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 728 | # ── main ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-douyin/tools/douyin-engagement/scripts/douyin-web.ts | 9 | // ─── Token helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-douyin/tools/douyin-engagement/scripts/douyin-web.ts | 54 | // ─── Common request params ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …t-douyin/tools/douyin-engagement/scripts/douyin-web.ts | 67 | // ─── Signed GET(a_bogus 走 relay)────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 65 | # ── 常量 ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 74 | # ── biz 消息库扫库常量 ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 90 | # ── 单篇 fetch:微信客户端 UA 直访 ────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 108 | # ── 工具函数 ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 127 | # ── biz 消息库扫库 ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 435 | # ── 单篇 fetch:MicroMessenger UA 直访 ────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 504 | # ── HTML → Markdown 转换 ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 670 | # ── publish_time: 多路兜底(已在上一轮实现,保留)────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 699 | # ── 多类型识别:按 <h1> 是否存在分两大类 ────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 703 | # ── B1. 正常图文页(有 <h1>)────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 801 | # ── B2. 无 <h1>(已删除/分享页/新类型)────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 924 | # ── 图片本地化 ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1032 | # ── camoufox 辅助(homepage 专题页流程,临时 session,无登录态)───────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1065 | # ── 命令实现 ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1190 | # ── 登录流程(camoufox,不导出 cookie/UA/token)───────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1196 | # ── 专题页流程(mp/homepage)──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1326 | # ── main ───────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | crews/main/skills/viral-chaser/scripts/transcriber.ts | 46 | // ── 估算分段(当 ASR 未返回 utterances 时的兜底)────────────────────────────── | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 66 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 68 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 93 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 95 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 236 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 46 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 136 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 138 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 243 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 245 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 70 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 72 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 170 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 172 | # --------------------------------------------------------------------------- | STRING |
| 193 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …-video/tools/video-producer/scripts/motion-graphics.py | 20 | "font_dir": null, // 可选:中文字体目录覆盖;Windows 可用系统微软雅黑 | STRING |
| HIGH | …-video/tools/video-producer/scripts/motion-graphics.py | 43 | progress_bar {"x","y","w","h":12,"color":"GREEN","from":0.5,"to":null} // to 缺省 = duration-0.4 | STRING |
| HIGH | crews/main/skills/native-ui-card/scripts/render.py | 89 | available: flow.clientHeight, images: [...document.images].every(i => i.complete && i.naturalWidth > 0)}; | CODE |
| HIGH⚡ | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 430 | if (nextIdx < lines.length && lines[nextIdx] === '已修改') { | CODE |
| HIGH⚡ | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 433 | if (nextIdx < lines.length && typeWords.has(lines[nextIdx])) { | CODE |
| HIGH⚡ | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 440 | while (j < lines.length && lines[j] === '已修改') j++; | CODE |
| HIGH⚡ | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 442 | nums.push(parseInt(lines[j])); | CODE |
| HIGH⚡ | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 446 | articles.push({ | CODE |
| HIGH | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 244 | "for (const i of imgs) { if (i.src && i.src.startsWith('data:image')) return '1'; } " | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 45 | .filter(e=>{VISIBLE} && (e.children.length===0 || e.tagName==='BUTTON') && e.textContent.trim()==={json.dumps(text | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 97 | if(!cards.length) return null; | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 114 | JSON.stringify(describe(entry.element))!==JSON.stringify(entry.data)) return null; | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 115 | window.__noteSelectedMusic=null; | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 123 | if(!entry || !entry.element.isConnected || JSON.stringify(describe(entry.element))!==JSON.stringify(entry.data)) r | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 126 | const buttons=[...active.querySelectorAll('button')].filter(e=>!e.disabled && e.textContent.trim()==='使用'); | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 139 | e.getClientRects().length && !e.children.length && e.textContent.trim()==={json.dumps(name)}); | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 140 | return labels.some(e=>{{let p=e; for(let i=0;i<5 && p && p!==document.body;i++,p=p.parentElement) | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 151 | if(!(e instanceof HTMLInputElement) || e.disabled || e.readOnly) | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 165 | if(inputs.length!==1 || inputs[0].value!=={json.dumps(value)}) return false; | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 203 | {VISIBLE} && !e.children.length && e.textContent.trim()==='编辑作品'); | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 207 | if(nodes.length===1 && actions.size===1) {{ | CODE |
| HIGH⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 210 | }} else result.status=nodes.length>1 || actions.size>1 ? 'ambiguous' : 'missing'; | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 261 | return inputs.length===1 && inputs[0].value ? {{title:inputs[0].value}} : null; | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 261 | return inputs.length===1 && inputs[0].value ? {{title:inputs[0].value}} : null; | CODE |
| HIGH | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 273 | selected = b.eval('window.__noteSelectedMusic || null') | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 103 | const visible = e => !!(e.getClientRects().length && getComputedStyle(e).visibility !== 'hidden'); | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 105 | if (nodes.length !== 1 || nodes[0].disabled || nodes[0].readOnly || nodes[0].getAttribute('aria-disabled') === 'tr | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 112 | }} else if (!{json.dumps(button)} && e.isContentEditable && e.getAttribute('role')!=='textbox') {{ | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 212 | const visible=e=>!!(e.getClientRects().length && getComputedStyle(e).visibility!=='hidden'); | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 222 | (v.currentSrc||v.getAttribute('src')) && v.readyState>=2 && Number.isFinite(v.duration) && v.duration>0); | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 229 | i.complete && i.naturalWidth>=120 && i.naturalHeight>=120 && !!i.getAttribute('src')) || | CODE |
| HIGH⚡ | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 230 | [e,...e.querySelectorAll('*')].some(n=>n.clientWidth>=60 && n.clientHeight>=60 && /^url\(/.test(getComputedStyle | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 153 | const visible=e=>!!(e.getClientRects().length && getComputedStyle(e).visibility!=='hidden'); | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 157 | const leaves=nodes.filter(e=>!nodes.some(child=>child!==e && e.contains(child))); | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 197 | if (!e) return null; | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 244 | video_duration:videos.find(v=>v.readyState>=2 && Number.isFinite(v.duration) && v.duration>0)?.duration||0, | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 245 | caption:caption ? caption.innerText||'' : null, | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 384 | const visible=e=>!!(e.getClientRects().length && getComputedStyle(e).visibility!=='hidden'); | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 391 | return !!(radio && (radio.checked || radio.getAttribute('aria-checked')==='true')) || | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 431 | const visible=e=>!!(e.getClientRects().length && getComputedStyle(e).visibility!=='hidden'); | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 450 | const visible=e=>!!(e.getClientRects().length && getComputedStyle(e).visibility!=='hidden'); | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 453 | return visible(i) && i.complete && i.naturalWidth>0 && i.naturalHeight>0 && | CODE |
| HIGH⚡ | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1251 | const href = a.href || a.getAttribute('href') || ''; | CODE |
| HIGH⚡ | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1252 | const title = (a.innerText || a.textContent || '').trim(); | CODE |
| HIGH⚡ | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1253 | if (href && title) links.push({title, url: href}); | CODE |
| HIGH⚡ | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1253 | if (href && title) links.push({title, url: href}); | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1272 | const name = (t.innerText || t.textContent || '').trim(); | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1273 | if (name) cats.push({name, index: Array.from(tabs).indexOf(t)}); | CODE |
| HIGH | …in/skills/xhs-hunter/scripts/apis/xhs_pc_login_apis.py | 196 | dsl_pair = f'null;{self.dsl}' | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 545 | if (!desc || desc === '删除') { i++; continue; } | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 547 | let timeLine = null, j = i + 1; | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 550 | if (numRe.test(lines[j])) { timeLine = null; break; } | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 560 | while (k < lines.length && numRe.test(lines[k]) && nums.length < 6) { | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 561 | nums.push(lines[k]); k++; | CODE |
| HIGH⚡ | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 564 | posts.push({ | CODE |
| HIGH | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 281 | "for (const i of imgs) { if (i.src && i.src.startsWith('data:image')) return '1'; } " | CODE |
| HIGH | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 490 | const innerBody = innerHtml && innerHtml.querySelector ? innerHtml.querySelector('body') : null; | CODE |
| HIGH | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 490 | const innerBody = innerHtml && innerHtml.querySelector ? innerHtml.querySelector('body') : null; | CODE |
| HIGH | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 516 | const innerBody = innerHtml && innerHtml.querySelector ? innerHtml.querySelector('body') : null; | CODE |
| HIGH | …ools/wx-channel-engagement/scripts/fetch_engagement.py | 516 | const innerBody = innerHtml && innerHtml.querySelector ? innerHtml.querySelector('body') : null; | CODE |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crews/it-engineer/skills/alicloud-find-skills/SKILL.md | 97 | ### Step 1: 理解需求 | COMMENT |
| LOW | crews/it-engineer/skills/alicloud-find-skills/SKILL.md | 104 | ### Step 2: 搜索 Skills | COMMENT |
| LOW | crews/it-engineer/skills/alicloud-find-skills/SKILL.md | 145 | ### Step 3: 迭代搜索 | COMMENT |
| LOW | crews/it-engineer/skills/alicloud-find-skills/SKILL.md | 156 | ### Step 4: 查看详情(可选) | COMMENT |
| LOW | crews/it-engineer/skills/alicloud-find-skills/SKILL.md | 165 | ### Step 5: 安装(仅用户要求时) | COMMENT |
| LOW | crews/main/HEARTBEAT.md | 46 | #### Step 1: 各平台已发布作品取数 | COMMENT |
| LOW | crews/main/HEARTBEAT.md | 67 | #### Step 2: content-calibrator DNA 表现评估(按量触发) | COMMENT |
| LOW | crews/main/HEARTBEAT.md | 94 | #### Step 3: 用户咨询回复 | COMMENT |
| LOW | crews/main/HEARTBEAT.md | 110 | #### Step 4: 汇总执行情况报告用户 | COMMENT |
| LOW | crews/main/skills/ui-demo/SKILL.md | 155 | // Step 1 - 登录(cookies 已注入通常直接跳过;失效则走表单登录) | COMMENT |
| LOW⚡ | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 40 | ### Step 1: 商业模式打磨了吗? | COMMENT |
| LOW⚡ | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 49 | ### Step 2: 发掘投资人 → Investor Hunting Workflow | COMMENT |
| LOW⚡ | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 59 | ### Step 3: 准备触达材料 → Investor Materials Workflow | COMMENT |
| LOW⚡ | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 65 | ### Step 4: 发起接触 → Investor Outreach Workflow | COMMENT |
| LOW | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 84 | ### Step 5: 持续跟进 + 状态推进 | COMMENT |
| LOW | …s/main/skills/expert-ir/workflows/investor-pipeline.md | 97 | ### Step 6: 过期跟进提醒 | COMMENT |
| LOW⚡ | …ws/main/skills/expert-ir/workflows/investor-hunting.md | 34 | ### Step 1: 准备工作 | COMMENT |
| LOW⚡ | …ws/main/skills/expert-ir/workflows/investor-hunting.md | 39 | ### Step 2: 逐渠道搜索 | COMMENT |
| LOW⚡ | …ws/main/skills/expert-ir/workflows/investor-hunting.md | 48 | ### Step 3: 逐投资人判定 | COMMENT |
| LOW | …ws/main/skills/expert-ir/workflows/investor-hunting.md | 80 | ### Step 4: 汇总报告 | COMMENT |
| LOW | …main/skills/expert-ir/workflows/project-application.md | 31 | ### Step 1: 问清申报项目 | COMMENT |
| LOW | …main/skills/expert-ir/workflows/project-application.md | 40 | ### Step 2: 拆任务 + 材料协作 | COMMENT |
| LOW | …main/skills/expert-ir/workflows/project-application.md | 51 | ### Step 3: 时间线 + 提醒 | COMMENT |
| LOW | …main/skills/expert-ir/workflows/project-application.md | 66 | ### Step 4: 状态跟踪 | COMMENT |
| LOW | …ews/main/skills/expert-bd/workflows/intel-gathering.md | 20 | ### Step 1: 准备工作 | COMMENT |
| LOW | …ews/main/skills/expert-bd/workflows/intel-gathering.md | 25 | ### Step 2: 逐信源采集 | COMMENT |
| LOW | …ews/main/skills/expert-bd/workflows/intel-gathering.md | 85 | ### Step 3: 生成交付物 | COMMENT |
| LOW | …ws/main/skills/expert-bd/workflows/competitor-watch.md | 24 | ### Step 1: 准备工作 | COMMENT |
| LOW | …ws/main/skills/expert-bd/workflows/competitor-watch.md | 30 | ### Step 2: 逐对象逐信源采集 | COMMENT |
| LOW | …ws/main/skills/expert-bd/workflows/competitor-watch.md | 69 | ### Step 3: 动向识别(agent 推理) | COMMENT |
| LOW | …ws/main/skills/expert-bd/workflows/competitor-watch.md | 80 | ### Step 4: 交付 | COMMENT |
| LOW | crews/main/skills/expert-bd/workflows/lead-hunting.md | 22 | ### Step 1: 准备工作 | COMMENT |
| LOW | crews/main/skills/expert-bd/workflows/lead-hunting.md | 28 | ### Step 2: 逐平台搜索 | COMMENT |
| LOW | crews/main/skills/expert-bd/workflows/lead-hunting.md | 111 | ### Step 4: 汇总报告 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 29 | ### Step 1 - 业务信息检查 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 45 | ### Step 2 - 起号信息收集 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 79 | ### Step 3 - 定位梳理 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 118 | ### Step 4 - 起号准备清单 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 140 | ### Step 5 - 新号初始 DNA 路径判断 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 191 | ### Step 6 - 默认 DNA 落盘 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/account-setup.md | 211 | ### Step 1 - 获取老号样本 | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 31 | ## Step 1 - 拆解诉求与提取关键词 | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 57 | ## Step 2 - 搜索对标笔记(低粉爆款策略) | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 79 | ## Step 3 - 下载样本 | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 95 | ## Step 4 - 建立对标 DNA | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 124 | ## Step 5 - 模式分析与差异化(agent 推理) | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 153 | ## Step 6 - 选择比较基线 | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 164 | ## Step 7 - 逐项比较 | COMMENT |
| LOW | …/main/skills/expert-xhs/workflows/account-benchmark.md | 187 | ## Step 8 - 采纳与更新 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 13 | ## Step 0 - 入口判断 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 44 | ## Step 1 - 生产契约锁定 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 98 | ## Step 2 - 素材获取与整理 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 108 | ## Step 3 - 选题与搜索意图 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 133 | ## Step 4 - 标题与话题标签 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 206 | ## Step 6 - 图组 / 视频制作 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 230 | ## Step 7 - 存文件 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 238 | ## Step 8 - 发布 | COMMENT |
| LOW | …main/skills/expert-xhs/workflows/content-production.md | 260 | ## Step 9 - 记录 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/style-dna.md | 77 | ### Step 1 - 准备样本 | COMMENT |
| LOW | crews/main/skills/expert-xhs/workflows/style-dna.md | 84 | ### Step 2 - 生成单篇 report | COMMENT |
| 113 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 254 | except (TypeError, json.JSONDecodeError): | CODE |
| HIGH | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 319 | except json.JSONDecodeError: | CODE |
| HIGH | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 857 | except (AttributeError, KeyError, TypeError, ValueError, | CODE |
| HIGH | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 381 | except Exception: | CODE |
| HIGH | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 451 | except (ValueError, AttributeError): | CODE |
| HIGH | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 308 | except ValueError: | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 775 | except Exception: | CODE |
| HIGH | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 829 | except Exception: | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1263 | except json.JSONDecodeError: | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1283 | except json.JSONDecodeError: | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1304 | except json.JSONDecodeError: | CODE |
| HIGH | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 685 | except (ValueError, OSError): | CODE |
| HIGH | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 129 | except PlaywrightTimeoutError: | CODE |
| HIGH | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 106 | except PlaywrightTimeoutError: | CODE |
| HIGH | crews/main/skills/pitch-deck/scripts/extract_pptx.py | 91 | except Exception: | CODE |
| HIGH | crews/main/skills/video-edit/scripts/apply_cut.py | 142 | except OSError: | CODE |
| HIGH | …s/main/skills/video-edit/scripts/extract_and_concat.py | 127 | except (subprocess.TimeoutExpired, json.JSONDecodeError, ValueError): | CODE |
| HIGH | …s/main/skills/video-edit/scripts/extract_and_concat.py | 149 | except (subprocess.TimeoutExpired, json.JSONDecodeError, ValueError): | CODE |
| HIGH | …s/main/skills/video-edit/scripts/extract_and_concat.py | 99 | except OSError: | CODE |
| HIGH | crews/main/skills/video-edit/scripts/assemble.py | 90 | except (subprocess.TimeoutExpired, json.JSONDecodeError, ValueError): | CODE |
| HIGH | crews/main/skills/video-edit/scripts/assemble.py | 110 | except (subprocess.TimeoutExpired, json.JSONDecodeError, ValueError): | CODE |
| HIGH | crews/main/skills/video-edit/scripts/assemble.py | 236 | except OSError: | CODE |
| HIGH | crews/main/skills/_shared/douyin_utils/http.py | 189 | except DouyinRequestError: | CODE |
| HIGH | crews/main/skills/talking-head-cut/scripts/cut_plan.py | 347 | except OSError: | CODE |
| HIGH | crews/main/skills/talking-head-cut/scripts/cut_plan.py | 339 | except OSError: | CODE |
| HIGH | docs/more_powerful_search_skill/extra/quark.py | 320 | except (ValueError, TypeError): | CODE |
| HIGH | docs/more_powerful_search_skill/extra/youtube_noapi.py | 104 | except: # pylint: disable=bare-except | CODE |
| HIGH | docs/more_powerful_search_skill/extra/wikipedia.py | 171 | except Exception: # pylint: disable=broad-except | CODE |
| HIGH | skills/wxwork-drive/scripts/drive.py | 112 | except OSError: | CODE |
| HIGH | skills/aigc-video-gen/scripts/aigc_common.py | 66 | except Exception: | CODE |
| HIGH | skills/awk-tts/scripts/tts.py | 836 | except (FileNotFoundError, subprocess.TimeoutExpired, json.JSONDecodeError, ValueError): | CODE |
| HIGH | skills/video-review/scripts/review.py | 205 | except (IndexError, ValueError): | CODE |
| HIGH | skills/video-review/scripts/review.py | 210 | except (IndexError, ValueError): | CODE |
| HIGH | skills/video-review/scripts/review.py | 159 | except (IndexError, ValueError): | CODE |
| HIGH | skills/_shared/bailian_asr.py | 124 | except OSError: | CODE |
| HIGH | skills/_shared/bailian_asr.py | 220 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ls/expert-video/tools/video-producer/scripts/_brief.py | 10 | CODE | |
| LOW | …ert-video/tools/video-producer/scripts/_deck_stages.py | 3 | CODE | |
| LOW | …/expert-video/tools/video-producer/scripts/burn-srt.py | 31 | CODE | |
| LOW | …/expert-video/tools/video-producer/scripts/burn-srt.py | 34 | CODE | |
| LOW | …xpert-video/tools/video-producer/scripts/make-cover.py | 15 | CODE | |
| LOW | …expert-video/tools/video-producer/scripts/normalize.py | 31 | CODE | |
| LOW | …expert-video/tools/video-producer/scripts/normalize.py | 35 | CODE | |
| LOW | …deo/tools/video-producer/scripts/character-register.py | 20 | CODE | |
| LOW | …video/tools/video-producer/scripts/narration-layout.py | 51 | CODE | |
| LOW | …rt-video/tools/video-producer/scripts/_mg_templates.py | 17 | CODE | |
| LOW | …rt-video/tools/video-producer/scripts/visual-render.py | 4 | CODE | |
| LOW | …deo/tools/video-producer/scripts/reference-concepts.py | 17 | CODE | |
| LOW | …xpert-video/tools/video-producer/scripts/make-outro.py | 4 | CODE | |
| LOW | …ills/expert-video/tools/video-producer/scripts/duck.py | 39 | CODE | |
| LOW | …ills/expert-video/tools/video-producer/scripts/duck.py | 42 | CODE | |
| LOW | …s/expert-video/tools/video-producer/scripts/_mg_lib.py | 9 | CODE | |
| LOW | …-video/tools/video-producer/scripts/motion-graphics.py | 57 | CODE | |
| LOW | …-video/tools/video-producer/scripts/_collage_stages.py | 3 | CODE | |
| LOW | …ls/expert-video/tools/video-producer/scripts/interp.py | 30 | CODE | |
| LOW | …ls/expert-video/tools/video-producer/scripts/interp.py | 33 | CODE | |
| LOW | …s/expert-video/tools/video-producer/scripts/denoise.py | 35 | CODE | |
| LOW | …s/expert-video/tools/video-producer/scripts/denoise.py | 38 | CODE | |
| LOW | …expert-video/tools/video-producer/scripts/batch-i2v.py | 27 | CODE | |
| LOW | …/expert-video/tools/deck-render/scripts/font_policy.py | 3 | CODE | |
| LOW | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 30 | CODE | |
| LOW | …ills/awada-channel-setup/scripts/apply-awada-config.py | 9 | CODE | |
| LOW | crews/main/scripts/process_images.py | 5 | CODE | |
| LOW | …manager/tools/sales-cs-review/scripts/scan_feedback.py | 17 | CODE | |
| LOW | …manager/tools/sales-cs-review/scripts/scan_feedback.py | 25 | CODE | |
| LOW | …es-cs-enablement/scripts/symlink_business_knowledge.py | 24 | CODE | |
| LOW | …ols/sales-cs-enablement/scripts/check_awada_channel.py | 11 | CODE | |
| LOW | …rt-bd/tools/douyin-interact/scripts/douyin_interact.py | 4 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 4 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 11 | CODE | |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 9 | CODE | |
| LOW | …in/skills/expert-bd/tools/douyin-im/scripts/im_wire.py | 3 | CODE | |
| LOW | …/skills/expert-bd/tools/douyin-im/scripts/douyin_im.py | 4 | CODE | |
| LOW | …uyin-hunter/tools/douyin-login/scripts/douyin_login.py | 4 | CODE | |
| LOW | …ews/main/skills/douyin-hunter/scripts/douyin_hunter.py | 6 | CODE | |
| LOW | …ews/main/skills/douyin-hunter/scripts/douyin_hunter.py | 8 | CODE | |
| LOW | …ain/skills/expert-xhs/tools/scripts/creator_session.py | 3 | CODE | |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 4 | CODE | |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 14 | CODE | |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 3 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 3 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 18 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 19 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 3 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 3 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 4 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 5 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 6 | CODE | |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 6 | CODE | |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_creator/runtime.py | 2 | CODE | |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/http.py | 3 | CODE | |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 3 | CODE | |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 5 | CODE | |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 8 | CODE | |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 8 | CODE | |
| LOW | …s/expert-xhs/tools/scripts/apis/xhs_pugongying_apis.py | 5 | CODE | |
| 87 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …video/tools/video-producer/scripts/add-silent-audio.py | 67 | except Exception: | CODE |
| LOW | …ert-video/tools/video-producer/scripts/deck-compose.py | 89 | except Exception: | CODE |
| LOW | …video/tools/video-producer/scripts/timeline-compose.py | 71 | except Exception: | CODE |
| LOW | …ert-video/tools/video-producer/scripts/motion-audit.py | 83 | except Exception: | CODE |
| LOW | …/expert-video/tools/video-producer/scripts/assemble.py | 63 | except Exception: | CODE |
| LOW | …-video/tools/video-producer/scripts/narration-align.py | 69 | except Exception as e: | CODE |
| LOW | …-engineer/skills/icp-exemption/scripts/generate_pdf.py | 65 | except Exception: | CODE |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 344 | except Exception as exc: | CODE |
| LOW | …ews/main/skills/douyin-hunter/scripts/douyin_hunter.py | 130 | except Exception: | CODE |
| LOW | …ain/skills/expert-xhs/tools/scripts/creator_session.py | 198 | except Exception: | CODE |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 153 | except Exception as exc: | CODE |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 214 | except Exception as exc: | CODE |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 274 | except Exception as exc: | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 381 | except Exception: | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 411 | except Exception: | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 241 | except Exception: | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 649 | except Exception as error: | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 1099 | except Exception as error: | CODE |
| MEDIUM | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 283 | def get_topic(self, keyword, proxies=None): | CODE |
| MEDIUM | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 318 | def get_location_info(self, keyword, proxies=None): | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 279 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 313 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 338 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 398 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 497 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 533 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 564 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 911 | except Exception as error: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 939 | except Exception as error: | CODE |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 526 | except Exception as exc: | CODE |
| LOW | …ls/expert-xhs/tools/xhs-publish/scripts/publish_xhs.py | 46 | except Exception as exc: | CODE |
| LOW | …ert-xhs/tools/xhs-publish/scripts/creator_local_cli.py | 121 | except Exception as exc: | CODE |
| LOW | …ert-xhs/tools/xhs-publish/scripts/creator_local_cli.py | 152 | except Exception as exc: | CODE |
| MEDIUM | …ert-xhs/tools/xhs-publish/scripts/creator_local_cli.py | 30 | def status() -> dict: | CODE |
| MEDIUM | …ert-xhs/tools/xhs-publish/scripts/creator_local_cli.py | 137 | def check() -> int: | CODE |
| LOW | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 762 | except Exception as e: # noqa: BLE001 | CODE |
| LOW⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 333 | except Exception as exc: | CODE |
| LOW⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 343 | except Exception as exc: | CODE |
| LOW⚡ | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 352 | except Exception as exc: | CODE |
| MEDIUM | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 142 | def click_selector(session, selector): | CODE |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 775 | except Exception: | CODE |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 829 | except Exception: | CODE |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 842 | except Exception: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 315 | except Exception: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 415 | except Exception as e: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 965 | except Exception: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 1390 | except Exception as e: | STRING |
| LOW⚡ | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 309 | except Exception as e: | CODE |
| LOW⚡ | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 325 | except Exception as e: | CODE |
| LOW⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 237 | except Exception: | STRING |
| LOW | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 307 | except Exception as e: | STRING |
| LOW | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 332 | except Exception as e: | STRING |
| LOW | crews/main/skills/pitch-deck/scripts/extract_pptx.py | 50 | except Exception as e: | CODE |
| LOW | crews/main/skills/pitch-deck/scripts/extract_pptx.py | 91 | except Exception: | CODE |
| LOW | crews/main/skills/pitch-deck/scripts/extract_pptx.py | 102 | except Exception: | CODE |
| LOW | crews/main/skills/video-edit/scripts/apply_cut.py | 177 | except Exception: | CODE |
| LOW | crews/main/skills/_shared/douyin_utils/ws.py | 62 | except Exception: | CODE |
| LOW | crews/main/skills/_shared/douyin_utils/ws.py | 272 | except Exception: | CODE |
| LOW | crews/main/skills/_shared/douyin_utils/http.py | 316 | except Exception as exc: | CODE |
| MEDIUM | crews/main/skills/_shared/douyin_utils/http.py | 91 | def session(): | CODE |
| 79 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …xpert-video/tools/liveportrait/scripts/liveportrait.py | 53 | CODE | |
| LOW | …xpert-video/tools/video-producer/scripts/make-cover.py | 25 | CODE | |
| LOW | …video/tools/video-producer/scripts/script-self-eval.py | 90 | CODE | |
| LOW | …video/tools/video-producer/scripts/timeline-compose.py | 75 | CODE | |
| LOW | …expert-video/tools/video-producer/scripts/clip-trim.py | 352 | CODE | |
| LOW | …video/tools/video-producer/scripts/narration-layout.py | 166 | CODE | |
| LOW | …/expert-video/tools/video-producer/scripts/assemble.py | 392 | CODE | |
| LOW | …/expert-video/tools/deck-render/scripts/deck-render.py | 68 | CODE | |
| LOW | …/expert-video/tools/deck-render/scripts/deck-render.py | 225 | CODE | |
| LOW | crews/main/skills/native-ui-card/scripts/render.py | 241 | CODE | |
| LOW | …ews/main/skills/content-calibrator/scripts/dna-eval.py | 74 | CODE | |
| LOW | …rt-bd/tools/douyin-interact/scripts/douyin_interact.py | 56 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 46 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 142 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 188 | CODE | |
| LOW | …ws/main/skills/expert-bd/tools/scripts/xhs_live_cli.py | 230 | CODE | |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 130 | CODE | |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 814 | CODE | |
| LOW | …in/skills/expert-bd/tools/douyin-im/scripts/im_wire.py | 141 | CODE | |
| LOW | …in/skills/expert-bd/tools/douyin-im/scripts/im_wire.py | 202 | CODE | |
| LOW | …/skills/expert-bd/tools/douyin-im/scripts/douyin_im.py | 246 | CODE | |
| LOW | …uyin-hunter/tools/douyin-login/scripts/douyin_login.py | 143 | CODE | |
| LOW | …ews/main/skills/douyin-hunter/scripts/douyin_hunter.py | 72 | CODE | |
| LOW | …ews/main/skills/douyin-hunter/scripts/douyin_hunter.py | 138 | CODE | |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 176 | CODE | |
| LOW | …skills/expert-xhs/tools/scripts/xhs_partnership_cli.py | 229 | CODE | |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_qianfan_util.py | 42 | CODE | |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 134 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 109 | CODE | |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 166 | CODE | |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 179 | CODE | |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 218 | CODE | |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 267 | CODE | |
| LOW | …ert-xhs/tools/xhs-engagement/scripts/xhs_engagement.py | 375 | CODE | |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 658 | CODE | |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 785 | CODE | |
| LOW | …ls/expert-xhs/tools/xhs-publish/scripts/publish_xhs.py | 14 | CODE | |
| LOW | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 241 | CODE | |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 514 | CODE | |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 667 | CODE | |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 799 | CODE | |
| LOW | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 275 | CODE | |
| LOW | …ols/douyin-note-publish/scripts/publish_douyin_note.py | 302 | CODE | |
| LOW | …-douyin/tools/douyin-publish/scripts/douyin_publish.py | 14 | CODE | |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 468 | CODE | |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 821 | CODE | |
| LOW | …n/tools/douyin-engagement/scripts/douyin_engagement.py | 41 | CODE | |
| LOW | …n/tools/douyin-engagement/scripts/douyin_engagement.py | 56 | CODE | |
| LOW | …n/tools/douyin-engagement/scripts/douyin_engagement.py | 336 | CODE | |
| LOW | …/skills/expert-douyin/tools/_shared/publish_browser.py | 20 | CODE | |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 656 | CODE | |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 783 | CODE | |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 213 | CODE | |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 351 | CODE | |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 633 | CODE | |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 926 | CODE | |
| LOW | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 97 | CODE | |
| LOW | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 74 | CODE | |
| LOW | crews/main/skills/pitch-deck/scripts/extract_pptx.py | 37 | CODE | |
| LOW | …s/main/skills/video-edit/scripts/extract_and_concat.py | 260 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 58 | def rsa_encrypt_short_link_payload(payload: bytes) -> bytes: | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1175 | async def connect_push_from_storage(self, *, room_id: Optional[str] = None) -> XHSWebSocket: | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1279 | def report_offline_message_ack(self, params: Mapping[str, Any]): | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1289 | def get_group_message_history(self, params: Mapping[str, Any]): | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1319 | def get_message_location_list(self, params: Mapping[str, Any]): | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1327 | def report_message_location_read(self, params: Mapping[str, Any]): | CODE |
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1375 | def send_captured_short_link_message(self, message: str): | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_qianfan_util.py | 4 | def get_qianfan_headers_template(): | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 14 | def get_pugongying_user_info_headers(): | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 29 | def get_pugongying_signed_user_info_headers( | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 57 | def get_pugongying_headers_template(): | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 80 | def generate_pugongying_headers(cookies, api, data='', profile=None): | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_pugongying_util.py | 99 | def get_pugongying_bozhu_data(page, brandUserId, contentTag=None): | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 100 | def build_creator_navigation_headers(headers, cookies=None): | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 109 | def build_creator_login_headers(headers, cookies=None, *, kind='security'): | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 131 | def build_creator_business_headers(headers, cookies=None, *, method='GET'): | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 158 | def get_request_headers_template( | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 256 | def generate_profile_request_params( | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 60 | def _order_creator_login_cookies(cookies: dict) -> dict: | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 209 | def _add_service_ratelimit_header(self, headers): | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 306 | def bootstrap_publish_navigation(self, *, path: str = '/publish/publish?source=official'): | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 493 | def _finish_security_bootstrap(self, *, activate: bool = True) -> None: | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 587 | def _require_security_cookies(self, names=None) -> None: | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 846 | # def get_all_publish_note_info(self, proxies=None): | COMMENT |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 120 | def _creator_note_manager_headers(headers, cookies, *, user_info=False): | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 757 | def extract_video_cover_and_metadata(self, video): | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 958 | def get_note_audience_portrait(self, note_id, proxies=None): | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 1003 | def get_all_publish_note_info(self, proxies=None): | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 495 | def report_dimension_markdown(dimension: dict) -> str: | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 658 | def extract_markdown_sections(markdown: str | None, heading_prefix: str) -> dict[str, str]: | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 711 | def template_stage_from_heading(heading: str, kind: str) -> str | None: | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 727 | def stage_values_from_template(old_sections: dict[str, str], kind: str) -> dict[str, dict[str, str]]: | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 785 | def extract_template_sections(markdown: str | None, kind: str) -> dict[str, str]: | CODE |
| LOW⚡ | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 141 | def _resolve_registered_theme_path(theme_id: str) -> Path | None: | CODE |
| LOW | …t-wx-mp/tools/wx-mp-publisher/scripts/publish_wx_mp.py | 322 | def _parse_frontmatter_author(md_text: str) -> str | None: | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 368 | def report_dimension_markdown(dimension: dict) -> str: | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 514 | def extract_markdown_sections(markdown: str | None, heading_prefix: str) -> dict[str, str]: | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 623 | def template_stage_from_heading(heading: str) -> str | None: | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 667 | def stage_values_from_template( | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 799 | def extract_template_sections(markdown: str | None) -> dict[str, str]: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 493 | def report_dimension_markdown(dimension: dict) -> str: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 656 | def extract_markdown_sections(markdown: str | None, heading_prefix: str) -> dict[str, str]: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 709 | def template_stage_from_heading(heading: str, kind: str) -> str | None: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 725 | def stage_values_from_template(old_sections: dict[str, str], kind: str) -> dict[str, dict[str, str]]: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 783 | def extract_template_sections(markdown: str | None, kind: str) -> dict[str, str]: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 129 | def _require_biz_container_env() -> str: | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 423 | def _sort_and_limit_recent_messages( | CODE |
| LOW | crews/main/skills/wx-mp-hunter/scripts/wx_mp_hunter.py | 520 | def _extract_images_from_html(html_fragment: str) -> list[str]: | CODE |
| LOW⚡ | crews/main/skills/pitch-deck/scripts/html_to_pptx.py | 140 | def _load_screenshots_from_dir(screenshots_dir: str) -> list[str]: | STRING |
| LOW | crews/main/skills/video-edit/scripts/assemble.py | 147 | def _normalize_and_concat_batch(video_files: list[str], width: int, height: int, | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/auth.py | 129 | def _sync_storage_from_profile(self) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 142 | def generate_search_request_id(): | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 148 | def generate_search_session_id(): | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 256 | def get_request_headers_template( | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 299 | def build_pc_navigation_headers(headers, cookies=None): | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 328 | def build_pc_business_headers(headers, cookies, *, api, method='POST'): | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 301 | def _sync_release_for_web_build(self) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 428 | def profile_data_from_capture(self, fields: Mapping[str, Any]) -> str: | CODE |
| LOW | crews/main/skills/_shared/douyin_utils/verification.py | 16 | def validate_creator_verification(value): | CODE |
| LOW | crews/main/skills/_shared/douyin_utils/verification.py | 50 | def validate_login_verification(value): | CODE |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …n/skills/expert-bd/tools/scripts/xhs_utils/__init__.py | 0 | resolve the xhs library shared by hunter and expert tools. | STRING |
| HIGH | …/skills/expert-xhs/tools/scripts/xhs_utils/__init__.py | 0 | resolve the xhs library shared by hunter and expert tools. | STRING |
| HIGH | …s/main/skills/xhs-hunter/scripts/xhs_utils/__init__.py | 0 | resolve the xhs library shared by hunter and expert tools. | STRING |
| HIGH | …ools/xhs-style-profiler/scripts/build_style_profile.py | 0 | wx_channel-style-profiler:按作品类型(video / note)生成定性 dna 资产。 三层产物(与 docs/expert-pack-dna-architecture.md 4.6 一致): 单篇作品 -> d | STRING |
| HIGH | …s/douyin-style-profiler/scripts/build_style_profile.py | 0 | wx_channel-style-profiler:按作品类型(video / note)生成定性 dna 资产。 三层产物(与 docs/expert-pack-dna-architecture.md 4.6 一致): 单篇作品 -> d | STRING |
| HIGH | …-channel-style-profiler/scripts/build_style_profile.py | 0 | wx_channel-style-profiler:按作品类型(video / note)生成定性 dna 资产。 三层产物(与 docs/expert-pack-dna-architecture.md 4.6 一致): 单篇作品 -> d | STRING |
| HIGH | …ools/xhs-style-profiler/scripts/build_style_profile.py | 0 | 统计证据底座:视频与图文共用一套超集,展示哪些指标由 statistics_metrics[kind] 决定。 | STRING |
| HIGH | …s/douyin-style-profiler/scripts/build_style_profile.py | 0 | 统计证据底座:视频与图文共用一套超集,展示哪些指标由 statistics_metrics[kind] 决定。 | STRING |
| HIGH | …-channel-style-profiler/scripts/build_style_profile.py | 0 | 统计证据底座:视频与图文共用一套超集,展示哪些指标由 statistics_metrics[kind] 决定。 | STRING |
| HIGH | skills/aigc-video-gen/scripts/gen_minimax.py | 0 | submit + poll for a single volcengine model. returns video url or raises. | STRING |
| HIGH | skills/aigc-video-gen/scripts/gen_dashscope.py | 0 | submit + poll for a single volcengine model. returns video url or raises. | STRING |
| HIGH | skills/aigc-video-gen/scripts/gen_volc.py | 0 | submit + poll for a single volcengine model. returns video url or raises. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …main/skills/expert-bd/tools/scripts/xhs_bd_api/live.py | 1493 | __all__ = [ | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 212 | def update_cookies(self, cookies: Any, *, source_url: str = '') -> None: | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 483 | def _set_dsl(self, value: str) -> None: | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 495 | __all__ = ['CREATOR_PARAMETER_SOURCES', 'XHSCreatorAuth'] | CODE |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 338 | __all__ = [ | CODE |
| LOW | …/expert-xhs/tools/scripts/xhs_utils/xhs_creator/dsl.py | 37 | __all__ = ['get_dsl', 'get_ds_bundle', 'DSN_READY', 'DSN_BOOTSTRAP'] | CODE |
| LOW | …rt-xhs/tools/scripts/xhs_utils/xhs_creator/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …ert-xhs/tools/scripts/xhs_utils/xhs_creator/runtime.py | 44 | __all__ = ['generate_b1', 'run_signer', 'generate_profile_data', 'generate_websectiga'] | CODE |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/http.py | 35 | __all__ = [ | CODE |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 90 | def update_window_state(self, **values: Any) -> None: | CODE |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 188 | def update_cookies(self, cookies: Any) -> None: | CODE |
| LOW | …xpert-xhs/tools/scripts/xhs_utils/xhs_creator/state.py | 314 | __all__ = [ | CODE |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 1271 | __all__ = ['XHSCreatorLoginApi'] | CODE |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 1011 | __all__ = ['XHS_Creator_Apis', 'XHSCreatorApis'] | CODE |
| LOW | …ools/xhs-style-profiler/scripts/build_style_profile.py | 916 | def update_command(args: argparse.Namespace) -> None: | CODE |
| LOW | …s/wechat-style-profiler/scripts/build_style_profile.py | 916 | def update_command(args: argparse.Namespace) -> None: | CODE |
| LOW | …s/douyin-style-profiler/scripts/build_style_profile.py | 914 | def update_command(args: argparse.Namespace) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/auth.py | 190 | def update_cookies(self, cookies: Any, *, source_url: str = '') -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/auth.py | 398 | def _set_dsl(self, value: str) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/auth.py | 406 | __all__ = ['PC_PARAMETER_SOURCES', 'XHSAuth', 'XHSPcAuth'] | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 467 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/dsl.py | 12 | __all__ = ['DsFetcher', 'get_dsl'] | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/__init__.py | 7 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/runtime.py | 79 | __all__ = ['generate_b1', 'run_signer', 'create_web_ssk_handshake', | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/http.py | 32 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 118 | def update_window_state(self, **values: Any) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 182 | def set_rwp_login_token(self, token: Mapping[str, Any]) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 329 | def update_cookies(self, cookies: Any) -> None: | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/state.py | 545 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/cookies.py | 174 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/auth.py | 125 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/params.py | 25 | __all__ = ['generate_x_b3_traceid', 'generate_xray_traceid', 'splice_str'] | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/dsl.py | 59 | __all__ = ['DsFetcher'] | CODE |
| LOW | …ews/main/skills/_shared/xhs_utils/xhs_core/__init__.py | 12 | __all__ = [ | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/runtime.py | 17 | __all__ = ['generate_websectiga'] | CODE |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_core/http.py | 192 | __all__ = [ | CODE |
| LOW | …-channel-style-profiler/scripts/build_style_profile.py | 889 | def update_command(args: argparse.Namespace) -> None: | CODE |
| LOW | skills/_shared/asr.py | 43 | __all__ = ["asr", "load_env_file", "volc_asr", "bailian_asr"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ews/it-engineer/skills/camoufox-guard/scripts/guard.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …ews/main/skills/content-calibrator/scripts/dna-eval.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …expert-xhs/tools/scripts/xhs_utils/xhs_creator/auth.py | 341 | # same-site navigation. The shared Cookie header alone cannot encode | COMMENT |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 41 | _SECURITY_COOKIE_LENGTHS = { | COMMENT |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 801 | "sampling_rate": 48000, | COMMENT |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 821 | # "note_type": "0", | COMMENT |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 841 | # success, msg = False, _log_api_error(error) | COMMENT |
| LOW | …-mp/tools/wx-mp-engagement/scripts/fetch_engagement.py | 141 | # ── wx-mp-engagement 自管 wx_mp session ──────────────────────────────────── | COMMENT |
| LOW | crews/main/skills/viral-chaser/scripts/viral_chaser.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …kills/published-track/scripts/set-distribute-status.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | crews/main/skills/published-track/scripts/record.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/docker-bootstrap.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/docker-entrypoint.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/docker-compose.yml | 1 | name: xiaobei | COMMENT |
| LOW | patches/overrides.sh | 1 | #!/bin/bash | COMMENT |
| LOW | patches/camoufox-cli/src/cli.ts | 181 | // 8s (was 1s): shutdown() awaits manager.close() → context.close() which must | COMMENT |
| LOW | patches/camoufox-cli/src/server.ts | 201 | if (this.watchdogTimer) clearInterval(this.watchdogTimer); | COMMENT |
| LOW | docs/more_powerful_search_skill/extra/bing_news.py | 141 | COMMENT | |
| LOW | scripts/apply-addons.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/apply-addons.sh | 341 | # 同时把 ~/.openclaw/bin 注入 shell rc 的 PATH(幂等)。 | COMMENT |
| LOW | scripts/apply-addons.sh | 461 | echo "📦 Syncing dependencies..." | COMMENT |
| LOW | scripts/install.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/install.sh | 21 | # 10. camoufox-cli:npm install -g 本地 fork(ship 的 portable node)+ camoufox-cli install 下 Firefox | COMMENT |
| LOW | scripts/install.sh | 1421 | local claw_cmd="$WISEFLOW_ROOT/bin/openclaw" | COMMENT |
| LOW | scripts/update.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/install-atomgit.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/install-atomgit.sh | 21 | # 6. pnpm install --prod --frozen-lockfile(用 ship 的 portable node + pnpm,在 openclaw/ 下;只拉依赖不编译,无 OOM,native 自动按平台) | COMMENT |
| LOW | scripts/install-atomgit.sh | 41 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| LOW | scripts/setup-crew.sh | 741 | # 源码部署:路径随机器可变,记录成文件供 IT engineer AGENTS.md 读取。 | COMMENT |
| LOW | scripts/lib/crew-workspaces.sh | 21 | } | COMMENT |
| LOW | scripts/lib/exec-tiers.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/lib/skill-wrappers.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/lib/agent-skills.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/lib/agent-skills.sh | 281 | # +./skills/<skill>/scripts/<file> — workspace-local skill 脚本(相对路径) | COMMENT |
| LOW | skills/aigc-video-gen/aigc-video-gen.sh | 1 | #!/usr/bin/env bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 158 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 211 | CODE | |
| LOW | …pert-xhs/tools/scripts/xhs_utils/xhs_creator/params.py | 256 | CODE | |
| LOW | …xpert-xhs/tools/scripts/apis/xhs_creator_login_apis.py | 165 | CODE | |
| LOW | …ills/expert-xhs/tools/scripts/apis/xhs_creator_apis.py | 172 | CODE | |
| LOW | …n/tools/douyin-video-publish/scripts/publish_douyin.py | 54 | CODE | |
| LOW | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 252 | CODE | |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/auth.py | 203 | CODE | |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 394 | CODE | |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/params.py | 430 | CODE | |
| LOW | crews/main/skills/_shared/xhs_utils/xhs_pc/runtime.py | 60 | CODE | |
| LOW | crews/main/skills/_shared/douyin_utils/message.py | 294 | CODE | |
| LOW | crews/main/skills/_shared/douyin_utils/payload.py | 74 | CODE | |
| LOW | crews/main/skills/_shared/douyin_utils/payload.py | 130 | CODE | |
| LOW | crews/main/skills/_shared/douyin_utils/http.py | 321 | CODE | |
| LOW | …in/skills/xhs-hunter/scripts/apis/xhs_pc_login_apis.py | 45 | CODE | |
| LOW | …ews/main/skills/xhs-hunter/scripts/apis/xhs_pc_apis.py | 691 | CODE | |
| LOW | …ews/main/skills/xhs-hunter/scripts/apis/xhs_pc_apis.py | 902 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 306 | # Step 1: Render each slide | COMMENT |
| LOW⚡ | …ws/main/skills/pitch-deck/scripts/html_to_longimage.py | 322 | # Step 2: Stitch vertically | COMMENT |
| LOW | …s/main/skills/video-edit/scripts/extract_and_concat.py | 431 | # Step 1: cut + normalize each segment to a temp file | COMMENT |
| LOW | crews/main/skills/video-edit/scripts/assemble.py | 167 | # Step 1: normalize each video individually (scale/pad/fps/format + audio) | COMMENT |
| LOW | crews/main/skills/video-edit/scripts/assemble.py | 198 | # Step 2: concat all normalized files via concat demuxer (stream copy, no re-encode) | COMMENT |
| LOW | crews/main/skills/video-edit/scripts/assemble.py | 380 | # Step 1: normalize + concat. When external audio will replace, drop per-segment | COMMENT |
| LOW | crews/main/skills/video-edit/scripts/assemble.py | 393 | # Step 2: mux audio if present | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …roducer/skills/expert-video/workflows/collage-broll.md | 104 | // scaffold 已创建 const tl = gsap.timeline({paused:true}); | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/more_powerful_search_skill/extra/wikipedia.py | 2 | """This module implements the Wikipedia engine. Some of this implementations | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/awk-tts/scripts/voice_customization.py | 135 | body = payload(args, 'placeholder' if args.command == 'voice-clone' else None) | CODE |