-
-
Notifications
You must be signed in to change notification settings - Fork 5k
Description
Description
AppFlowy currently requires a GUI interface for all interactions. This feature request proposes a Command-Line Interface (CLI) that allows programmatic, headless interactions with local AppFlowy instances, enabling:
- Local AI Agent Integration - AI agents can programmatically create, read, update, and delete workspaces, documents, and databases without a GUI
- Automation & Scripting - Users can automate complex workflows through CLI commands
- Data Control & Privacy - Users maintain full control over their data while leveraging agentic capabilities
- Server-like Deployment - AppFlowy can act as a backend service for applications that need collaborative workspace management
Example Use Cases:
# Create a new document
appflowy-cli doc create --workspace-id <id> --title "Meeting Notes"
# Add content to a document
appflowy-cli doc add-content --doc-id <id> --content "AI Agent Summary: ..."
# Create a database/table
appflowy-cli database create --workspace-id <id> --name "Tasks"
# Query data
appflowy-cli database query --db-id <id> --filter "status=pending"
# List all workspaces
appflowy-cli workspace list
# Initialize local AppFlowy instance
appflowy-cli init --data-path ~/.appflowy-dataImpact
Who Benefits:
- AI/Agent Developers - Can integrate AppFlowy as a persistent knowledge store for autonomous agents without UI overhead
- DevOps/Infrastructure Teams - Can deploy AppFlowy as a service component in larger systems
- Privacy-Conscious Users - Can build custom applications on top of AppFlowy while retaining data sovereignty
- Automation Engineers - Can create sophisticated workflows combining AppFlowy with other tools
- Enterprise Users - Can integrate AppFlowy into internal tools and workflows without GUI constraints
- Open-Source Community - Expands AppFlowy's use cases and adoption in agentic/automation ecosystems
Market Impact:
- Positions AppFlowy as the leading open-source alternative for AI-driven knowledge management
- Attracts developers building AI agents, automation tools, and backend systems
- Opens new market segments (SaaS integrations, API-based services, agent frameworks)
- Differentiates from closed-source competitors (Notion, others) by enabling deep programmatic control
Additional Context
Technical Approach (suggestion):
The CLI would leverage AppFlowy's existing Rust backend (flowy-core) which is already decoupled from the Flutter UI:
- Create a new Rust binary (appflowy-cli) that initializes AppFlowyCore without Flutter
- Expose core operations through command handlers that map CLI commands to existing event dispatch system
- Support both local and cloud workspaces
- Output structured data (JSON/YAML) for script integration
5.Provide event streaming for real-time updates
Sample Integration Flow:
Local AI Agent
↓
CLI Client (JSON/Protobuf)
↓
AppFlowy CLI Binary
↓
AppFlowyCore (Rust)
↓
SQLite/CollabDB (Local Storage)
Key Features to Include:
✅ Basic CRUD operations (documents, databases, workspaces)
✅ Authentication (local & cloud modes)
✅ Query & filtering capabilities
✅ Batch operations for efficiency
✅ Event subscriptions/webhooks
✅ JSON/Protobuf output formats
✅ Configuration management (data paths, logging)
✅ Error handling & logging
Related Use Cases:
AI agents storing research & analysis results
Automation platforms (n8n, Zapier) integration points
Knowledge graphs for ML training
Collaborative AI assistant backends
Internal tool integrations (Wiki + Agent interface)
Why This Matters:
AppFlowy's vision is "data privacy first" and "community-driven extensibility." A CLI is a natural extension that empowers users and developers while maintaining full data sovereignty. In the era of AI agents, having programmatic access to local, privacy-preserving storage is increasingly critical.