FENG/XIAODONG
0b3b7d13b5
fix(browser): ensure tab activation before copy/paste in WeChat editor
...
When posting articles via browser automation, the HTML preview tab
needs to be active before copying content, and the editor tab needs
to be active before pasting. Without explicit Target.activateTarget
calls, AppleScript Cmd+C/Cmd+V would act on the wrong tab, causing
the editor body to remain empty after paste.
This fix adds Target.activateTarget before both copy and paste
operations, ensuring the correct tab is in focus for system-level
clipboard operations.
2026-05-09 22:13:06 +08:00
Jim Liu 宝玉
5b20f9a746
Use npm packages for shared skill code ( #136 )
2026-04-18 21:09:58 -05:00
Jim Liu 宝玉
b3f5c0a8aa
fix(baoyu-post-to-wechat): verify editor focus before paste operations
2026-04-13 14:23:41 -05:00
Jim Liu 宝玉
990fea4f7b
fix(baoyu-post-to-wechat): decode HTML entities and strip tags from article summary
...
Add cleanSummaryText() to baoyu-md package: decodes HTML entities (&, <, &#x..., etc.)
and strips HTML tags before using frontmatter description/summary as WeChat article digest
2026-04-12 20:16:53 -05:00
Jim Liu 宝玉
2a0bba6161
fix(baoyu-post-to-wechat): detect actual image format from buffer magic bytes
...
CDNs may serve WebP for URLs with .png extension. Detect real format
from magic bytes and correct content-type/extension before upload.
Also treat .webp as PNG-preferred for transparency handling.
2026-04-05 13:36:51 -05:00
Jim Liu 宝玉
c7c98ba034
chore: sync vendor baoyu-chrome-cdp across CDP skills
2026-04-01 02:11:56 -05:00
Jim Liu 宝玉
3a8b0cc158
chore: update bun.lock files
2026-03-31 18:24:26 -05:00
Jim Liu 宝玉
e6d54f7492
refactor(shared-skill-packages): add files allowlist support and filter test/changelog files
2026-03-27 14:10:50 -05:00
Jim Liu 宝玉
e4cd8bfefc
feat(baoyu-post-to-wechat): improve credential loading with multi-source resolution and diagnostics
2026-03-22 15:42:08 -05:00
Jim Liu 宝玉
105339cf3f
fix(baoyu-md): fix CSS custom property regex for quoted values and add theme layering
...
- Remove quotes from CSS custom property regex character class so values containing quotes are fully stripped
- grace/simple themes now layer default CSS before their own rules
- Add tests for quoted property stripping and theme layering
2026-03-20 23:17:04 -05:00
Jim Liu 宝玉
eb416d174c
fix(baoyu-post-to-wechat): prevent placeholder regex from matching longer numbered variants
2026-03-20 18:45:05 -05:00
Jim Liu 宝玉
0e6bfbcabd
refactor: 提取图片处理模块,本地转换不支持的格式而非回退到material接口
...
将WeChat正文图片的格式转换和压缩逻辑提取到独立的wechat-image-processor模块,
使用jimp和@jsquash/webp在本地将WebP/BMP/GIF等不支持的格式转换为JPEG/PNG并
压缩到1MB以内,避免依赖material接口的回退策略。同时简化了news类型封面兜底逻辑。
2026-03-20 14:43:49 -05:00
浪不能停
79c289ca92
fix: 处理WebP等不支持的格式并优化回退逻辑
...
- 添加WebP、BMP、TIFF等格式到不支持列表
- 对于需要回退到material接口的情况,同时调用两个接口获取URL和media_id
- 提取uploadToWechat函数避免代码重复
2026-03-20 18:18:01 +08:00
浪不能停
fc5ad4b762
fix: 处理media/uploadimg接口的文件格式和大小限制
...
- 添加文件大小和格式检查常量
- GIF图片或大于1MB的图片自动回退使用material接口
- 确保向后兼容现有工作流
2026-03-20 14:25:48 +08:00
浪不能停
747977416d
fix: 修复newspic类型图片上传和news类型封面兜底逻辑
...
- uploadImagesInHtml 函数添加 articleType 参数支持
- 为 newspic 类型正文图片额外调用 material 接口收集 media_id
- 返回 firstImageSource 用于 news 类型封面兜底逻辑
- 恢复 news 类型没有显式封面时使用第一张正文图作为封面的逻辑
2026-03-20 13:57:59 +08:00
浪不能停
e79a42fd94
fix: 正文图片上传使用 media/uploadimg 接口
...
- 区分正文图片和封面图片的上传接口
- 正文图片使用 media/uploadimg (返回 URL)
- 封面图片使用 material/add_material (返回 media_id)
- 添加 uploadType 参数支持两种上传方式
- 优化错误提示,告知用户 news 类型需要封面图
2026-03-18 17:23:48 +08:00
Jim Liu 宝玉
f407c950c3
docs(gemini-web): clarify CDP session reuse
2026-03-16 20:01:09 -05:00
Jim Liu 宝玉
c1f8a9ad07
chore: sync vendored baoyu-chrome-cdp copies
2026-03-16 12:57:39 -05:00
Jim Liu 宝玉
b89ef02221
chore(baoyu-post-to-wechat): sync vendored baoyu-chrome-cdp
2026-03-16 12:53:51 -05:00
cfh
84c56b0da3
fix(baoyu-post-to-wechat): improve browser publishing reliability
...
- Add retry logic (5 attempts with progressive backoff) to clickMenuByText
to handle slow-loading home page menus
- Increase post-login wait from 2s to 5s and menu timeout from 20s to 40s
- Replace fixed 3s sleep after editor tab opens with waitForElement polling
for #title (30s) and .ProseMirror (15s) to reliably wait for full load
- Improve title/author filling with focus() and change event dispatch
for more reliable value setting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-17 00:43:39 +08:00
shixy
2aa9790789
fix: preserve inline code in cjk emphasis
2026-03-14 17:12:03 +08:00
Jim Liu 宝玉
de7dc85361
chore: sync shared skill package vendor test files
2026-03-13 17:56:53 -05:00
Jim Liu 宝玉
374a6b28fd
feat(baoyu-post-to-wechat): add placeholder image upload and fix frontmatter parsing
2026-03-13 10:58:13 -05:00
Jim Liu 宝玉
fc324319d8
fix: preserve weibo image metadata in shared md package
2026-03-13 10:44:23 -05:00
Jim Liu 宝玉
056fa06c3b
refactor: share markdown renderer via baoyu-md
2026-03-13 10:20:28 -05:00
Jim Liu 宝玉
5276fae6bd
feat(baoyu-post-to-wechat): add multi-account support
...
Support multiple WeChat Official Accounts via EXTEND.md accounts block.
Each account gets isolated Chrome profile, credential resolution chain
(inline → prefixed env → unprefixed env), and --account CLI arg.
2026-03-11 23:24:02 -05:00
Jim Liu 宝玉
3bba18c1fe
build: commit vendored shared skill packages
2026-03-11 20:45:25 -05:00
Jim Liu 宝玉
069c5dc7d7
refactor: unify skill cdp and release artifacts
2026-03-11 19:38:59 -05:00
Jim Liu 宝玉
4935dc8b1a
fix: surface agent-browser startup errors
2026-03-08 22:25:34 -05:00
Jim Liu 宝玉
c43ed57ffc
Merge pull request #69 from liby/feat/xdg-config-path
...
feat: add XDG config path support for EXTEND.md
2026-03-08 22:19:52 -05:00
Jim Liu 宝玉
d96368492e
Merge pull request #66 from luojiyin1987/fix/harden-command-exec-and-js-escaping
...
fix: harden command execution and JS literal escaping
2026-03-08 22:10:45 -05:00
Bryan Lee
a702513487
feat: add XDG config path support for EXTEND.md
...
Add $XDG_CONFIG_HOME/baoyu-skills/<skill>/EXTEND.md as second priority
path between project-level and legacy $HOME/.baoyu-skills/ paths.
Priority order:
1. .baoyu-skills/<skill>/EXTEND.md (project)
2. $XDG_CONFIG_HOME/baoyu-skills/<skill>/EXTEND.md (XDG, new)
3. $HOME/.baoyu-skills/<skill>/EXTEND.md (legacy fallback)
Updated: CLAUDE.md template, 16 SKILL.md files, 2 workflow.md
references, and 2 extend-config.ts runtime loaders.
2026-03-09 04:54:26 +08:00
Jim Liu 宝玉
f19ed00cb2
fix(baoyu-post-to-wechat): improve image upload with file chooser interception
2026-03-08 14:07:55 -05:00
luojiyin
ca9a0a1404
fix: harden wechat agent-browser command and eval handling
2026-03-08 20:34:43 +08:00
Jim Liu 宝玉
970f5e741a
feat(baoyu-post-to-wechat): default bottom citations for markdown input
...
Enable bottom citations by default for markdown articles. Add --no-cite
flag to all posting scripts (wechat-api, wechat-article, md-to-wechat)
to optionally disable. WeChat mp links stay inline.
2026-03-06 23:38:23 -06:00
Jim Liu 宝玉
c15a44b439
fix(security): remove curl|bash, enforce HTTPS-only downloads
...
- Replace all curl|bash install suggestions with brew/npm
- downloadFile: HTTPS-only, reject http:// URLs
- downloadFile: add redirect limit (max 5)
- Remove unused http import from md-to-html scripts
- Add Security Guidelines section to CLAUDE.md
- Update SKILL.md profile dir references
2026-03-06 16:03:10 -06:00
Jim Liu 宝玉
6e533f938f
refactor: unify Chrome CDP profile path across all skills
...
All skills now share a single Chrome profile at:
- macOS: ~/Library/Application Support/baoyu-skills/chrome-profile
- Linux: $XDG_DATA_HOME/baoyu-skills/chrome-profile
- Env override: BAOYU_CHROME_PROFILE_DIR
Fixes baoyu-post-to-weibo incorrectly reusing x-browser-profile.
Legacy per-skill env vars retained as fallback.
2026-03-06 16:03:01 -06:00
Jim Liu 宝玉
a501202ab6
feat(baoyu-post-to-wechat): auto-detect WSL for Chrome profile path
...
In WSL2, auto-resolve Windows USERPROFILE via cmd.exe/wslpath
so Chrome profile is stored on Windows-native filesystem.
2026-03-02 12:07:07 -06:00
Jim Liu 宝玉
c5b3066962
feat(baoyu-post-to-wechat): support env var overrides for debug port and profile directory
2026-03-02 11:52:45 -06:00
Jim Liu 宝玉
8787cbe85b
feat(baoyu-post-to-wechat): internalize markdown conversion with modular renderer and color support
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 00:01:05 -06:00
Jim Liu 宝玉
6e18725906
feat(baoyu-post-to-wechat): add default color preference and modern theme support
2026-02-28 11:48:59 -06:00
LyInfi
1bdf44df9e
fix(wechat-browser): fix upload progress check crashing on second iteration
...
Runtime.evaluate reuses the same JS execution context across calls in a
session. The previous expression used `const thumbs = ...` which throws
"Identifier 'thumbs' has already been declared" on the second loop
iteration, causing result.value to be undefined and JSON.parse to throw
"JSON Parse error: Unexpected identifier 'undefined'".
Fix by inlining the querySelector into a single expression with no
variable declaration, eliminating the re-declaration error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-19 12:12:26 +08:00
Jim Liu 宝玉
dd08a2aa89
feat(baoyu-post-to-wechat): add pre-flight environment check script
2026-02-13 20:27:31 -06:00
Jim Liu 宝玉
54103dfd7d
refactor(baoyu-post-to-wechat): prioritize coverImage over featureImage in frontmatter lookup
2026-02-12 01:56:32 -06:00
Jim Liu 宝玉
e964100dd9
fix(baoyu-post-to-wechat): fix PowerShell clipboard copy on Windows
...
Embed file path directly in PowerShell script with single-quote escaping
instead of using param()/−Path which fails with -Command parameter.
2026-02-10 16:05:03 -06:00
Jim Liu 宝玉
569beebdd6
feat(baoyu-post-to-wechat): adapt to new WeChat UI and fix digest/cover handling
...
Rename 图文 to 贴图 throughout; add ProseMirror editor support with old editor
fallback; add fallback file input selector; add upload progress monitoring;
improve save button detection with toast verification; truncate digest > 120
chars at punctuation boundary; fix cover image relative path resolution.
2026-02-10 15:46:09 -06:00
AlexCheval
a3849af0cf
fix(baoyu-post-to-wechat): fix title and list number duplication in WeChat articles
...
- Remove title from body content when extracting it for WeChat title field
to prevent duplicate title display (one in header, one in content)
- Remove manual ordered list prefix since HTML <ol> already provides numbering,
preventing "1.1.", "2.2.", "3.3." duplication
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 10:04:34 +08:00
Jim Liu 宝玉
e7d9ed7917
fix(baoyu-post-to-wechat): remove extra empty lines after image paste and fix summary timing
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-03 11:49:13 -06:00
Jim Liu 宝玉
b9e48d9483
fix(baoyu-post-to-wechat): fix placeholder matching to avoid WECHATIMGPH_1 matching WECHATIMGPH_10
2026-02-03 11:06:41 -06:00
Jim Liu 宝玉
e563bbae7b
feat(baoyu-post-to-wechat): add newspic article type support
...
- Add ArticleOptions interface with news/newspic types
- Track all image media IDs for newspic format
- Restructure publishToDraft for dual article type handling
2026-02-01 19:49:14 -06:00