Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

An open "intelligent" assistant for the web that can listen to you and learn.

License

NotificationsYou must be signed in to change notification settings

mysamai/mysam

Repository files navigation

Greenkeeper badge

Build StatusDependency StatusDownload Status

Sam is an open-source, web-based"intelligent" assistant. It can listen to you, learn new actions and is extensible with JavaScript plugins running in any modern browser.

Watch this video to see what Sam can do:

MySam video

Getting started

mkdir mysam-testcd mysam-test

Create the followingindex.html

<!DOCTYPE html><html><head><title>MySam</title><linkhref="https://fonts.googleapis.com/css?family=Muli:400,400italic"rel="stylesheet"type="text/css"><linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"><linkrel="stylesheet"href="https://unpkg.com/mysam-ui@0.0.2/dist/styles.css"></head><body><divid="content"class="full"></div><scriptsrc="https://unpkg.com/mysam@0.2.0-pre.1/dist/mysam.js"></script><scriptsrc="https://unpkg.com/mysam-ui@0.0.2/dist/mysam-ui.js"></script><script>// Initialize API (in the browser)constapp=mysam();// Load the UIconstsam=mysamUi(document.getElementById('content'),app);</script></body></html>

Then serve serve the folder from a webserver, e.g. with

npm i -g node-staticstatic

And visit it in a browser (herelocalhost:8080).

Writing a plugin

In the<script> section above add

// Add a new plugin to the list of learnable actionssam.learn('myplugin',{description:'Say hello from my plugin'});// Register the action to perform when a classificationc comes insam.action('myplugin',(el,classification={})=>{// `el` is the main HTML element to render in// classification has information about what was saidel.innerHTML='Hello from myplugin! You said: '+classification.text;});

Usage with Webpack

mkdir mysam-testcd mysam-testnpm init --yes

Add the followingwebpack.config.json:

constpath=require('path');constwebpack=require('webpack');constmerge=require('webpack-merge');constUglifyJSPlugin=require('uglifyjs-webpack-plugin');constenv=process.env.NODE_ENV||'development';constcommons={context:path.join(__dirname,'src'),entry:'./index.js',output:{filename:path.join('dist','app.js')},module:{rules:[{test:/\.jsx?$/,exclude:/node_modules\/(?!(feathers|mysam|mysam-ui))/,loader:'babel-loader'}]},node:{fs:'empty'}};constdev={devtool:'source-map',devServer:{port:3030,contentBase:'.',compress:true}};constproduction={devtool:'cheap-module-source-map',output:{filename:path.join('dist','nina.js')},plugins:[newUglifyJSPlugin({compress:{warnings:false,screw_ie8:true},comments:false,sourceMap:false}),newwebpack.DefinePlugin({'process.env.NODE_ENV':JSON.stringify('production')})]};module.exports=merge(commons,env!=='development' ?production :dev);

Install devDependencies

npm install babel-core babel-loader babel-polyfill babel-preset-es2015 babel-preset-react uglify-js uglifyjs-webpack-plugin webpack webpack-dev-server webpack-merge --save-dev

And main dependencies

npm install mysam@pre mysam-ui react react-dom --save

Add a start script topackage.json:

"start": "webpack-dev-server",

And runnpm start.

Coming soon!

Website and more in-depth documentation coming soon!

About

An open "intelligent" assistant for the web that can listen to you and learn.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp