@remixmate/cli 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.9.7",
4
- "generatedAt": "2026-07-15T16:11:50.308Z",
3
+ "version": "0.9.8",
4
+ "generatedAt": "2026-07-20T11:13:57.597Z",
5
5
  "skills": [
6
6
  {
7
7
  "id": "export-jianying",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remixmate/cli",
3
- "version": "0.9.7",
3
+ "version": "0.9.8",
4
4
  "description": "AI media generation skills for Claude Code / Codex — 11 skills covering image, video, voice, digital human, web capture, script, template registry, rendering, Jianying export, and video deconstruction.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -146,7 +146,7 @@ def poll_render(
146
146
  private_token: str,
147
147
  base_url: Optional[str] = None,
148
148
  timeout: float = 1800.0,
149
- interval: float = 5.0,
149
+ interval: float = 2.0,
150
150
  request_timeout: float = 60.0,
151
151
  max_consecutive_errors: int = 5,
152
152
  on_progress: Optional[Callable[[dict], None]] = None,
@@ -159,9 +159,9 @@ def poll_render(
159
159
  on_progress 回调在每次成功请求后触发,参数为完整 data dict。
160
160
 
161
161
  adaptive_interval=True 时根据渲染进度自动调整轮询间隔:
162
- 0-20%: interval * 2(初始化阶段,变化慢)
162
+ 0-20%: max(interval * 0.5, 1.0)(起步阶段采样加密,短渲染也能看到进度)
163
163
  20-80%: interval(正常渲染阶段)
164
- 80-100%: interval * 0.6(编码收尾阶段,更频繁检查)
164
+ 80-100%: max(interval * 0.6, 1.0)(编码收尾阶段,更频繁检查)
165
165
  """
166
166
  start = time.monotonic()
167
167
  consecutive_errors = 0
@@ -225,9 +225,10 @@ def poll_render(
225
225
  current_progress = float(data.get("progress") or 0.0)
226
226
  if adaptive_interval:
227
227
  if current_progress < 0.2:
228
- sleep_time = interval * 2
228
+ # 起步阶段(含服务端很快就渲完的短片)采样加密,避免 0%→完成的跳变
229
+ sleep_time = max(interval * 0.5, 1.0)
229
230
  elif current_progress >= 0.8:
230
- sleep_time = max(interval * 0.6, 2.0)
231
+ sleep_time = max(interval * 0.6, 1.0)
231
232
  else:
232
233
  sleep_time = interval
233
234
  else:
@@ -1703,7 +1703,8 @@ def render_with_remote_api(
1703
1703
  def _on_progress(status_data: dict):
1704
1704
  nonlocal last_progress
1705
1705
  progress = float(status_data.get("progress") or 0.0)
1706
- if progress - last_progress >= 0.1 or progress >= 1.0:
1706
+ # 门槛设小(2%):短渲染服务端进度增量小,太大的门槛会把中间档全吞掉,只剩 0%→100%
1707
+ if progress - last_progress >= 0.02 or progress >= 1.0:
1707
1708
  pct = int(progress * 100)
1708
1709
  elapsed = time.time() - render_start_time
1709
1710
  eta_remaining = 0.0
@@ -1938,8 +1939,8 @@ Examples:
1938
1939
  parser.add_argument(
1939
1940
  "--remote-poll-interval",
1940
1941
  type=float,
1941
- default=float(os.environ.get("REMOTION_REMOTE_POLL_INTERVAL", "5")),
1942
- help="Remote-render polling interval (seconds, default 5)",
1942
+ default=float(os.environ.get("REMOTION_REMOTE_POLL_INTERVAL", "2")),
1943
+ help="Remote-render polling interval (seconds, default 2)",
1943
1944
  )
1944
1945
  parser.add_argument(
1945
1946
  "--stub-image-url",