EP Answer Assistant chat - Full version

Auto-fills answers on Education Perfect with the help of AI.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
OTJL12
일일 설치 수
5
총 설치 수
5
평점
1 0 0
버전
4.0.0
생성일
2026-07-22
갱신일
2026-07-22
크기
16.4KB
라이선스
해당 없음
적용 사이트

EP Answer Assistant

A fast, lightweight Tampermonkey userscript for automatically filling answers on Education Perfect using live extraction, fuzzy matching, and cursor-aware typing. (FOR EDUCATION PURPOSES ONLY)

Full branch

This branch adds MineFlare AI intergration to answer and automatically complete all tasks on EP (excluding assesments).


Features

  • Auto-types answers directly at the current cursor position
  • Fuzzy matching
  • Automatically extracts pairs from EP pages
  • Real-time question detection
  • Supports standard inputs and contenteditable fields
  • Angular-safe event dispatching
  • Draggable floating control panel
  • Pause / resume controls
  • Toast notifications
  • Optimized for speed and low overhead

Preview

EP Assistant
128 pairs loaded

[ Load ] [ Pause ]

Typing: "bonjour" → "hello"

Installation

1. Install Tampermonkey

Chrome

https://www.tampermonkey.net/

Firefox

https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/


2. Create a New Script

  1. Open Tampermonkey
  2. Click:
Create a new script
  1. Replace everything with the script contents
  2. Save with:
CTRL + S

3. Open Education Perfect

Navigate to:

https://app.educationperfect.com/

Open a list and click:

Load

The assistant will begin automatically filling answers.


Configuration

All configurable settings are stored in:

const CFG = {
  fuzzyThreshold : 0.60,
  typeDelay      : 20,
  toastDuration  : 3000,
  pollInterval   : 2000,
  cooldown       : 2000,
  typeCooldown   : 1500,
};

Speed Tuning

Ultra Fast Preset

const CFG = {
  fuzzyThreshold : 0.3,
  typeDelay      : 0,
  toastDuration  : 1500,
  pollInterval   : 500,
  cooldown       : 300,
  typeCooldown   : 0,
};

How It Works

The script:

  1. Extracts pairs from the current page
  2. Normalizes text for reliable matching
  3. Detects active questions in real-time
  4. Finds the closest answer using fuzzy search
  5. Types directly into the active cursor location
  6. Dispatches Angular-safe input events

Stability Features

This script includes protections against:

  • AngularJS transition crashes
  • Duplicate answer spam
  • Event flooding
  • UI-router instability
  • Route-change typing issues

Architecture

┌────────────────────┐
│ Vocabulary Loader  │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│ Answer Map Builder │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│ Question Detector  │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│ Fuzzy Matcher      │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│ Cursor Typing      │
└────────────────────┘

Performance Notes

The script is optimized to minimize:

  • DOM scanning
  • Angular digest interference
  • Mutation observer overhead
  • Synthetic keyboard event spam

For best performance:

typeDelay: 0
pollInterval: 500
typeCooldown: 0

Supported Features

Feature Supported
Auto answer fill Yes
Cursor-aware typing Yes
Contenteditable support Yes
Fuzzy matching Yes
Angular-safe input Yes
Draggable UI Yes
Pause / resume Yes
Live extraction Yes

Known Limitations

  • Requires the list to be visible before loading
  • Extremely aggressive speed settings may cause duplicate fills
  • Some custom EP activities may use unsupported input methods

Development

Local Editing

Recommended setup:

VS Code
Tampermonkey
Chrome DevTools

Debugging

Open DevTools:

F12 → Console

The script outputs detailed logs:

[EP] Loaded 128 pairs
[EP] "bonjour" → "hello"

Contributing

Pull requests, optimizations, and fixes are welcome.

Suggested areas for improvement:

  • Better question parsing
  • Smarter fuzzy matching
  • Multi-language optimizations
  • Reduced DOM overhead
  • Faster lookup structures

License

MIT License


Disclaimer

This project is provided for educational and research purposes only.

Use responsibly and comply with your institution's policies.