Human Typing Composer — ヒューマンらしい入力を再現するChrome拡張
概要
Human Typing Composerは、Chrome拡張として動作し、ブラウザ内の入力要素に対して「人間がキーを打つ」ような挙動でテキストを送信することを目的としたプロジェクトです。content.jsで対象要素に対する操作(フォーカス、選択、擬似キーイベント、InputEventの発行など)を行い、background.jsは制御ロジックやユーザー操作のトリガ管理を担います。開発方針はオープンで、READMEには利用に関する注意(倫理や正当性)も明示されています。主にJavaScriptで実装されており、拡張の動作検証や自動化実験向けのツールとして位置づけられます。
リポジトリの統計情報
- スター数: 4
- フォーク数: 0
- ウォッチャー数: 4
- コミット数: 4
- ファイル数: 14
- メインの言語: JavaScript
主な特徴
- ブラウザの入力要素に対して人間らしいタイミングでテキストを注入する機能
- content/backgroundスクリプトで役割分担され、拡張の制御を分離
- 公開されたREADMEで利用上の注意や免責事項を明示
- 実験的・開発向けの構成でカスタマイズしやすい設計
技術的なポイント
この拡張は典型的なChrome拡張のアーキテクチャを踏襲し、content.jsがページ側でのDOM操作やイベント発行を担当、background.jsが制御やメッセージ仲介を行う形です。人間らしさを出すための主な技術的要素として、ランダム化されたキー間隔や自然なタイピングパターン(遅延やバックスペースの混入)、フォーカス管理、選択範囲の扱いが考慮されています。実装上はKeyboardEventやInputEventを組み合わせて擬似的な入力を再現し、必要に応じてCompositionEventやselection APIを利用して複雑な編集操作にも対応できます。また、拡張内部でのメッセージング(chrome.runtime.sendMessage/onMessageなど)により、UIや外部トリガーからの要求を受けて動作を開始・停止できる構成になっていることが推測されます。セキュリティ面・倫理面の配慮もREADMEで触れられており、正当な研究やテスト用途に限定して使うことが推奨される点が特徴です。実践ではブラウザのイベント検出ロジックや挙動の微調整が重要で、サイトによってはイベントの受け取り方が異なるため互換性確保のための追加処理が必要になります。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- background.js: file
- content.js: file
- manifest.json: file
…他 9 ファイル
(上記は主要ファイルの抜粋です。background.js/ content.js で拡張の挙動制御が行われ、manifest.jsonでパーミッションやエントリポイントが定義されています。)
まとめ
実験的な「人間らしい入力」シミュレーションを手早く試せる拡張で、研究やテスト向けの出発点として有用です。
リポジトリ情報:
- 名前: Human_Typing_Composer
- 説明: Enable Chrome to simulate human input when outputting text. Open development syntax.
- スター数: 4
- 言語: JavaScript
- URL: https://github.com/EngineeringSample/Human_Typing_Composer
- オーナー: EngineeringSample
- アバター: https://avatars.githubusercontent.com/u/126393524?v=4
READMEの抜粋:
Human Typing Composer (Chrome Extension)
Disclaimer
The sole end for which mankind are warranted, individually or collectively, in interfering with the liberty of action of any of their number, is self-protection. That the only purpose for which power can be rightfully exercised over any member of a civilised community, against his will, is to prevent harm to others. His own good, either physical or moral, is not a sufficient warrant. He cannot rightfully be compelled to do or forbea…