robotyper
v1.0.7
Published
A simple activity simulator.
Maintainers
Readme
🤖 RoboTyper
Realistic activity simulator that types content from markdown files with human-like patterns. Perfect for maintaining activity metrics while working.
Features
- ✨ Natural typing patterns - Variable speeds, typos, corrections, thinking pauses
- 📝 Custom content - Use any text/markdown file as typing source
- ⚡ Speed control - Adjust typing speed from slow to fast
- 🎯 Activity optimization - Designed to maintain high activity scores
- 🖱️ Mixed activities - Typing, scrolling, and thinking breaks
- 🔒 Cross-platform - Works on macOS, Windows, and Linux
Installation
# Run directly with npx (no installation needed)
npx robotyper
# Or install globally
npm install -g robotyperQuick Start
# Basic usage - uses dummyfile.md in current directory
npx robotyper
# With custom file
npx robotyper --file=mycode.js
# With speed control
npx robotyper --speed=fast
# Combine options
npx robotyper --file=notes.txt --speed=normalUsage
Command Line Options
npx robotyper [options]
Options:
--file=<path> Custom file to use as typing source (default: dummyfile.md)
--speed=<mode> Typing speed: slow|normal|fast (default: normal)
--help, -h Show help
--version, -v Show versionSpeed Modes
| Mode | WPM | Typos | Think Pauses | Best For |
| -------- | ------ | ----- | ------------ | ------------------- |
| slow | 30-50 | 8% | 12% | Maximum realism |
| normal | 40-80 | 7% | 8% | Balanced (default) |
| fast | 60-100 | 5% | 4% | High activity score |
Examples
# Documentation work
npx robotyper --file=docs.md --speed=normal
# Code simulation
npx robotyper --file=main.ts --speed=slow
# Maximum activity
npx robotyper --speed=fast
# Long session with custom content
npx robotyper --file=project-notes.txtHow It Works
RoboTyper simulates realistic human typing behavior:
- Natural typing speed - Variable delays between keystrokes (not robotic)
- Realistic mistakes - Random typos with backspace/arrow key corrections
- Thinking pauses - Random pauses during typing (2-8 seconds)
- Punctuation delays - Longer pauses at sentence endings
- Activity mixing - Scrolling, typing, and thinking breaks
- Smart intervals - 2-60 second gaps between activities (mostly 2-12s)
Activity Distribution
- 60% - Typing content from your file
- 20% - Scrolling up/down
- 10% - Thinking breaks (5-20 seconds idle)
- 10% - Short pauses between activities
Pause Patterns
- 80% - Micro pauses (2-12 seconds) - continuous work
- 15% - Short pauses (10-25 seconds) - brief break
- 5% - Medium pauses (30-60 seconds) - rare distraction
Requirements
macOS
- Grant Accessibility permissions:
- System Preferences → Security & Privacy → Privacy → Accessibility
- Add Terminal (or your terminal app) to allowed apps
Windows
- Run as Administrator or grant input permissions
Linux
- May need X11 accessibility permissions depending on distro
File Format
RoboTyper filters content to extract meaningful text:
Included:
- Regular paragraphs
- Sentences longer than 15 characters
Excluded:
- Markdown headings (
#) - Code blocks (```)
- Horizontal rules (
---) - List items (
*,-) - Blockquotes (
>)
Creating Custom Content
Create a text file with natural sentences:
# My Work Notes
I am currently reviewing the system architecture and identifying optimization opportunities.
The database performance has improved significantly after recent indexing changes.
Need to coordinate with the frontend team on API contract updates.RoboTyper will extract and type the sentences naturally.
Tips for Best Results
For High Activity Scores
- Use
--speed=fastfor maximum activity - Create longer content files (more typing diversity)
- Let it run during work hours
For Maximum Realism
- Use
--speed=slowornormal - Use work-related content in your file
- Natural variation in pauses prevents detection
Content Suggestions
- Meeting notes
- Project documentation
- Code comments
- Technical specifications
- Research notes
- Daily standup updates
Stopping the Bot
Press Ctrl+C to gracefully stop RoboTyper. It will show runtime statistics:
🛑 Shutdown signal received...
⏹️ RoboTyper stopped
🕐 Runtime: 2h 15m
📊 Processed 142 lines
Thanks for using RoboTyper! 🤖Development
# Clone repo
git clone <repo-url>
cd robotyper
# Install dependencies
pnpm install
# Run in development
pnpm dev
# Build
pnpm build
# Run built version
node dist/index.jsTroubleshooting
"Permission error" on macOS
- Grant Accessibility permissions in System Preferences
- Restart terminal after granting permissions
"No usable content found"
- Ensure your file has sentences longer than 15 characters
- Check that file exists at specified path
- RoboTyper will create sample content if file is invalid
Typing seems robotic
- Try
--speed=slowfor more variation - Ensure using current version (check with
--version) - Natural typos and pauses are built-in
Activity score still low
- Use
--speed=fastfor more continuous activity - Check pause intervals are working (2-60 seconds between actions)
- Ensure running during tracked work hours
License
MIT
Credits
Created by Phojie 🚀
Built with:
- @jitsi/robotjs - Keyboard/mouse automation
- Node.js - Runtime
- TypeScript - Development
Note: This tool is designed for legitimate activity simulation during actual work. Use responsibly.
