Problem
Workspace indexing is synchronous with no progress indication. For large workspaces, indexing can take minutes with no feedback.
Research
- Continue.dev: AsyncGenerator yielding progress updates (progress float + description). React progress bar in UI.
- Khoj: BackgroundTasks for non-blocking re-indexing, no progress tracking.
- PrivateGPT: Batch/parallel ingestion modes, no user-facing progress.
Proposed approach
- Add optional
progress_callback: Callable[[int, int, str], None] to index_workspace_knowledgebase()
- CLI
/workspace index: print progress line (e.g., Indexing [12/45] docs/plan.md)
hermes workspace index: same progress display
- For turn-scoped auto-indexing: no progress (fast due to debounce)
- For gateway: log progress at info level
Related
Part of workspace foundation (#5840)
Problem
Workspace indexing is synchronous with no progress indication. For large workspaces, indexing can take minutes with no feedback.
Research
Proposed approach
progress_callback: Callable[[int, int, str], None]toindex_workspace_knowledgebase()/workspace index: print progress line (e.g.,Indexing [12/45] docs/plan.md)hermes workspace index: same progress displayRelated
Part of workspace foundation (#5840)