Not in the top 1,000 by GitHub stars
jiji262/wechat-publisher
微信公众号文章自动创作与发布工具 - WeChat Official Account article auto-creation and publishing tool
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +299 / −251 lines
Before Not checked yet → After Network or broad shell
84754be2e2df → 24358951c467
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
This preview is limited. See the complete change on GitHub.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 84754be2e2df
No earlier version was observed for comparison.
Heat
5.6- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
wechat-publisher
When your agent uses it
微信公众号文章自动创作与发布工具。给定参考文章、文字或文档,自动搜索整理全网相关信息,使用项目内置 generate_image 生图入口生成手绘风格配图,生成图文并茂的公众号文章,并发布到微信公众号草稿箱。特别强调去 AI 味(反 AI 味写作),读起来像本人写的。 触发场景(只要沾边就该使用本skill): - 用户提到"公众号"、"微信文章"、"推文"、"公号"、"发文"、"mp"等关键词 - 用户要求写文章并发布到微信 - 用户提供参考素材并希望生成公众号内容 - 用户希望把文档/笔记转为微信公众号文章 - 用户要求搜索某个话题并写成公众号文章 - 用户提到"草稿箱"、"群发"等微信公众号相关操作 - 用户要求写一篇适合在微信上传播的文章
What it loads into context
Frontmatter
236 tokensAlways available to the agent
SKILL.md
13,288 tokensWhen the skill is activated
Reference documents
36,275 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 账号与人格
- 前置条件检查
- 完整工作流程(7 个阶段,第 7 阶段为可选)
- 贴图模式(newspic / 图片消息,与文章模式并列)
- 文件组织约定
- 脚本说明
- 错误处理
- 注意事项
Scripts executed separately
scripts/ai_score.pyscripts/api.pyscripts/article_meta.pyscripts/baoyu_danger_gemini_web/gemini-webapi/client.tsscripts/baoyu_danger_gemini_web/gemini-webapi/components/gem-mixin.tsscripts/baoyu_danger_gemini_web/gemini-webapi/components/index.tsscripts/baoyu_danger_gemini_web/gemini-webapi/constants.tsscripts/baoyu_danger_gemini_web/gemini-webapi/exceptions.tsscripts/baoyu_danger_gemini_web/gemini-webapi/index.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/candidate.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/gem.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/grpc.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/image.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/index.tsscripts/baoyu_danger_gemini_web/gemini-webapi/types/modeloutput.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/cookie-file.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/decorators.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/get-access-token.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/http.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/index.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/logger.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/parsing.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/paths.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/rotate-1psidts.tsscripts/baoyu_danger_gemini_web/gemini-webapi/utils/upload-file.tsscripts/baoyu_danger_gemini_web/main.tsscripts/baoyu_image_gen.tsscripts/baoyu_image_gen_core.tsscripts/config.pyscripts/fidelity_check.pyscripts/fingerprint.pyscripts/fingerprint_render.pyscripts/generate_image.pyscripts/html_converter.pyscripts/humanize_log.pyscripts/image_handler.pyscripts/multi_publish.pyscripts/newspic_build.pyscripts/publish.pyscripts/source_check.pyscripts/sync_pages.shscripts/toutiao_cdp.tsscripts/toutiao_cdp_client.tsscripts/toutiao_inline.pyscripts/toutiao_publish.pyscripts/toutiao_render.pyscripts/wechat_api.pyscripts/wechat_token.pyscripts/zh_chars.pyscripts/zh_finders.pyscripts/zh_markers.pyscripts/zh_rules.pyscripts/zh_sources.pyscripts/zh_tells.pyscripts/zh_text.pytests/__init__.pytests/conftest.pytests/test_ai_score.pytests/test_config.pytests/test_config_integration.pytests/test_fidelity_check.pytests/test_fingerprint.pytests/test_fix2_gates.pytests/test_fix2_rules.pytests/test_html_converter.pytests/test_humanize_log.pytests/test_instruction_guard.pytests/test_publish_gate.pytests/test_publish_gate_paths.pytests/test_publish_platform_dispatch.pytests/test_review_fixes.pytests/test_toutiao_config.pytests/test_toutiao_publish.pytests/test_toutiao_render.pytests/test_zh_tells.py
Files
.gitignoreasset570 bytesREADME.mddoc7,043 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesSKILL.mdcore44,334 bytesassets/image-styles/README.mddoc30,207 bytesassets/image-styles/blue.jsonasset3,090 bytesassets/image-styles/data-chart.jsonasset2,435 bytesassets/image-styles/flat-editorial.jsonasset5,061 bytesassets/image-styles/hand-drawn-blue.jsonasset2,332 bytesassets/image-styles/illustrated-warm.jsonasset3,364 bytesassets/image-styles/infographic-blue.jsonasset5,373 bytesassets/image-styles/infographic-dark.jsonasset5,502 bytesassets/image-styles/infographic-mint.jsonasset5,375 bytesassets/image-styles/infographic-warm.jsonasset5,567 bytesassets/image-styles/knowledge-card.jsonasset2,318 bytesassets/image-styles/magazine-editorial.jsonasset2,349 bytesassets/image-styles/marker-coral.jsonasset6,686 bytesassets/image-styles/marker-lime.jsonasset6,875 bytesassets/image-styles/marker-pink.jsonasset6,707 bytesassets/image-styles/marker-sky.jsonasset6,679 bytesassets/image-styles/marker-violet.jsonasset6,684 bytesassets/image-styles/meme-illustration.jsonasset2,307 bytesassets/image-styles/mint.jsonasset3,201 bytesassets/image-styles/morandi.jsonasset3,489 bytesassets/image-styles/previews/blue.webpasset106,520 bytesassets/image-styles/previews/data-chart.webpasset16,820 bytesassets/image-styles/previews/flat-editorial.webpasset112,320 bytesassets/image-styles/previews/hand-drawn-blue.webpasset18,366 bytesassets/image-styles/previews/illustrated-warm.webpasset31,938 bytesassets/image-styles/previews/infographic-blue.webpasset164,252 bytesassets/image-styles/previews/infographic-dark.webpasset145,492 bytesassets/image-styles/previews/infographic-mint.webpasset153,826 bytesassets/image-styles/previews/infographic-warm.webpasset166,430 bytesassets/image-styles/previews/knowledge-card.webpasset22,916 bytesassets/image-styles/previews/magazine-editorial.webpasset14,334 bytesassets/image-styles/previews/marker-coral.webpasset42,156 bytesassets/image-styles/previews/marker-lime-template.webpasset35,072 bytesassets/image-styles/previews/marker-lime.webpasset40,284 bytesassets/image-styles/previews/marker-pink.webpasset38,406 bytesassets/image-styles/previews/marker-sky.webpasset49,026 bytesassets/image-styles/previews/marker-violet.webpasset43,848 bytesassets/image-styles/previews/meme-illustration.webpasset36,394 bytesassets/image-styles/previews/mint.webpasset98,016 bytesassets/image-styles/previews/morandi.webpasset83,980 bytesassets/image-styles/previews/slice-of-life.webpasset47,400 bytesassets/image-styles/previews/warm-handdrawn.webpasset80,890 bytesassets/image-styles/previews/xiaohongshu-colorful.webpasset24,862 bytesassets/image-styles/slice-of-life.jsonasset5,059 bytesassets/image-styles/warm-handdrawn.jsonasset4,505 bytesassets/image-styles/xiaohongshu-colorful.jsonasset2,335 bytesassets/theme-previews/README.mddoc1,697 bytesassets/theme-previews/academic-paper.htmlasset13,779 bytesassets/theme-previews/business-navy.htmlasset13,959 bytesassets/theme-previews/elegant-ink.htmlasset13,312 bytesassets/theme-previews/girly-pink.htmlasset13,471 bytesassets/theme-previews/index.htmlasset27,241 bytesassets/theme-previews/ink-wash.htmlasset13,846 bytesassets/theme-previews/magazine-grid.htmlasset13,331 bytesassets/theme-previews/minimal-bw.htmlasset13,921 bytesassets/theme-previews/minimal-mono.htmlasset13,030 bytesassets/theme-previews/mint-fresh.htmlasset14,379 bytesassets/theme-previews/news-bold.htmlasset13,611 bytesassets/theme-previews/refined-blue.htmlasset15,470 bytesassets/theme-previews/sage-premium.htmlasset13,907 bytesassets/theme-previews/sample.mddoc2,696 bytesassets/theme-previews/screenshots/ink-wash.webpasset28,476 bytesassets/theme-previews/screenshots/minimal-mono.webpasset35,600 bytesassets/theme-previews/screenshots/news-bold.webpasset33,232 bytesassets/theme-previews/screenshots/refined-blue.webpasset35,088 bytesassets/theme-previews/screenshots/theme-overview.webpasset235,348 bytesassets/theme-previews/sunset-coral.htmlasset15,143 bytesassets/theme-previews/warm-editorial.htmlasset13,110 bytesassets/theme-previews/warm-orange.htmlasset12,571 bytesassets/themes/academic-paper.jsonasset5,330 bytesassets/themes/business-navy.jsonasset5,358 bytesassets/themes/elegant-ink.jsonasset5,222 bytesassets/themes/girly-pink.jsonasset5,387 bytesassets/themes/ink-wash.jsonasset5,268 bytesassets/themes/magazine-grid.jsonasset5,203 bytesassets/themes/minimal-bw.jsonasset5,294 bytesassets/themes/minimal-mono.jsonasset5,089 bytesassets/themes/mint-fresh.jsonasset5,432 bytesassets/themes/news-bold.jsonasset5,254 bytesassets/themes/refined-blue.jsonasset5,753 bytesassets/themes/sage-premium.jsonasset5,466 bytesassets/themes/sunset-coral.jsonasset5,634 bytesassets/themes/warm-editorial.jsonasset5,065 bytesassets/themes/warm-orange.jsonasset5,127 bytesassets/typeset-card/template.htmlasset3,937 bytesbrief.md.exampleasset2,673 bytesdocs/.nojekyllasset0 bytesdocs/academic-paper.htmlasset13,779 bytesdocs/business-navy.htmlasset13,959 bytesdocs/elegant-ink.htmlasset13,312 bytesdocs/girly-pink.htmlasset13,471 bytesdocs/index.htmlasset27,241 bytesdocs/ink-wash.htmlasset13,846 bytesdocs/magazine-grid.htmlasset13,331 bytesdocs/minimal-bw.htmlasset13,921 bytesdocs/minimal-mono.htmlasset13,030 bytesdocs/mint-fresh.htmlasset14,379 bytesdocs/news-bold.htmlasset13,611 bytesdocs/refined-blue.htmlasset15,470 bytesdocs/sage-premium.htmlasset13,907 bytesdocs/screenshots/ink-wash.webpasset28,476 bytesdocs/screenshots/minimal-mono.webpasset35,600 bytesdocs/screenshots/news-bold.webpasset33,232 bytesdocs/screenshots/refined-blue.webpasset35,088 bytesdocs/screenshots/theme-overview.webpasset235,348 bytesdocs/sunset-coral.htmlasset15,143 bytesdocs/warm-editorial.htmlasset13,110 bytesdocs/warm-orange.htmlasset12,571 bytesgenerated/README.mddoc850 bytesreferences/anti-ai-checklist.mddoc17,914 bytesreferences/api_reference.mddoc3,238 bytesreferences/article-structures.mddoc4,179 bytesreferences/image-styles-guide.mddoc3,759 bytesreferences/multi-platform-sync.mddoc2,518 bytesreferences/newspic-mode.mddoc7,238 bytesreferences/themes.mddoc1,842 bytesreferences/toutiao-publish-research.mddoc21,410 bytesreferences/typeset-card.mddoc5,358 bytesscripts/_humanizer_lexicon.jsonasset6,667 bytesscripts/ai_score.pyruns27,802 bytesscripts/api.pyruns12,895 bytesscripts/article_meta.pyruns3,018 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/client.tsruns22,343 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/components/gem-mixin.tsruns5,704 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/components/index.tsruns44 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/constants.tsruns3,703 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/exceptions.tsruns1,207 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/index.tsruns273 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/candidate.tsruns1,293 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/gem.tsruns1,847 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/grpc.tsruns369 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/image.tsruns3,466 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/index.tsruns232 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/types/modeloutput.tsruns816 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/cookie-file.tsruns2,402 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/decorators.tsruns1,100 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/get-access-token.tsruns7,540 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/http.tsruns1,621 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/index.tsruns1,021 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.tsruns9,818 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/logger.tsruns1,193 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/parsing.tsruns1,353 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/paths.tsruns1,656 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/rotate-1psidts.tsruns1,528 bytesscripts/baoyu_danger_gemini_web/gemini-webapi/utils/upload-file.tsruns1,097 bytesscripts/baoyu_danger_gemini_web/main.tsruns15,498 bytesscripts/baoyu_image_gen.tsruns5,656 bytesscripts/baoyu_image_gen_core.tsruns11,765 bytesscripts/config.pyruns12,725 bytesscripts/fidelity_check.pyruns15,508 bytesscripts/fingerprint.pyruns18,649 bytesscripts/fingerprint_render.pyruns1,253 bytesscripts/generate_image.pyruns4,452 bytesscripts/html_converter.pyruns25,373 bytesscripts/humanize_log.pyruns8,670 bytesscripts/image_handler.pyruns19,038 bytesscripts/multi_publish.pyruns13,829 bytesscripts/newspic_build.pyruns15,801 bytesscripts/publish.pyruns44,758 bytesscripts/source_check.pyruns3,812 bytesscripts/sync_pages.shruns994 bytesscripts/toutiao_cdp.tsruns6,815 bytesscripts/toutiao_cdp_client.tsruns9,743 bytesscripts/toutiao_inline.pyruns4,589 bytesscripts/toutiao_publish.pyruns12,405 bytesscripts/toutiao_render.pyruns9,250 bytesscripts/wechat_api.pyruns6,150 bytesscripts/wechat_token.pyruns5,201 bytesscripts/zh_chars.pyruns5,450 bytesscripts/zh_finders.pyruns11,465 bytesscripts/zh_markers.pyruns1,399 bytesscripts/zh_rules.pyruns29,125 bytesscripts/zh_sources.pyruns9,755 bytesscripts/zh_tells.pyruns12,059 bytesscripts/zh_text.pyruns15,299 bytestech/2026-05-04-ouroboros/images/01.pngasset1,038,371 bytestech/2026-05-04-ouroboros/images/02.pngasset954,211 bytestech/2026-05-04-ouroboros/images/03.pngasset910,654 bytestech/2026-05-04-ouroboros/images/04.pngasset967,160 bytestech/2026-05-04-ouroboros/images/05.pngasset1,050,459 bytestech/2026-05-04-ouroboros/images/06.pngasset967,530 bytestech/2026-05-04-ouroboros/images/07.pngasset1,106,435 bytestests/__init__.pyruns0 bytestests/conftest.pyruns4,151 bytestests/fixtures/claude_tells.mddoc3,342 bytestests/fixtures/human_public_domain.mddoc2,234 bytestests/fixtures/rule_cases.jsonasset13,227 bytestests/test_ai_score.pyruns22,445 bytestests/test_config.pyruns7,565 bytestests/test_config_integration.pyruns9,692 bytestests/test_fidelity_check.pyruns10,173 bytestests/test_fingerprint.pyruns14,589 bytestests/test_fix2_gates.pyruns8,766 bytestests/test_fix2_rules.pyruns8,050 bytestests/test_html_converter.pyruns12,908 bytestests/test_humanize_log.pyruns10,374 bytestests/test_instruction_guard.pyruns4,691 bytestests/test_publish_gate.pyruns12,485 bytestests/test_publish_gate_paths.pyruns12,848 bytestests/test_publish_platform_dispatch.pyruns1,985 bytestests/test_review_fixes.pyruns8,987 bytestests/test_toutiao_config.pyruns3,059 bytestests/test_toutiao_publish.pyruns9,224 bytestests/test_toutiao_render.pyruns10,306 bytestests/test_zh_tells.pyruns13,886 byteswechat-publisher.yaml.exampleasset2,996 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- wechat-publisher
Repository facts
- License
- No license detected
- Created
- Mar 28, 2026
- Last pushed
- Oct 30, 2026
- Forks
- 62
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 17 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 1 dangerous shell commandin 1 file: scripts/toutiao_publish.py:64
- 332 network referencesin 71 files: references/toutiao-publish-research.md:27 tests/test_review_fixes.py:42 scripts/toutiao_cdp.ts:5 and 68 more
- 3 obfuscation signalsin 2 files: tests/test_zh_tells.py:51 scripts/toutiao_cdp.ts:46
- No instruction overrides
- 76 executable scriptsin 76 files: scripts/ai_score.py:1 scripts/api.py:1 scripts/article_meta.py:1 and 73 more
- 120 references to secretsin 24 files: scripts/baoyu_image_gen_core.ts:51 scripts/api.py:20 tests/test_config_integration.py:40 and 21 more
- No requests to vote in Hot
Show all 532 signals by file
.gitignore
- Access to secretsline 10
[Credential-related source omitted]
README.md
- Network accessline 3
微信公众号文章自动创作与发布工具:从选题搜索、撰写、AI 配图、排版到发布草稿箱,一条命令搞定。可作为 [Claude Code](https://claude.ai/code) / Codex / Cursor 的 Skill,也可独立命令行调用。 - Network accessline 17
作为 Skill 安装(通过 [skills.sh](https://skills.sh)): - Network accessline 26
git clone https://github.com/jiji262/wechat-publisher.git cd wechat-publisher pip install requests pyyaml - Network accessline 56
generator: "baoyu-image-gen" # 或 baoyu-danger-gemini-web(Web 登录版 Gemini) gemini_proxy: base_url: "https://generativelanguage.googleapis.com" - Network accessline 57
[Credential-related source omitted] - Network accessline 58
base_url: "https://generativelanguage.googleapis.com" - Access to secretsline 59
[Credential-related source omitted] - Network accessline 66
在[微信公众平台](https://mp.weixin.qq.com) → 设置与开发 → 基本配置 获取 AppID / AppSecret,并把 `curl ifconfig.me` 得到的公网 IP 加入「IP 白名单」(否则报 `40164`)。验证连接: - Network accessline 146
|---|---| | `ConfigError: 未找到 wechat-publisher.yaml` | 复制 `.example` 并填值 | | `40164` IP 不在白名单 | `curl ifconfig.me` 取 IP,加入公众平台白名单 | - Network accessline 147
| `ConfigError: 未找到 wechat-publisher.yaml` | 复制 `.example` 并填值 | | `40164` IP 不在白名单 | `curl ifconfig.me` 取 IP,加入公众平台白名单 | | `40001` access_token 无效 | 检查 AppID / AppSecret | - Network accessline 148
| `40164` IP 不在白名单 | `curl ifconfig.me` 取 IP,加入公众平台白名单 | - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 158
[Credential-related source omitted]
SKILL.md
- Access to secretsline 86
[Credential-related source omitted] - Network accessline 88
- 报 `40164`:IP 白名单未配(`curl ifconfig.me` 拿公网 IP,去公众平台加白名单) - Network accessline 461
朱雀(https://matrix.tencent.com/ai-detect/)、GPTZero 等只作参考。各平台之间差异很大,规范的人类文本也会被误判,不因某个平台的百分比去重写;只改能指出具体句子和原因的地方。 - Access to secretsline 616
[Credential-related source omitted] - Network accessline 639
|---|---|---| | `ConfigError` | `wechat-publisher.yaml` 缺失或账号不存在 / 字段不全 | 检查文件是否存在、default 字段、app_id/app_secret | | `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | - Network accessline 640
| `ConfigError` | `wechat-publisher.yaml` 缺失或账号不存在 / 字段不全 | 检查文件是否存在、default 字段、app_id/app_secret | | `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | | `40001 access_token 无效` | token 过期或凭证错 | 检查 `wechat-publisher.yaml - Network accessline 641
| `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | - Access to secretsline 642
[Credential-related source omitted] - Access to secretsline 655
[Credential-related source omitted]
assets/image-styles/README.md
- Network accessline 359
暖橙 / 桃色渐变底 + 卡通人物场景 + 大白气泡 + 手绘装饰。每张卡像一页小漫画,讲一个小故事。 **对标公众号示例文章 [Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ)**。视觉有温度、带情绪、有人物在场,适合"给你讲一件事"感觉的内容。 - Network accessline 360
**对标公众号示例文章 [Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ)**。视觉有温度、带情绪、有人物在场,适合"给你讲一件事"感觉的内容。
assets/image-styles/illustrated-warm.json
- Network accessline 41
"article_inline": "Generate a warm illustrated scene in Chinese, 4:3 landscape. Warm peach-to-orange gradient background. Topic: '{image_subject}'. A cute cartoon character illustration in editorial illustration style (not anime, not Corpor - Network accessline 42
}, "example_reference": "https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ", "notes": "视觉指纹是'人物 + 场景 + 气泡 + 温度'。如果话题本身是冷的(数据 / 架构 / 协议),换成 hand-drawn-blue 或 data-chart。这个风格的卖点是'有人讲给你听'的感觉 —— 别用在不讲故事的内容上。" - Network accessline 43
"example_reference": "https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ",
assets/image-styles/infographic-blue.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, architecture/fl - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "冷调技术变体。适合需要展现理性/技术/商务气质的话题。要点里有具体数字、API 名字、版本号、架构名词时效果最好。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
assets/image-styles/infographic-dark.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape, dark-mode variant. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information bloc - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "深色变体。适合前沿模型、协议、安全、基建、赛博话题。亮黄+霓虹青的点缀非常抓眼,但不适合生活化/温暖话题。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
assets/image-styles/infographic-mint.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, checklist/steps - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "清新变体。适合生产力、工具、方法论、学习笔记类话题。比 infographic-warm 更明快,比 infographic-blue 更柔和。不适合严肃商业分析或赛博话题。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
assets/image-styles/infographic-warm.json
- Network accessline 54
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, arrows/labels/m - Network accessline 55
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "**贴图模式的默认风格**。4 种 infographic-* 共享的是高密度手绘信息图原则,不是固定角色或固定版式。要点内容越具体,AI 渲染出的信息图越真实(数字、版本号、对比、步骤名都会被渲染成子卡片的文字);如果要点只是一句抽象观点,AI 会编具体内容,不如用 `marker-lime` - Network accessline 56
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
assets/theme-previews/academic-paper.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 14px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.35; font-style: italic; font-family: 'Times New Roman', serif;">§ § §</p> <h2 style="font-size: 18px; font- - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1a1a1a; margin: 40px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2 - Network accessline 43
<p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a1a1a; text-decoration: none; border-bottom: 1px solid #1a1a1a;">官方博客</a>其实
assets/theme-previews/business-navy.html
- Network accessline 41
<p style="text-align: center; color: #c9a74a; letter-spacing: 16px; font-size: 12px; margin: 38px 0; user-select: none;">◇ ◇ ◇</p> <h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; border-left: 4px solid #c9a74a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-ali - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a233a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a4480; text-decoration: none; border-bottom: 1px solid rgba(26,68,128,0.4);"
assets/theme-previews/elegant-ink.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.45;">· · ·</p> <h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4p - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4px 0 10px 0; border-bottom: 1px solid #1a1a1a; line-height: 1.55; letter-spacing: 1.5px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-al - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #1d1a17; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #6a2828; text-decoration: none; border-bottom: 1px solid rgba(106,40,40,0.5);">
assets/theme-previews/girly-pink.html
- Network accessline 41
<p style="text-align: center; color: #ff87c2; letter-spacing: 14px; font-size: 14px; margin: 36px 0; user-select: none; opacity: 0.7;">♡ ♡ ♡</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8px 18px; background: linear-gradient(90deg, #ffe4f0 0%, transparent 100%); border-radius: 16px; line-height: 1.5; letter-spacing: 0.3px; display: - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #4a2a3e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b83f7a; text-decoration: none; border-bottom: 1px solid rgba(184,63,122,0.4);"
assets/theme-previews/ink-wash.html
- Network accessline 41
<p style="text-align: center; color: #8b2a1f; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.5;">山 水 间</p> <h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0 - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0; line-height: 1.6; letter-spacing: 2px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05; - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b2a1f; text-decoration: none; border-bottom: 1px solid rgba(139,42,31,0.5);"
assets/theme-previews/magazine-grid.html
- Network accessline 41
<p style="text-align: center; color: #a0330f; letter-spacing: 8px; font-size: 18px; margin: 46px 0; user-select: none; font-style: italic; font-family: Georgia, serif;">· · ·</p> <h2 style="font-size: 12px; font-weight: 700; color: #a0330 - Network accessline 42
<h2 style="font-size: 12px; font-weight: 700; color: #a0330f; margin: 44px 0 18px; padding: 0 0 12px 0; border-bottom: 1px solid #a0330f; letter-spacing: 4px; text-transform: uppercase; line-height: 1.4;">结论</h2> <p style="margin: 16px 0; t - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f1a14; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #a0330f; text-decoration: none; border-bottom: 1px solid rgba(160,51,15,0.5);"
assets/theme-previews/minimal-bw.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 10px; margin: 36px 0; user-select: none; opacity: 0.35;">— — —</p> <h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: - Network accessline 42
<h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: 18px 0 0 0; border-top: 2px solid #000000; letter-spacing: 3px; text-transform: uppercase; line-height: 1.5;">结论</h2> <p style="margin: 16px 0; te - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
assets/theme-previews/minimal-mono.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 11px; margin: 34px 0; user-select: none; opacity: 0.4; font-family: 'JetBrains Mono', monospace;">/ / /</p> <h2 style="font-size: 17px; font-weight: 800; color: - Network accessline 42
<h2 style="font-size: 17px; font-weight: 800; color: #000000; margin: 36px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.8 - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
assets/theme-previews/mint-fresh.html
- Network accessline 41
<p style="text-align: center; color: #4fb896; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.6;">✿ ✿ ✿</p> <h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8px 14px; background: #e4f3ec; border-radius: 10px; line-height: 1.5; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="margin: 16p - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f3a33; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #0f5a4a; text-decoration: none; border-bottom: 1px solid rgba(15,90,74,0.4);">官
assets/theme-previews/news-bold.html
- Network accessline 41
<p style="text-align: center; color: #d4231c; letter-spacing: 8px; font-size: 13px; margin: 34px 0; user-select: none; font-weight: 800;">/ / NEWS / /</p> <h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; pa - Network accessline 42
<h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; padding: 8px 14px; background: #1a1a1a; border-left: 6px solid #d4231c; line-height: 1.45; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="m - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #d4231c; text-decoration: none; border-bottom: 1px solid #d4231c;">官方博客</a>其实早
assets/theme-previews/refined-blue.html
- Network accessline 41
<p style="text-align: center; color: #c7d2fe; letter-spacing: 14px; font-size: 11px; margin: 36px 0; user-select: none;">● ● ●</p> <h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14 - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #2e5bff; background: linear-gradient(90deg, #eef2ff 0%, #ffffff 70%); border-radius: 0 6px 6px 0; line-h - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #242832; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #2e5bff; text-decoration: none; border-bottom: 1px solid rgba(46,91,255,0.35);
assets/theme-previews/sage-premium.html
- Network accessline 41
<p style="text-align: center; color: #b8c5bb; letter-spacing: 14px; font-size: 12px; margin: 36px 0; user-select: none;">◆ ◆ ◆</p> <h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #5c7a65; background: linear-gradient(90deg, #e8ede3 0%, transparent 80%); border-radius: 0 4px 4px 0; li - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1e2a21; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #3a4f3f; text-decoration: none; border-bottom: 1px solid rgba(58,79,63,0.4); pa
assets/theme-previews/sample.md
- Network accessline 64
说实话,这种范式转移背后,[官方博客](https://www.anthropic.com)其实早就埋过伏笔。Claude 付费用户,**正在变成另一个物种**。
assets/theme-previews/sunset-coral.html
- Network accessline 41
<p style="text-align: center; color: #ff6b4a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">✦ ✦ ✦</p> <h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10p - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10px 14px; background: linear-gradient(90deg, #ffe8dd 0%, #ffe8dd 3px, #fff3eb 3px, transparent 100%); border-radius: 4px; line-height: 1.5; letter- - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #2b1a10; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #c43a1a; text-decoration: none; border-bottom: 1px solid rgba(196,58,26,0.4);
assets/theme-previews/warm-editorial.html
- Network accessline 41
<p style="text-align: center; color: #c9a27d; letter-spacing: 12px; font-size: 14px; margin: 36px 0; user-select: none;">❦ ❦ ❦</p> <h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; b - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; border-bottom: 2px solid #c9a27d; line-height: 1.5;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a2e26; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b4513; text-decoration: none; border-bottom: 1px solid rgba(139,69,19,0.4);"
assets/theme-previews/warm-orange.html
- Network accessline 41
<p style="text-align: center; color: #e58b3a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">◉ ◉ ◉</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4px 0 4px 14px; border-left: 4px solid #e58b3a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-a - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #3a2a1e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b5601c; text-decoration: none; border-bottom: 1px solid rgba(181,96,28,0.4);">
docs/academic-paper.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 14px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.35; font-style: italic; font-family: 'Times New Roman', serif;">§ § §</p> <h2 style="font-size: 18px; font- - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1a1a1a; margin: 40px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2 - Network accessline 43
<p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a1a1a; text-decoration: none; border-bottom: 1px solid #1a1a1a;">官方博客</a>其实
docs/business-navy.html
- Network accessline 41
<p style="text-align: center; color: #c9a74a; letter-spacing: 16px; font-size: 12px; margin: 38px 0; user-select: none;">◇ ◇ ◇</p> <h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; border-left: 4px solid #c9a74a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-ali - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a233a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a4480; text-decoration: none; border-bottom: 1px solid rgba(26,68,128,0.4);"
docs/elegant-ink.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.45;">· · ·</p> <h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4p - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4px 0 10px 0; border-bottom: 1px solid #1a1a1a; line-height: 1.55; letter-spacing: 1.5px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-al - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #1d1a17; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #6a2828; text-decoration: none; border-bottom: 1px solid rgba(106,40,40,0.5);">
docs/girly-pink.html
- Network accessline 41
<p style="text-align: center; color: #ff87c2; letter-spacing: 14px; font-size: 14px; margin: 36px 0; user-select: none; opacity: 0.7;">♡ ♡ ♡</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8px 18px; background: linear-gradient(90deg, #ffe4f0 0%, transparent 100%); border-radius: 16px; line-height: 1.5; letter-spacing: 0.3px; display: - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #4a2a3e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b83f7a; text-decoration: none; border-bottom: 1px solid rgba(184,63,122,0.4);"
docs/ink-wash.html
- Network accessline 41
<p style="text-align: center; color: #8b2a1f; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.5;">山 水 间</p> <h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0 - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0; line-height: 1.6; letter-spacing: 2px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05; - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b2a1f; text-decoration: none; border-bottom: 1px solid rgba(139,42,31,0.5);"
docs/magazine-grid.html
- Network accessline 41
<p style="text-align: center; color: #a0330f; letter-spacing: 8px; font-size: 18px; margin: 46px 0; user-select: none; font-style: italic; font-family: Georgia, serif;">· · ·</p> <h2 style="font-size: 12px; font-weight: 700; color: #a0330 - Network accessline 42
<h2 style="font-size: 12px; font-weight: 700; color: #a0330f; margin: 44px 0 18px; padding: 0 0 12px 0; border-bottom: 1px solid #a0330f; letter-spacing: 4px; text-transform: uppercase; line-height: 1.4;">结论</h2> <p style="margin: 16px 0; t - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f1a14; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #a0330f; text-decoration: none; border-bottom: 1px solid rgba(160,51,15,0.5);"
docs/minimal-bw.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 10px; margin: 36px 0; user-select: none; opacity: 0.35;">— — —</p> <h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: - Network accessline 42
<h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: 18px 0 0 0; border-top: 2px solid #000000; letter-spacing: 3px; text-transform: uppercase; line-height: 1.5;">结论</h2> <p style="margin: 16px 0; te - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
docs/minimal-mono.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 11px; margin: 34px 0; user-select: none; opacity: 0.4; font-family: 'JetBrains Mono', monospace;">/ / /</p> <h2 style="font-size: 17px; font-weight: 800; color: - Network accessline 42
<h2 style="font-size: 17px; font-weight: 800; color: #000000; margin: 36px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.8 - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
docs/mint-fresh.html
- Network accessline 41
<p style="text-align: center; color: #4fb896; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.6;">✿ ✿ ✿</p> <h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8px 14px; background: #e4f3ec; border-radius: 10px; line-height: 1.5; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="margin: 16p - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f3a33; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #0f5a4a; text-decoration: none; border-bottom: 1px solid rgba(15,90,74,0.4);">官
docs/news-bold.html
- Network accessline 41
<p style="text-align: center; color: #d4231c; letter-spacing: 8px; font-size: 13px; margin: 34px 0; user-select: none; font-weight: 800;">/ / NEWS / /</p> <h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; pa - Network accessline 42
<h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; padding: 8px 14px; background: #1a1a1a; border-left: 6px solid #d4231c; line-height: 1.45; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="m - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #d4231c; text-decoration: none; border-bottom: 1px solid #d4231c;">官方博客</a>其实早
docs/refined-blue.html
- Network accessline 41
<p style="text-align: center; color: #c7d2fe; letter-spacing: 14px; font-size: 11px; margin: 36px 0; user-select: none;">● ● ●</p> <h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14 - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #2e5bff; background: linear-gradient(90deg, #eef2ff 0%, #ffffff 70%); border-radius: 0 6px 6px 0; line-h - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #242832; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #2e5bff; text-decoration: none; border-bottom: 1px solid rgba(46,91,255,0.35);
docs/sage-premium.html
- Network accessline 41
<p style="text-align: center; color: #b8c5bb; letter-spacing: 14px; font-size: 12px; margin: 36px 0; user-select: none;">◆ ◆ ◆</p> <h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #5c7a65; background: linear-gradient(90deg, #e8ede3 0%, transparent 80%); border-radius: 0 4px 4px 0; li - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1e2a21; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #3a4f3f; text-decoration: none; border-bottom: 1px solid rgba(58,79,63,0.4); pa
docs/sunset-coral.html
- Network accessline 41
<p style="text-align: center; color: #ff6b4a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">✦ ✦ ✦</p> <h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10p - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10px 14px; background: linear-gradient(90deg, #ffe8dd 0%, #ffe8dd 3px, #fff3eb 3px, transparent 100%); border-radius: 4px; line-height: 1.5; letter- - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #2b1a10; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #c43a1a; text-decoration: none; border-bottom: 1px solid rgba(196,58,26,0.4);
docs/warm-editorial.html
- Network accessline 41
<p style="text-align: center; color: #c9a27d; letter-spacing: 12px; font-size: 14px; margin: 36px 0; user-select: none;">❦ ❦ ❦</p> <h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; b - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; border-bottom: 2px solid #c9a27d; line-height: 1.5;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a2e26; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b4513; text-decoration: none; border-bottom: 1px solid rgba(139,69,19,0.4);"
docs/warm-orange.html
- Network accessline 41
<p style="text-align: center; color: #e58b3a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">◉ ◉ ◉</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4px 0 4px 14px; border-left: 4px solid #e58b3a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-a - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #3a2a1e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b5601c; text-decoration: none; border-bottom: 1px solid rgba(181,96,28,0.4);">
references/api_reference.md
- Network accessline 7
- **URL**: `https://api.weixin.qq.com/cgi-bin/token` - Access to secretsline 15
[Credential-related source omitted] - Network accessline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Network accessline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Network accessline 39
{"url": "https://mmbiz.qpic.cn/..."} - Network accessline 45
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted]
references/multi-platform-sync.md
- Network accessline 7
底层基于 [Wechatsync](https://github.com/wechatsync/Wechatsync),复用 Chrome 扩展里各平台已登录的 Cookie,不经过任何第三方服务器。
references/newspic-mode.md
- Network accessline 5
- 单一主题的"拆卡"式讲解(示例:[Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ))
references/toutiao-publish-research.md
- Network accessline 27
1. **抖音开放平台的「头条内容发布」明确排除图文** 原文:「仅支持小视频格式,暂不支持发布头条文章、微头条等」 来源:https://open.douyin.com/platform/resource/docs/ability/content-management/toutiao-publish-solution - Network accessline 29
来源:https://open.douyin.com/platform/resource/docs/ability/content-management/toutiao-publish-solution - Network accessline 32
原文:「目前仅支持【新闻媒体、国家机构】类账号接入网站内容源」 机制是平台定期来拉你的 RSS,不是你 push。 来源:https://mp.toutiao.com/docs/baike/2789/20623/ - Network accessline 34
来源:https://mp.toutiao.com/docs/baike/2789/20623/ - Network accessline 44
我在页面里直接 `fetch('/mp/agw/article/publish', {credentials:'include'})`,**成功**,返回 `{code:0, message:"保存成功"}`。 - Network accessline 62
**所以"cookie 就够了"是假象** —— 任何在页面里发的请求都被 SDK 免费签好了名。 从 Python / curl 发同样的请求,缺 `a_bogus` 就会被拒。`a_bogus` 是 JSVMP 现算的, - Network accessline 63
从 Python / curl 发同样的请求,缺 `a_bogus` 就会被拒。`a_bogus` 是 JSVMP 现算的, - Network accessline 73
他们掌握全部接口细节,最后仍然选择挂一个真实 tab 借页面的签名能力。 来源:https://github.com/wechatsync/Wechatsync - Network accessline 74
来源:https://github.com/wechatsync/Wechatsync - Network accessline 108
git clone --filter=blob:none https://github.com/wechatsync/Wechatsync.git /tmp/ws - Network accessline 147
POST https://mp.toutiao.com/spice/image - Network accessline 167
POST https://mp.toutiao.com/mp/agw/article/publish - Network accessline 213
草稿回链:`https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=<pgc_id>` - Network accessline 217
**图片必须先上传,正文里不能出现外链图片。** 实测直接塞 `<img src="https://外站/x.jpg">`: - Network accessline 262
页面编辑器是 **`syl-editor`**(字节开源的 [Syllepsis](https://github.com/bytedance/syllepsis),ProseMirror 内核)。 - Network accessline 279
粘贴 `<img src="https://外站/图.jpg">` 时,编辑器自己发了: - Network accessline 314
| 项目 | star | 最后提交 | 路线 | 图文 | |---|---|---|---|---| | [mf-yang/toutiao-ops](https://github.com/mf-yang/toutiao-ops) | 46 | 2026-05 | Playwright + ClipboardEvent 粘贴 | ✅ | - Network accessline 315
|---|---|---|---|---| | [mf-yang/toutiao-ops](https://github.com/mf-yang/toutiao-ops) | 46 | 2026-05 | Playwright + ClipboardEvent 粘贴 | ✅ | | [wechatsync/Wechatsync](https://github.com/wechatsync/Wechatsync) | 6308 | 2026-05 | 扩展 + MAIN wor - Network accessline 316
| [mf-yang/toutiao-ops](https://github.com/mf-yang/toutiao-ops) | 46 | 2026-05 | Playwright + ClipboardEvent 粘贴 | ✅ | - Network accessline 317
| [wechatsync/Wechatsync](https://github.com/wechatsync/Wechatsync) | 6308 | 2026-05 | 扩展 + MAIN world 调接口 | ⚠<U+FE0F> 源码私有化,装扩展仍可用(无封面) | - Network accessline 318
| [doocs/cose](https://github.com/doocs/cose) | 746 | 2026-06 | 扩展 DOM 注入,只填不发 | ✅ 但不处理图片 | - Network accessline 319
| [chemany/toutiao_mcp_server](https://github.com/chemany/toutiao_mcp_server) | 68 | 2025-06 | Selenium + cookie 持久化 | ✅ | - Network accessline 320
| [JessYan0913/toutiao-mcp](https://github.com/JessYan0913/toutiao-mcp) | 0 | 2026-08 | Puppeteer 扫码登录 | 正文仅纯文本 | - Access to secretsline 365
[Credential-related source omitted] - Network accessline 413
两条结论同时成立: 1. **签名是硬要求** —— 所以纯 Python / curl 直接打发布接口不行 - Network accessline 414
1. **签名是硬要求** —— 所以纯 Python / curl 直接打发布接口不行 - Network accessline 434
[5/6] 上传配图与封面 正文图 960x540,封面已上传 [6/6] 写入草稿 ✅ 保存成功 草稿链接: https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=... - Network accessline 436
草稿链接: https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=... - Access to secretsline 447
[Credential-related source omitted] - Network accessline 457
1. spawn Chrome --remote-debugging-port=<随机空闲端口> --user-data-dir=<独立 profile> ← 登录态就靠它持久化 2. 轮询 http://127.0.0.1:<port>/json/version 拿 webSocketDebuggerUrl - Network accessline 458
--user-data-dir=<独立 profile> ← 登录态就靠它持久化 2. 轮询 http://127.0.0.1:<port>/json/version 拿 webSocketDebuggerUrl 3. Target.getTargets → 找 mp.toutiao.com 的 page → Target.attachToTarget{flatten:true} - Network accessline 459
2. 轮询 http://127.0.0.1:<port>/json/version 拿 webSocketDebuggerUrl
scripts/ai_score.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/api.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 20
[Credential-related source omitted] - Network accessline 23
API_TIMEOUT_SEC = 30 API_RETRIES = 2 API_BASE = "https://api.weixin.qq.com/cgi-bin" - Network accessline 25
API_BASE = "https://api.weixin.qq.com/cgi-bin" - Network accessline 52
for attempt in range(retries + 1): try: resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) - Network accessline 53
try: resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) if 500 <= resp.status_code < 600 and attempt < retries: - Network accessline 54
resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 212
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Access to secretsline 259
[Credential-related source omitted] - Access to secretsline 260
[Credential-related source omitted]
scripts/article_meta.py
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/client.ts
- Executable scriptline 1
Executable file - Access to secretsline 16
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted] - Access to secretsline 133
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 273
[Credential-related source omitted] - Access to secretsline 291
[Credential-related source omitted] - Network accessline 426
const urls = collect_strings(cand, (s) => s.startsWith('https://lh3.googleusercontent.com/gg-dl/'), 1); - Network accessline 458
if (generated_images.length === 0) { const urls = collect_strings(img_candidate, (s) => s.startsWith('https://lh3.googleusercontent.com/gg-dl/'), 4); - Network accessline 459
const urls = collect_strings(img_candidate, (s) => s.startsWith('https://lh3.googleusercontent.com/gg-dl/'), 4); - Access to secretsline 505
[Credential-related source omitted] - Access to secretsline 508
[Credential-related source omitted]
scripts/baoyu_danger_gemini_web/gemini-webapi/components/gem-mixin.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/components/index.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/constants.ts
- Network accessline 1
export const Endpoint = { GOOGLE: 'https://www.google.com', - Executable scriptline 1
Executable file - Network accessline 2
GOOGLE: 'https://www.google.com', - Network accessline 3
INIT: 'https://gemini.google.com/app', - Network accessline 4
GENERATE: 'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 5
'https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate', - Network accessline 6
ROTATE_COOKIES: 'https://accounts.google.com/RotateCookies', - Network accessline 7
UPLOAD: 'https://content-push.googleapis.com/upload', - Network accessline 8
BATCH_EXEC: 'https://gemini.google.com/_/BardChatUi/data/batchexecute', - Network accessline 22
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8', Host: 'gemini.google.com', Origin: 'https://gemini.google.com', - Network accessline 23
Host: 'gemini.google.com', Origin: 'https://gemini.google.com', Referer: 'https://gemini.google.com/', - Network accessline 24
Origin: 'https://gemini.google.com', - Network accessline 25
Referer: 'https://gemini.google.com/',
scripts/baoyu_danger_gemini_web/gemini-webapi/exceptions.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/index.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/types/candidate.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/types/gem.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/types/grpc.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/types/image.ts
- Executable scriptline 1
Executable file - Network accessline 36
'User-Agent': 'Mozilla/5.0', Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', - Network accessline 37
Accept: 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8', Referer: 'https://gemini.google.com/', }; - Network accessline 38
Referer: 'https://gemini.google.com/',
scripts/baoyu_danger_gemini_web/gemini-webapi/types/index.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/types/modeloutput.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/cookie-file.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/decorators.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/get-access-token.ts
- Executable scriptline 1
Executable file - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted]
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/http.ts
- Executable scriptline 1
Executable file - Network accessline 44
): Promise<Response> { const { timeout_ms, ...rest } = init; if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 46
if (!timeout_ms || timeout_ms <= 0) return fetch(url, rest); - Network accessline 49
const t = setTimeout(() => ctl.abort(), timeout_ms); try { return await fetch(url, { ...rest, signal: ctl.signal }); - Network accessline 50
try { return await fetch(url, { ...rest, signal: ctl.signal }); } finally { - Network accessline 51
return await fetch(url, { ...rest, signal: ctl.signal });
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/index.ts
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.ts
- Executable scriptline 1
Executable file - Network accessline 153
while (Date.now() - start < timeoutMs) { try { const res = await fetch_with_timeout(`http://127.0.0.1:${port}/json/version`, { timeout_ms: 5_000 }); - Network accessline 154
try { const res = await fetch_with_timeout(`http://127.0.0.1:${port}/json/version`, { timeout_ms: 5_000 }); if (!res.ok) throw new Error(`status=${res.status}`); - Network accessline 155
const res = await fetch_with_timeout(`http://127.0.0.1:${port}/json/version`, { timeout_ms: 5_000 }); - Network accessline 173
'--no-default-browser-check', '--disable-popup-blocking', 'https://gemini.google.com/app', - Network accessline 174
'--disable-popup-blocking', 'https://gemini.google.com/app', ]; - Network accessline 175
'https://gemini.google.com/app', - Network accessline 220
const { targetId } = await cdp.send<{ targetId: string }>('Target.createTarget', { url: 'https://gemini.google.com/app', - Network accessline 221
url: 'https://gemini.google.com/app', - Network accessline 235
const { cookies } = await cdp.send<{ cookies: Array<{ name: string; value: string }> }>( 'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, - Network accessline 236
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] }, { sessionId, timeoutMs: 10_000 }, - Network accessline 237
{ urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] },
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/logger.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/parsing.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/paths.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/rotate-1psidts.ts
- Executable scriptline 1
Executable file
scripts/baoyu_danger_gemini_web/gemini-webapi/utils/upload-file.ts
scripts/baoyu_danger_gemini_web/main.ts
- Executable scriptline 1
Executable file
scripts/baoyu_image_gen.ts
scripts/baoyu_image_gen_core.ts
- Executable scriptline 1
Executable file - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Network accessline 212
args: CliArgs ): Promise<Uint8Array> { const baseURL = (process.env.OPENAI_BASE_URL || "https://api.openai.com/v1").replace(/\/$/, ""); - Network accessline 213
[Credential-related source omitted] - Network accessline 214
const baseURL = (process.env.OPENAI_BASE_URL || "https://api.openai.com/v1").replace(/\/$/, ""); - Access to secretsline 215
[Credential-related source omitted] - Access to secretsline 216
[Credential-related source omitted] - Network accessline 225
const res = await fetch(`${baseURL}/images/generations`, { - Access to secretsline 247
[Credential-related source omitted] - Access to secretsline 249
[Credential-related source omitted] - Network accessline 266
const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 383
async function downloadImage(url: string): Promise<Uint8Array> { const res = await fetch(url); - Network accessline 384
const res = await fetch(url);
scripts/config.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted] - Access to secretsline 141
[Credential-related source omitted] - Network accessline 282
# 贴图(newspic)模式的兜底风格 —— 高密度手绘水彩信息图,对标 # https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA - Network accessline 283
# https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA
scripts/fidelity_check.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/fingerprint.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/fingerprint_render.py
- Executable scriptline 1
Executable file
scripts/generate_image.py
scripts/html_converter.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/humanize_log.py
- Executable scriptline 1
Executable file
scripts/image_handler.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 151
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_re - Network accessline 152
} resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_redirects=True) resp.raise_for_status() - Network accessline 153
resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_redirects=True) - Access to secretsline 432
[Credential-related source omitted]
scripts/multi_publish.py
scripts/newspic_build.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/publish.py
scripts/source_check.py
- Executable scriptline 1
Executable file
scripts/sync_pages.sh
- Executable scriptline 1
#!/usr/bin/env bash
scripts/toutiao_cdp.ts
- Executable scriptline 1
#!/usr/bin/env bun - Network accessline 5
* 为什么需要浏览器:mp.toutiao.com 的发布接口强制 msToken/a_bogus 签名, * 由页面里的字节风控 SDK(bdms.js)劫持 window.fetch 现算。实测对照: * 页面 fetch(自动签名) → code 0 保存成功 - Network accessline 6
* 由页面里的字节风控 SDK(bdms.js)劫持 window.fetch 现算。实测对照: * 页面 fetch(自动签名) → code 0 保存成功 * iframe 原生 fetch(无签名) → code 7050 保存失败 - Network accessline 7
* 页面 fetch(自动签名) → code 0 保存成功 - Network accessline 8
* iframe 原生 fetch(无签名) → code 7050 保存失败 - Possible obfuscationline 46
const bin = atob(${JSON.stringify(b64)}); - Network accessline 49
const fd = new FormData(); fd.append('image', new Blob([buf]), 'image.jpg'); const r = await fetch('https://mp.toutiao.com/spice/image?${query}', - Network accessline 50
fd.append('image', new Blob([buf]), 'image.jpg'); const r = await fetch('https://mp.toutiao.com/spice/image?${query}', {method:'POST', credentials:'include', body: fd}); - Network accessline 51
const r = await fetch('https://mp.toutiao.com/spice/image?${query}', - Network accessline 106
const p = new URLSearchParams(); for (const [k, v] of Object.entries(fields)) p.set(k, v); const r = await fetch('https://mp.toutiao.com/mp/agw/article/publish?source=mp&type=article&aid=1231&mp_publish_ab_val=0', - Network accessline 107
for (const [k, v] of Object.entries(fields)) p.set(k, v); const r = await fetch('https://mp.toutiao.com/mp/agw/article/publish?source=mp&type=article&aid=1231&mp_publish_ab_val=0', {method:'POST', credentials:'include', - Network accessline 108
const r = await fetch('https://mp.toutiao.com/mp/agw/article/publish?source=mp&type=article&aid=1231&mp_publish_ab_val=0', - Network accessline 117
return { pgc_id: String(res.pgc_id), draft_url: `https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=${res.pgc_id}`, - Network accessline 118
pgc_id: String(res.pgc_id), draft_url: `https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=${res.pgc_id}`, } - Network accessline 119
draft_url: `https://mp.toutiao.com/profile_v4/graphic/publish?pgc_id=${res.pgc_id}`,
scripts/toutiao_cdp_client.ts
- Executable scriptline 1
Executable file - Network accessline 15
const PUBLISH_PAGE = 'https://mp.toutiao.com/profile_v4/graphic/publish?from=toutiao_pc' - Network accessline 102
while (Date.now() < deadline) { try { const r = await fetch(`http://127.0.0.1:${port}/json/version`) - Network accessline 103
try { const r = await fetch(`http://127.0.0.1:${port}/json/version`) if (r.ok) { - Network accessline 104
const r = await fetch(`http://127.0.0.1:${port}/json/version`) - Network accessline 193
return this.evaluate<any>(`(async () => { try { const r = await fetch('https://mp.toutiao.com/mp/agw/media/get_media_info', {credentials:'include'}); - Network accessline 194
try { const r = await fetch('https://mp.toutiao.com/mp/agw/media/get_media_info', {credentials:'include'}); const j = await r.json(); - Network accessline 195
const r = await fetch('https://mp.toutiao.com/mp/agw/media/get_media_info', {credentials:'include'});
scripts/toutiao_inline.py
- Executable scriptline 1
Executable file
scripts/toutiao_publish.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 62
except FileNotFoundError: raise ToutiaoPublishError( "找不到 bun。请先安装:curl -fsSL https://bun.sh/install | bash" - Network accessline 63
raise ToutiaoPublishError( "找不到 bun。请先安装:curl -fsSL https://bun.sh/install | bash" ) from None - Dangerous shell operationline 64
"找不到 bun。请先安装:curl -fsSL https://bun.sh/install | bash" - Network accessline 64
"找不到 bun。请先安装:curl -fsSL https://bun.sh/install | bash"
scripts/toutiao_render.py
- Executable scriptline 1
Executable file
scripts/wechat_api.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 7
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 103
[Credential-related source omitted]
scripts/wechat_token.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 3
[Credential-related source omitted] - Network accessline 23
TOKEN_SAFETY_MARGIN_SEC = 300 # 提前 5 分钟刷新 TOKEN_TIMEOUT_SEC = 10 TOKEN_API_URL = "https://api.weixin.qq.com/cgi-bin/token" - Network accessline 25
TOKEN_API_URL = "https://api.weixin.qq.com/cgi-bin/token" - Network accessline 79
for attempt in range(retries + 1): try: resp = requests.get( - Network accessline 80
try: resp = requests.get( TOKEN_API_URL, - Network accessline 81
resp = requests.get( - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted]
scripts/zh_chars.py
- Executable scriptline 1
Executable file
scripts/zh_finders.py
- Executable scriptline 1
Executable file
scripts/zh_markers.py
- Executable scriptline 1
Executable file
scripts/zh_rules.py
- Executable scriptline 1
Executable file
scripts/zh_sources.py
- Executable scriptline 1
Executable file
scripts/zh_tells.py
- Executable scriptline 1
Executable file
scripts/zh_text.py
- Executable scriptline 1
Executable file
tests/__init__.py
- Executable scriptline 1
Executable file
tests/conftest.py
- Executable scriptline 1
Executable file
tests/fixtures/human_public_domain.md
- Network accessline 3
author: 朱自清(1898-1948) first_published: 1925-11-22《文学周报》第 200 期 text_source: 中文维基文库 https://zh.wikisource.org/wiki/背影 (简体转换;删除了网页复制带来的零宽空格) - Network accessline 4
first_published: 1925-11-22《文学周报》第 200 期 text_source: 中文维基文库 https://zh.wikisource.org/wiki/背影 (简体转换;删除了网页复制带来的零宽空格) license: 公有领域。作者 1948 年逝世,超过 50 年;作品 1931 年前出版,在美国亦属公有领域 - Network accessline 5
text_source: 中文维基文库 https://zh.wikisource.org/wiki/背影 (简体转换;删除了网页复制带来的零宽空格)
tests/test_ai_score.py
- Executable scriptline 1
Executable file
tests/test_config.py
- Executable scriptline 1
Executable file - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Network accessline 92
[Credential-related source omitted] - Network accessline 93
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Network accessline 94
base_url: "https://api.example/v1" - Network accessline 96
[Credential-related source omitted] - Network accessline 97
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Network accessline 98
base_url: "https://proxy.example" - Network accessline 108
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Network accessline 109
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Network accessline 110
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted]
tests/test_config_integration.py
- Executable scriptline 1
Executable file - Network accessline 37
generator: "baoyu-danger-gemini-web" gemini_proxy: base_url: "https://skill-root.example" - Network accessline 38
[Credential-related source omitted] - Network accessline 39
base_url: "https://skill-root.example" - Access to secretsline 40
[Credential-related source omitted] - Network accessline 60
generator: "baoyu-image-gen" gemini_proxy: base_url: "https://wrong-cwd.example" - Network accessline 61
[Credential-related source omitted] - Network accessline 62
base_url: "https://wrong-cwd.example" - Access to secretsline 63
[Credential-related source omitted] - Network accessline 84
generator: "baoyu-image-gen" gemini_proxy: base_url: "https://wrong-home.example" - Network accessline 85
[Credential-related source omitted] - Network accessline 86
base_url: "https://wrong-home.example" - Access to secretsline 87
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Network accessline 165
assert result.stdout.strip() == ( '{"provider":"gemini-proxy","baseUrl":"https://skill-root.example",' - Network accessline 166
'{"provider":"gemini-proxy","baseUrl":"https://skill-root.example",' - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 221
[Credential-related source omitted] - Access to secretsline 223
[Credential-related source omitted] - Access to secretsline 262
[Credential-related source omitted] - Access to secretsline 319
[Credential-related source omitted] - Access to secretsline 321
[Credential-related source omitted]
tests/test_fidelity_check.py
- Executable scriptline 1
Executable file - Network accessline 70
linked = "官方原话是 \"too cheap to meter\",见 https://example.com/pricing 。\n" - Network accessline 76
@pytest.mark.parametrize("tail", ["详见 https://a.com/b。后面还有一句。\n", "命令是 `echo 好。` 就行。\n"]) - Network accessline 79
md = "官方原话是 \"too cheap to meter\",见 https://example.com/pricing 。\n\n" + tail
tests/test_fingerprint.py
- Executable scriptline 1
Executable file
tests/test_fix2_gates.py
tests/test_fix2_rules.py
- Executable scriptline 1
Executable file - Network accessline 125
assert ok("见brief第4行,群聊截图") assert ok("出处 brief materials 第一条") assert ok("见 https://example.com/post") - Network accessline 126
assert ok("出处 brief materials 第一条") assert ok("见 https://example.com/post") assert ok("见 issue #12 里作者原话") - Network accessline 127
assert ok("见 https://example.com/post")
tests/test_html_converter.py
- Executable scriptline 1
Executable file - Network accessline 203
md = "" - Network accessline 206
assert "<img" in html assert "https://example.com/img.png" in html - Network accessline 207
assert "https://example.com/img.png" in html - Network accessline 213
md = "参考 [文档](https://example.com/doc)" - Network accessline 216
assert '<a ' in html assert 'https://example.com/doc' in html - Network accessline 217
assert 'https://example.com/doc' in html
tests/test_humanize_log.py
- Executable scriptline 1
Executable file - Network accessline 75
assert HL.uncovered(many, log, han=6000) == [] src = [{**m, "id": "unsourced_quote"} for m in many] src_log = log.replace("fake_reaction", "unsourced_quote").replace(REASON, "见 https://example.com/thread 原帖") - Network accessline 76
src = [{**m, "id": "unsourced_quote"} for m in many] src_log = log.replace("fake_reaction", "unsourced_quote").replace(REASON, "见 https://example.com/thread 原帖") assert HL.uncovered(src, src_log, han=1500) == [] - Network accessline 77
src_log = log.replace("fake_reaction", "unsourced_quote").replace(REASON, "见 https://example.com/thread 原帖") - Network accessline 122
("brief L2 用户提供", False), # 指向 topic 行,和命中对不上 ("brief L12 用户提供", False), # 行号越界 ("https://example.com/post 原文", False), # 链接证明不了是用户亲历 - Network accessline 123
("brief L12 用户提供", False), # 行号越界 ("https://example.com/post 原文", False), # 链接证明不了是用户亲历 ("research.md 里的访谈记录", False), ("issue #6235 的讨论", False), ("@someone 在推上说的", False), - Network accessline 124
("https://example.com/post 原文", False), # 链接证明不了是用户亲历 - Network accessline 136
@pytest.mark.parametrize("reason,ok", [ ("https://example.com/post 原文", True), ("issue #6235 的讨论", True), ("@someone 在推上说的", True), - Network accessline 137
("https://example.com/post 原文", True), ("issue #6235 的讨论", True), ("@someone 在推上说的", True), - Network accessline 175
]) def test_parse_brief_yaml_variants(fm): b = HL.parse_brief(f"---\n{fm}materials: # 来源\n - 文档 | https://x.y\n---\n") - Network accessline 176
def test_parse_brief_yaml_variants(fm): b = HL.parse_brief(f"---\n{fm}materials: # 来源\n - 文档 | https://x.y\n---\n") assert b["experiences"] == ["上周迁了 Redis"] - Network accessline 177
b = HL.parse_brief(f"---\n{fm}materials: # 来源\n - 文档 | https://x.y\n---\n")
tests/test_instruction_guard.py
- Executable scriptline 1
Executable file
tests/test_publish_gate.py
- Executable scriptline 1
Executable file - Network accessline 112
state, _ = fake_score state["result"] = _report(advisory=[ADVISORY_ITEM]) row = f"| neg_contrast | 9 | {ADVISORY_ITEM['excerpt']} | 保留 | 官方 changelog 原文 https://example.com |\n" - Network accessline 113
state["result"] = _report(advisory=[ADVISORY_ITEM]) row = f"| neg_contrast | 9 | {ADVISORY_ITEM['excerpt']} | 保留 | 官方 changelog 原文 https://example.com |\n" (article.parent / "humanize_log.md").write_text(LOG_HEADER + row, encoding=" - Network accessline 114
row = f"| neg_contrast | 9 | {ADVISORY_ITEM['excerpt']} | 保留 | 官方 changelog 原文 https://example.com |\n" - Access to secretsline 233
[Credential-related source omitted] - Access to secretsline 261
[Credential-related source omitted]
tests/test_publish_gate_paths.py
- Executable scriptline 1
Executable file - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 152
[Credential-related source omitted] - Access to secretsline 195
[Credential-related source omitted] - Access to secretsline 205
[Credential-related source omitted] - Access to secretsline 260
[Credential-related source omitted]
tests/test_publish_platform_dispatch.py
- Executable scriptline 1
Executable file
tests/test_review_fixes.py
- Executable scriptline 1
Executable file - Network accessline 42
def test_url_does_not_source_a_first_person_experience(): log = _keep(EXP, "见 https://example.com/post 原文") - Network accessline 43
log = _keep(EXP, "见 https://example.com/post 原文") - Network accessline 47
def test_url_still_sources_a_quote(): q = {"id": "unsourced_quote", "line": 7, "excerpt": "同事跟我说这个参数别动", "scope": "position"} assert not H.uncovered([q], _keep(q, "见 https://example.com/thread 原帖"), han=1000) - Network accessline 49
assert not H.uncovered([q], _keep(q, "见 https://example.com/thread 原帖"), han=1000) - Network accessline 64
def test_url_in_paragraph_does_not_hide_first_person_experience(): md = "# 标题\n\n官方文档见 https://example.com/docs 。去年我在老东家也踩过一样的坑,改了三次才好。\n" - Network accessline 65
md = "# 标题\n\n官方文档见 https://example.com/docs 。去年我在老东家也踩过一样的坑,改了三次才好。\n" - Network accessline 141
"excerpt": "去年我在老东家用 Claude Code 维护 AGENTS.md 时踩过一样的坑"} BRIEF_TOPIC = ('---\ntopic: "Claude Code 终于读 AGENTS.md 了"\nkeywords: [Claude Code, AGENTS.md]\n' 'experiences:\n - 无\nmaterials:\n - "Claude Code 2.1 开始读取 AGENTS.md | - Network accessline 142
BRIEF_TOPIC = ('---\ntopic: "Claude Code 终于读 AGENTS.md 了"\nkeywords: [Claude Code, AGENTS.md]\n' 'experiences:\n - 无\nmaterials:\n - "Claude Code 2.1 开始读取 AGENTS.md | https://example.com/changelog"\n---\n') BRIEF_OTHER = (' - Network accessline 143
'experiences:\n - 无\nmaterials:\n - "Claude Code 2.1 开始读取 AGENTS.md | https://example.com/changelog"\n---\n') - Network accessline 166
import zh_text text = "我同事跟我说:“这里要改”。" raw = "`echo 好。` 见 https://example.com 我同事跟我说:“这里要改”。" # 行内代码里的句号让句数对不上 - Network accessline 167
text = "我同事跟我说:“这里要改”。" raw = "`echo 好。` 见 https://example.com 我同事跟我说:“这里要改”。" # 行内代码里的句号让句数对不上 assert not any(zh_text.sourced_sentences(text, raw)) - Network accessline 168
raw = "`echo 好。` 见 https://example.com 我同事跟我说:“这里要改”。" # 行内代码里的句号让句数对不上 - Network accessline 196
import fidelity_check as FC cleaned = FC._SCRUB.sub(lambda m: " " * len(m.group(0)), "见 https://example.com/pricing。后面还有一句。") - Network accessline 197
cleaned = FC._SCRUB.sub(lambda m: " " * len(m.group(0)), "见 https://example.com/pricing。后面还有一句。")
tests/test_toutiao_config.py
- Executable scriptline 1
Executable file - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted]
tests/test_toutiao_publish.py
- Executable scriptline 1
Executable file - Network accessline 50
images = { item["key"]: { "image_url": f"https://p3.toutiaoimg.com/{i}", - Network accessline 51
item["key"]: { "image_url": f"https://p3.toutiaoimg.com/{i}", "image_uri": f"tos-cn-i-x/uri{i}", - Network accessline 52
"image_url": f"https://p3.toutiaoimg.com/{i}", - Network accessline 60
cover = ( { "image_url": "https://p3.toutiaoimg.com/cover", - Network accessline 61
{ "image_url": "https://p3.toutiaoimg.com/cover", "image_uri": "tos-cn-i-x/cover", - Network accessline 62
"image_url": "https://p3.toutiaoimg.com/cover", - Network accessline 71
return {"ok": True, "images": images, "cover": cover} if command == "publish": return {"ok": True, "pgc_id": "7123456789", "draft_url": "https://mp.toutiao.com/x?pgc_id=7123456789"} - Network accessline 72
if command == "publish": return {"ok": True, "pgc_id": "7123456789", "draft_url": "https://mp.toutiao.com/x?pgc_id=7123456789"} return {"ok": True, "user": {"id": 1, "name": "tester"}} - Network accessline 73
return {"ok": True, "pgc_id": "7123456789", "draft_url": "https://mp.toutiao.com/x?pgc_id=7123456789"}
tests/test_toutiao_render.py
- Executable scriptline 1
Executable file - Network accessline 28
return { "image_url": "https://p3-sign.toutiaoimg.com/fake~tplv-obj.image", - Network accessline 29
"image_url": "https://p3-sign.toutiaoimg.com/fake~tplv-obj.image", - Network accessline 50
html = render_toutiao_html("详见[官方文档](https://example.com)说明。") - Network accessline 144
with pytest.raises(ToutiaoRenderError): render_toutiao_html("", image_map={}) - Network accessline 145
render_toutiao_html("", image_map={})
tests/test_zh_tells.py
- Executable scriptline 1
Executable file - Possible obfuscationline 51
"---\ntitle: x\n---\n正文", "---\r\ntitle: x\r\n---\r\n正文", "<U+FEFF>---\ntitle: x\n---\n正文", "---\ntitle: x\n---", - Network accessline 71
def test_url_masked_without_eating_text(): masked = T.mask_markdown("详见 https://a.b/c?d=1 这里。然后") - Network accessline 72
masked = T.mask_markdown("详见 https://a.b/c?d=1 这里。然后") - Network accessline 90
assert "终点" not in T.blank_attributed("“这不是终点,而是起点”,出处 。", raw="“这不是终点,而是起点”,出处 https://x.y/z 。") - Network accessline 91
assert "终点" in T.blank_attributed("“这不是终点,而是起点”。\n另见 。", raw="“这不是终点,而是起点”。\n另见 https://x.y/z 。") - Network accessline 191
def test_section_end_skips_link_line(): md = "".join(f"## {i}\n\n正文 {i} 写了一些东西。\n\n同一个坑,两拨人各自摔一遍。\n\n🔗 GitHub:https://x.y/{i}\n\n" for i in "一二三") - Network accessline 192
md = "".join(f"## {i}\n\n正文 {i} 写了一些东西。\n\n同一个坑,两拨人各自摔一遍。\n\n🔗 GitHub:https://x.y/{i}\n\n" for i in "一二三") - Possible obfuscationline 293
"<U+FEFF>文件开头的 BOM。", "程序员 👨<U+200D>💻 的日常", "β版本今天上线。", "Привет是俄语里的你好。", "复制带来的一个<U+200B>零宽空格",
wechat-publisher.yaml.example
- Network accessline 43
[Credential-related source omitted] - Network accessline 44
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Network accessline 45
base_url: "https://api.openai.com/v1" - Network accessline 48
# baoyu-image-gen / provider=gemini-proxy gemini_proxy: base_url: "https://generativelanguage.googleapis.com" - Network accessline 49
[Credential-related source omitted] - Network accessline 50
base_url: "https://generativelanguage.googleapis.com" - Access to secretsline 51
[Credential-related source omitted]
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 12 facts
- Contacts lh3.googleusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/client.ts:426High confidence
- Contacts www.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/constants.ts:2High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/constants.ts:3High confidence
- Contacts accounts.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/constants.ts:6High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/types/image.ts:38High confidence
- Contacts gemini.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.ts:175High confidence
- Contacts accounts.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.ts:237High confidence
- Contacts www.google.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_danger_gemini_web/gemini-webapi/utils/load-browser-cookies.ts:237High confidence
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/baoyu_image_gen_core.ts:214High confidence
- Contacts mp.toutiao.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/toutiao_cdp.ts:51High confidence
- Contacts mp.toutiao.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/toutiao_cdp_client.ts:15High confidence
- Contacts bun.sh, which SKILL.md, the README and the plugin manifest do not mentionscripts/toutiao_publish.py:64High confidence
Signal confidence: 418 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:17Low confidence
- Network access in code of documentationREADME.md:26Low confidence
- Network access in code of documentationREADME.md:56Low confidence
- Network access in code of documentationREADME.md:57Low confidence
- Network access in code of documentationREADME.md:58Low confidence
- Access to secrets in code of documentationREADME.md:59Low confidence
- Network access in prose of documentationREADME.md:66Low confidence
- Network access in prose of documentationREADME.md:146Low confidence
- Network access in prose of documentationREADME.md:147Low confidence
- Network access in prose of documentationREADME.md:148Low confidence
- Access to secrets in prose of documentationREADME.md:149Low confidence
- Access to secrets in prose of documentationREADME.md:158Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:86Low confidence
- Network access in prose of the SKILL.mdSKILL.md:88Low confidence
- Network access in prose of the SKILL.mdSKILL.md:461Low confidence
- Access to secrets in prose of the SKILL.mdSKILL.md:616Low confidence
- Network access in prose of the SKILL.mdSKILL.md:639Low confidence
- Network access in prose of the SKILL.mdSKILL.md:640Low confidence
- Network access in prose of the SKILL.mdSKILL.md:641Low confidence
- Access to secrets in prose of the SKILL.mdSKILL.md:642Low confidence
- Access to secrets in prose of the SKILL.mdSKILL.md:655Low confidence
- Network access in prose of documentationassets/image-styles/README.md:359Low confidence
- Network access in prose of documentationassets/image-styles/README.md:360Low confidence
- Network access in prose of documentationassets/theme-previews/sample.md:64Low confidence
- Network access in prose of documentationreferences/api_reference.md:7Low confidence
- Access to secrets in code of documentationreferences/api_reference.md:15Low confidence
- Network access in prose of documentationreferences/api_reference.md:21Low confidence
- Access to secrets in prose of documentationreferences/api_reference.md:21Low confidence
- Network access in prose of documentationreferences/api_reference.md:33Low confidence
- Access to secrets in prose of documentationreferences/api_reference.md:33Low confidence
- Network access in code of documentationreferences/api_reference.md:39Low confidence
- Network access in prose of documentationreferences/api_reference.md:45Low confidence
- Access to secrets in prose of documentationreferences/api_reference.md:45Low confidence
- Network access in prose of documentationreferences/api_reference.md:75Low confidence
- Access to secrets in prose of documentationreferences/api_reference.md:75Low confidence
- Network access in prose of documentationreferences/multi-platform-sync.md:7Low confidence
- Network access in prose of documentationreferences/newspic-mode.md:5Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:27Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:29Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:32Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:34Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:44Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:62Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:63Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:73Low confidence
- Network access in prose of documentationreferences/toutiao-publish-research.md:74Low confidence
- Network access in code of documentationreferences/toutiao-publish-research.md:108Low confidence
- Network access in code of documentationreferences/toutiao-publish-research.md:147Low confidence
- Network access in code of documentationreferences/toutiao-publish-research.md:167Low confidence
and 368 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.