Add Slack channel extraction as a document source
- Dominant language
- Go
- Stars
- 20
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
frfr currently only extracts facts from PDFs and Markdown files. A lot of institutional knowledge, decisions, and technical context lives in Slack conversations and threads — but there's no way to point frfr at a channel and extract structured facts from it.
## Solution
Add Slack as a document source alongside PDFs and Markdown. A user points frfr at a Slack channel, and the system extracts facts from conversations and threads that can be queried with citations back to the original messages.
## Acceptance Criteria
- [ ] A user can import a Slack channel into a session by providing a channel ID or URL
- [ ] Messages and thread replies are included in the extraction
- [ ] Slack-specific formatting (mentions, links, emoji) is preserved as readable text, not raw markup
- [ ] Extracted facts can be queried and answers cite back to specific Slack messages with permalinks
- [ ] Channels with 1,000 or fewer messages are ingested in full
- [ ] Channels with more than 1,000 messages default to the last 90 days
- [ ] The message cap (1,000) and lookback period (90 days) are configurable
- [ ] A user can specify a custom date range to override the automatic bounding
Contributor guide
Research direction
Start by tracing how existing PDF and Markdown sources are ingested, then follow the session query and citation paths. Done means a Slack channel or URL imports messages and threads with readable formatting, configurable limits and date ranges, and citations linking back to specific messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100