Skip to content
Nodejs AIML interpreter. Built for Node 5.
Branch: master
Clone or download
Jake Gully
Latest commit 55d5d8a Aug 12, 2017


surly adjective

  1. bad-tempered and unfriendly

Surly2 is a half-complete node.js AIML interpreter with a bad attitude.

Surly2 is a remake from the ground up of Surly using Node 5 and using as much asynchronicity as possible.


Actually works quite well so far but not everything is implemented. Even so, I wouldn't try using it for anything serious quite yet. Check out for full details.




  1. Acquire code
  2. npm install


Config files are found and read by rc. Check the "Configuration File Formats" section of the rc readme for more instructions. Any flag shown in node cli.js --help can be set in the options file.

You probably just want to create ~/.surly2rc and put something like this in it:

    "brain": "/path/to/aiml/files",
    "username": "",
    "password": "whatever"


  1. node cli.js
  2. Talk to Surly.
  3. Type exit to exit.

Or chat over XMPP

  1. Set up a config file (see above) with XMPP details username, password, host and port.
  2. node xmpp.js
  3. You can't add contacts yet. You'll have to do that yourself somehow.


Surly uses the debug npm package for debugging. E.g.

DEBUG=surly2 node cli.js


You can’t perform that action at this time.