Part of the SEPIA Framework.
More screenshots can be found here.
This is the primary SEPIA client used to communicate with SEPIA assistant. It is written in Javascript/HTML and runs cross-platform on any modern browser (desktop PC, Android, iOS), as web and mobile app or even as smart-speaker (headless) and smart-display on SBCs like the Raspberry Pi.
Features of the app are:
The latest release version is online at: https://sepia-framework.github.io/app/index.html
When you've installed SEPIA-Home the default link is: http://[sepia-home-IP]:20721/app/index.html
The Android app can be installed via the Google Play Store: Play Store link
Note: If you don't operate your own SEPIA server you can still open the public app in demo-mode (simply skip the log-in) and look around a bit though many of the features will not be available in this mode.
More languages for Android and an iOS app are in beta-test phase and will be release "when they are done" :-p
For experts only: Use the build-scripts in this repository to build your own version of the app (Android and iOS are available).
You can modify the client configuration via several URL parameters:
host
- SEPIA server host, e.g. IP address or domain + pathlang
- Default language code for client (ISO code)rc
- Default region code for client (BCP47 language-REGION code)isApp
- 'true' will change client to behave as if it was an app (not a website), e.g. login tokens will be valid for much longer etc.pwa
- 'true' will put the app in a PWA (progressive web app) compatible state by enabling the service-worker.noSW
- 'true' will force disable the service-worker of the page. This might be useful to find issues related to blocked cookies etc.isTiny
- 'true' will optimize the UI and controls to support small displays (e.g. Apple Watch or 240x240px screens)isHeadless
or autoSetup
- Load client settings from file (settings.js) and trigger setup mode if no user is logged in. 'isHeadless' will set some supported client features as well (e.g. don't open browser tabs etc.).hasTouch
- 'true' will set touch-screen mode (tweaked UI hover effects etc.) if screen itself is "emulating" touch and client does not properly detect mode.virtualKeyboard
- 'true' will enable an experimental, virtual keyboard that can be used for example for DIY client "kiosk"-mode apps with touch-screen.skinId
- Number (ID) of skin to use at start. Will overwrite user preference.env
- 'environment' setting for client (e.g.: default, speaker, smart_display)q
- Question that will be triggered when client is connectedshare
- Shared data e.g. via deeplinksview
- Switch to specific view on start for example always-on mode (e.g.: aomode, teachui, clexi
and clexiId
- CLEXI socket URL and access IDlogout
- 'true' will make sure client is logged out at start (all previous user date removed)cordova
- Set Cordova framework mode if 'true'isTest
- tbdThe chat input field has some direct commands that will influence the way the input is handled:
i18n:[lang_code]
- This will tell the assistant to handle the input in a certain langauge, e.g.: i18n:de Guten Tag
(assuming you are in english mode)linkshare [URL]
- This will generate a link card for the given URL, e.g.: linkshare https://example.com
[URL]
- Direct input of URLs will open the URL in a new tab or in-app browser. Some URLs might be handled via widgets like YouTube.saythis [text]
- Let the assistant speak this text, e.g.: saythis You are cool.
@[user]
- Send private message to specific user (if in same channel). The same can be triggered via tap on the user name.https://b07z.net/dl/sepia/index.html?q=[my request as text]
- e.g. test
https://b07z.net/dl/sepia/index.html?view=[app view]
- e.g. aomode
, teachui
https://b07z.net/dl/sepia/index.html?share=[base64 encoded share data]
- use long-press on your user name of one of your chat entries inside the app to generate share links... can be found here.