/s3, Slack
under /slack and PostgreSQL under /pg, and an agent reads them all with
ls, cat, grep and find.
Each VFS turns its service into files and folders. An S3 object is a file, a
Slack channel is a folder with one chat.jsonl per day, and a PostgreSQL
table is a folder with its rows in rows.jsonl. RAM needs
no credentials, so start there to try it.
Example: Slack
Mount Slack under/slack with a bot token, plus a user
token for search:
- Python
- TypeScript
- YAML
chat.jsonl holds one message per line. A name ends with its Slack ID after
__, so two channels with the same name stay apart.
head prints:
grep uses Slack’s own search: it asks Slack which days mention refund
and reads only those, not every day of every channel. That takes the
search_token (a user token with search:read) and -w,
since Slack matches whole words. Without them, or when Slack’s search cannot
answer, grep reads the files. Slack searches message text, file names and
reactions, and finds a new message only once it has indexed it. Attachments
under files/ are always read.