- simplex-deadmans-bot: Dead Man's Switch Haskell bot - simplexxx-directory: private SimpleXXX directory bot (fork of simplex-directory-service) - simplex-support-bot: support triage bot with configurable AI backend - --ai-url and --ai-model flags for any OpenAI-compatible provider - works with Grok, Ollama, OpenAI, LM Studio, etc. - AI_API_KEY env var (GROK_API_KEY still accepted as alias) - web: SimpleXXX directory frontend (Groups/Channels tabs, matches simplex.chat/directory style) - manager/: placeholder for Python profile manager (coming soon) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
784 B
Haskell
28 lines
784 B
Haskell
{-# LANGUAGE LambdaCase #-}
|
|
{-# LANGUAGE NamedFieldPuns #-}
|
|
|
|
module Main where
|
|
|
|
import Directory.Options
|
|
import Directory.Service
|
|
import Directory.Store
|
|
import Directory.Store.Migrate
|
|
import Simplex.Chat.Terminal (terminalChatConfig)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
opts@DirectoryOpts {directoryLog, migrateDirectoryLog, runCLI} <- welcomeGetOpts
|
|
case migrateDirectoryLog of
|
|
Just cmd -> migrate cmd opts terminalChatConfig
|
|
Nothing -> do
|
|
st <- openDirectoryLog directoryLog
|
|
if runCLI
|
|
then directoryServiceCLI st opts
|
|
else directoryService st opts terminalChatConfig
|
|
where
|
|
migrate = \case
|
|
MLCheck -> checkDirectoryLog
|
|
MLImport -> importDirectoryLogToDB
|
|
MLExport -> exportDBToDirectoryLog
|
|
MLListing -> saveGroupListingFiles
|