solstone-convey#
Web-based journal review interface built with Flask. It exposes a few small views for exploring daily summaries and entity data stored inside a journal folder.
Installation#
make install
Usage#
Run the server with:
convey
Authentication#
Password authentication is configured through the journal config at config/journal.json:
{
"convey": {
"password": "your-password-here"
}
}
A password must be configured to use the application. If no password is set, the login page will display an error with configuration instructions.
Architecture#
Convey uses an app plugin system where all functional views are implemented as independent apps in the /apps/ directory. The core convey/ package provides authentication, WebSocket communication, and the app loading infrastructure.
convey/
__init__.py - Flask app factory, app registry, context processors
state.py - global state (journal_root)
bridge.py - Callosum WebSocket bridge for real-time events
utils.py - shared helpers (format_date, spawn_agent, etc.)
screenshot.py - screenshot utility for testing
views/
__init__.py - blueprint registration
home.py - authentication (login/logout) and root redirect
templates/
app.html - main app container template
menu_bar.html - dynamic left sidebar menu
status_pane.html - WebSocket status indicator
login.html - login page
macros.html - Jinja macros
static/ - shared CSS and JavaScript
app.css - app system styles
app.js - facet pills, services, notification center
websocket.js - WebSocket connection handler
error-handler.js - global error handling
colors.js - color palette
vendor/ - third-party libraries (marked.js)
apps/ - App plugin directory (see APPS.md)
{app_name}/
app.json - metadata (icon, label)
routes.py - Flask blueprint with routes
workspace.html - main UI template
background.html - (optional) background service script
App System#
All functional views are implemented as apps in /apps/. Each app:
- Has its own directory with
app.json,routes.py, andworkspace.html - Uses blueprint name
app:{name}with URL prefix/app/{name}/ - Is automatically discovered and registered by
AppRegistry - Can provide facet-scoped views and background services
Browse /apps/ to see available apps.
Core Routes#
The convey/views/home.py module provides essential routes:
/- Redirects to/app/home//login- Authentication page/logout- Clear session and redirect to login/favicon.ico- Serve favicon
All functional views are accessed at /app/{name}/ URLs.
Adding a New App#
See APPS.md for detailed instructions on creating new apps.