Skip to content

feat(keyword): 新增关键字随机模式并兼容数据库升级#122

Merged
forchain merged 12 commits intomainfrom
lava-dust-devil
Apr 29, 2026
Merged

feat(keyword): 新增关键字随机模式并兼容数据库升级#122
forchain merged 12 commits intomainfrom
lava-dust-devil

Conversation

@forchain
Copy link
Copy Markdown
Owner

@forchain forchain commented Apr 29, 2026

Summary

  • 为关键字新增执行模式字段 mode,支持 sequence(默认顺序)和 random(随机抽取一条命令)
  • 在关键字执行链路中接入模式选择逻辑,并兼容配置文件与 :keyword add 的模式参数
  • 在数据库初始化阶段自动为旧库补齐 keywords.mode 列,避免历史数据升级失败

Test plan

  • python -m py_compile src/ushareiplay/models/keyword.py src/ushareiplay/dal/keyword_dao.py src/ushareiplay/core/db_manager.py src/ushareiplay/managers/keyword_manager.py src/ushareiplay/commands/keyword.py
  • 设备联调:@我 触发关键字,验证 sequence 保持顺序执行
  • 设备联调:@我 触发关键字,验证 random 每次随机命中一条
  • 旧库升级验证:启动后确认 keywords 表自动新增 mode

Made with Cursor

forchain added 12 commits April 18, 2026 18:29
Add keyword execution mode with sequence(default) and random behaviors, and apply a backward-compatible SQLite schema patch to add keywords.mode for existing databases.

Made-with: Cursor
When a worktree has no local .venv, parse git worktree porcelain output to locate the main branch worktree and symlink its .venv before starting.

Made-with: Cursor
Add non-blocking any-element probing for post-detection verification, and require navigate_to_element/home navigation to clear back/interference states before treating target as final.

Made-with: Cursor
Adjust navigate_to_element post-target validation to skip back-key checks and only perform non-blocking interference probing before confirming success.

Made-with: Cursor
@forchain forchain merged commit 0d9e5fa into main Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant