367df10755
chore: update skill release readme source
...
Publish Python Package to Gitea / publish (push) Successful in 26s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 10:59:37 +08:00
36a411810d
ci: publish formal version from pyproject.toml on main push
...
Publish Python Package to Gitea / publish (push) Successful in 25s
Remove .postN CI versioning, fix runtime version_ge for legacy post releases, and use ASCII issue separators in health output.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-07 09:26:41 +08:00
84bb085250
chore: package env example in skill releases
...
Publish Python Package to Gitea / publish (push) Successful in 31s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 10:33:55 +08:00
9d4068e4af
chore: include skill requirements in release package
Publish Python Package to Gitea / publish (push) Successful in 21s
2026-05-29 17:36:46 +08:00
ea25fc2638
修改打包方式
Publish Python Package to Gitea / publish (push) Successful in 1m2s
2026-05-28 16:49:30 +08:00
43ec2d66a3
feat(screencast): 自动激活窗口 / 多显示器 / 字幕独立时长
...
基于 SDK 新模块(前两个 commit)的 screencast 工具能力升级:
- runner.py:
· 新增 activate_window: bool = True 参数,录屏前自动调
activate_and_maximize_jiangchang_window,避免开头几秒录到 PowerShell/桌面
· 新增 monitor_index: Optional[int] = None 参数,透传给 ScreenRecorder
· 自带 SDK 路径兜底 _ensure_sdk_on_path,让 record_screencast.py 直接 python
跑时(不走 pytest conftest)也能 import jiangchang_desktop_sdk.window_win32
- recorder.py:
· ScreenRecorder.__init__ 加 monitor_index 参数
· _capture_loop 用 idx 选 monitor,越界兜底到 0
· None = 旧行为(monitors[0] 所有屏合并),1 = 主屏,2+ = 第 N 屏
· 多显示器场景推荐显式传 monitor_index=1 避免录出半边空白
- subtitle.py:
· SubtitleEngine.process_line 支持二元组(兼容旧脚本)和三元组(每条独立 duration)
· 长等待场景可以让某条字幕停留更久(如 30s)覆盖中间无日志的"字幕真空"
所有改动向后兼容,全部新增参数有默认值。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-25 11:14:11 +08:00
ffb64b2cfc
feat(screencast): 统一字幕样式 / 修字幕重叠 / 修子进程乱码
...
- composer.py:抽出 _JIANGCHANG_SUBTITLE_STYLE 常量,FontSize 28→14 /
Outline 2→2(保持),1080p 屏幕约占 1.3% 高度,演示视频留足画面呼吸感
- subtitle.py:generate_srt 加 post-process 排队,相邻字幕互相让位
(MIN_DURATION=1.0s / GAP=0.1s),任意时刻屏幕上最多 1 条字幕,
避免开头几秒密集触发的字幕叠成两行
- runner.py:subprocess.Popen 注入 PYTHONIOENCODING=utf-8 + PYTHONUTF8=1,
让 Windows 子进程 Python 强制 UTF-8 输出,runner 端 UTF-8 解码即对齐,
修中文乱码
所有 skill 录屏受益,向后兼容(非 Windows 系统 UTF-8 注入无副作用)。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-25 10:14:03 +08:00
089f00c3ff
feat(tools): add screencast recording engine
...
Adds tools/screencast/ — a reusable screen-recording pipeline for
skill demo videos. Wraps a pytest desktop E2E run with:
- ScreenRecorder: mss-based full-screen frame capture (background thread)
- SubtitleEngine: stdout keyword → timestamped SRT generation
- compose_video: FFmpeg filter_complex merge (video + subtitles + BGM)
- run_screencast: main orchestrator wiring all three layers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-17 20:38:47 +08:00
8bbf5084f5
修改打包将test打包进去
2026-05-06 11:47:17 +08:00
b9cd4dacec
优化代码
2026-04-23 11:04:44 +08:00
4c2b1b634c
feat: release ZIP keeps scripts/ tree; JIANGCHANG_SKILLS_ROOT and sibling skills root
2026-04-06 18:37:54 +08:00
c8fc7dcccb
ci: recursive PyArmor for scripts/ and copy references/assets; release.ps1 preflight check
...
Made-with: Cursor
2026-04-06 14:01:44 +08:00
c4521dc4b2
feat: centralize release script and simplify workflow input
...
Move release.ps1 into the platform kit as the shared source of truth and remove include_readme_md input so all skills always publish readme_md by default.
2026-03-30 19:23:10 +08:00