Skip to content

WorkTwin 1.2.0: task-triggered, opt-in browser capture with signed workflow signals - #20

Closed
KirenHu wants to merge 49 commits into
mainfrom
codex/worktwin-task-browser-capture-20261010
Closed

KirenHu wants to merge 49 commits into
mainfrom
codex/worktwin-task-browser-capture-20261010

Conversation

@KirenHu

@KirenHu KirenHu commented Oct 10, 2026

Copy link
Copy Markdown
Owner

User-approved interaction

  • User explicitly switches on 任务触发式浏览器行为采集 beside folder and coding-tool sources.
  • The workflow link opens its target webpage normally; a parallel signed signal starts the background capture, never a WorkTwin redirect.
  • The workflow supplies the allowed exact initial page dynamically. No user-maintained target website whitelist.
  • Navigation to a further page records a navigation event and stops observation. The task remains open until a separately signed completion event; hard expiry prevents unbounded capture.
  • Enablement opens a plugin download/pairing guide. Presence is verified via an extension handshake, not unreliable OS-wide extension enumeration.

Implementation

  • Dedicated SQLite capture sessions/events/steps and separate manual capture vs AI consent; no changes to file scanning lifecycle.
  • Require trusted workflow issuer Ed25519 public keys (enterprise provisioning), short-lived one-use signed start/complete tickets, locally paired extension credential, exact tab/document binding, monotonic event sequence, live revocation.
  • Chrome/Edge MV3 extension with inert content scripts, document_start attach, independent native browser link, local loopback communication and navigation stop events. Never collect input values, cookies, raw DOM, screenshots or full browser history.
  • Download bundled unpacked extension directly from the WorkTwin dashboard; pairing and connection status UI. Optional bounded semantic analysis only when user explicitly opts in; analysis remains unverified and is not automatically published as current knowledge.
  • Version 1.2.0 isolated from 1.1.7 to avoid clobbering existing releases.

Integration requirements and known limitations

  • The workflow platform must issue signed tickets from its backend and emit the signal from its frontend; no generic website can bypass this gate.
  • Browser site permissions must still be granted by the user/browser/enterprise policy. The packaged extension uses dormant content scripts on all http(s) sites so target origins need not be maintained individually; no events leave the extension outside a bound signed session.
  • Connection detection confirms an active Chrome/Edge extension, not whether that browser is the OS default.
  • Document navigation / SPA navigation ends capture, including on the same host; iframe/canvas/native dialogs are unsupported. Capture can miss initial events if platform signaling is delayed.
  • This PR persists and presents structured action evidence with optional incremental AI analysis; promotion into the existing maintained knowledge library is a separate follow-up and will require evidence-aware integration.
  • macOS Apple notarization is intentionally still paused; uploaded preview DMGs remain unsigned.

Verification

CI Python, six existing browser suites, new capture protocol tests, extension JS validation, macOS ARM/Intel and Windows package smoke; do not merge before passing.

KirenHu commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

任务签发、来源鉴权、浏览器标签隔离、DOM 脱敏与任务生命周期需求已纳入统一集成 Draft PR #24。浏览器实现以更新过产品边界的 #22 为准,保留可信签发但改用它的 HMAC/同源任务状态协议,而不并行维护本 PR 的 Ed25519 旧协议。新流程平台尚无域名,真实联调未完成。本 PR 只作为历史参照,关闭避免双实现竞争。

@KirenHu KirenHu closed this Oct 10, 2026
KirenHu added a commit that referenced this pull request Oct 10, 2026
… release gates

Integrates PRs #12, #19, #20, #21, #22 and QA from #23 through #24. Includes project-identity and knowledge-revision safeguards, independent browser task summaries, and opt-in macOS signed releases. CI: Python/Chromium, macOS arm64 & Intel, Windows validated.
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