Skip to content

azayrahmad/ms-agent-js

Repository files navigation

MSAgentJS Clippy Icon

MSAgentJS: The Modern Clippy for the Web

npm version GitHub Deploy Status npm downloads License TypeScript Ready

A web reimplementation of Microsoft Agent. Bring back Clippy and other classic Office assistants with authentic animations and speech support. Perfect for retro UIs and nostalgic web projects.

MS Agent JS in action as Clippy

Inspired by clippy.js, this is a fully rewritten project focuses on a more faithful and modern recreation of Microsoft Agent with improved animation handling, richer features, extensibility, and a design that works seamlessly on any web page.

Live Demo | Documentation | Contributing | Support on Ko-Fi

✨ Features

  • Interactive: Agents are draggable and clickable (single, double, and right-click) with events.
  • Speech Support: Support interactive speech balloon text input, selection list, checkbox, and buttons in authentic speech balloon.
  • TTS Support: TTS support with browser's native Web Speech API.
  • Zero Dependencies: No jQuery or any other external libraries required to run.
  • Modern API: Simple, promise-based API for animations, state transitions, and speech.
  • Zero CSS leakage: Shadow DOM isolates the Agent, making it safe to drop into any project.
  • High Performance: Uses HTML5 Canvas and optimized asset formats (WebP/WebM).
  • Legacy Support: Works with decompiled MS Agent's ACF files directly. Add your own Agents!

🎭 Available Agents

Current iteration of MSAgentJS focuses on recreating early Microsoft Agent 2.0 featured in Office 2000. Support for 2.1 version such as Genie and Merlin is in the works.

Clippit The Dot F1 The Genius Office Logo Mother Nature Monkey King Links Rocky
Clippit The Dot F1 The Genius Office Logo Mother Nature Monkey King Links Rocky

📦 Installation

npm install ms-agent-js

You can also download the pre-built library and assets directly from GitHub Releases.

🛠 Quick Start

import { Agent } from 'ms-agent-js';

async function init() {
  const agent = await Agent.load('Clippit');
  await agent.show();
  await agent.speak('Hello! I am your web assistant.');
}

init();

📖 Documentation

🛣️ Future Roadmap

  • Support for MS Agent 2.1 features:
    • Advanced animation looping logic.
    • Mouth movement (viseme).
    • Tray icon.
  • Support for streaming text (for LLM streaming output)

🤝 Credits

⚖️ License

MIT License.

About

Microsoft Agent reimplementation for the web in TypeScript. Make Clippy and friends your assistants!

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors