Repository navigation
Expand file tree
/
Copy pathconfig.example.toml
More file actions
95 lines (84 loc) · 3.22 KB
/
Copy pathconfig.example.toml
File metadata and controls
95 lines (84 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
version = 1
workspace_id = ""
# One config/database should represent one Slack visibility boundary.
# Use separate config files and db_path values for company vs personal archives.
db_path = "~/.slacrawl/slacrawl.db"
cache_dir = "~/.slacrawl/cache"
log_dir = "~/.slacrawl/logs"
[[workspaces]]
id = "T01234567"
default = true
# uses:
# SLACK_T01234567_BOT_TOKEN
# SLACK_T01234567_APP_TOKEN
# SLACK_T01234567_USER_TOKEN
[[workspaces]]
id = "T08976543"
# override only if you do not want the default SLACK_<WORKSPACE_ID>_* names
bot_token_env = "SLACK_CLIENT_BOT_TOKEN"
app_token_env = "SLACK_CLIENT_APP_TOKEN"
user_token_env = "SLACK_CLIENT_USER_TOKEN"
[slack.bot]
enabled = true
token_env = "SLACK_BOT_TOKEN"
[slack.app]
enabled = true
token_env = "SLACK_APP_TOKEN"
[slack.user]
enabled = true
token_env = "SLACK_USER_TOKEN"
[slack.desktop]
enabled = true
path = ""
# include_drafts = true # set false to skip unsent drafts during sync and watch
[slack.mcp]
enabled = true
transport = "http"
base_url = "https://chatgpt.com/backend-api/wham/apps"
auth_path = "~/.codex/auth.json"
token_env = "CODEX_APPS_ACCESS_TOKEN"
account_id_env = "CODEX_APPS_ACCOUNT_ID"
protocol_version = "2025-03-26"
connector_id = ""
channel_types = "public_channel,private_channel"
page_size = 100
search_limit = 20
max_pages = 250
# Reference Slack MCP server over stdio:
# transport = "stdio"
# command = "npx"
# args = ["-y", "@modelcontextprotocol/server-slack"]
# Generic local archive provider (selected with --source provider:archive).
# Keep this block commented until the executable is installed.
# [[providers]]
# name = "archive"
# command = "/usr/local/bin/archive-provider"
# args = ["provide", "--format", "jsonl"]
# env_allowlist = ["ARCHIVE_DB_PATH"]
# source_rank = 5 # must be greater than 2; lower ranks win; equal ranks may replace
# batch_size = 1000 # default 1000; valid range 1..100000
[sync]
concurrency = 4
repair_every = "30m"
desktop_refresh_every = "5m"
full_history = true
# include_dms = true # API default: enabled with SLACK_USER_TOKEN; requires im:history, mpim:history, im:read, mpim:read.
# Set false to exclude DMs from API sync, tail repair, live tail, desktop, and MCP before writes.
# Live tail otherwise keeps delivered DMs; untyped/metadata events under false
# require conversations.info read access and fail without ACK when lookup fails.
# Desktop requires selected public/private metadata and reports omitted records.
# MCP requires native catalog evidence, including for explicit IDs; text adapters stop before data calls.
# Legacy Git share imports reject false; share.auto_update=false permits local/API work.
# Provider v1 rejects false before checkpoint access/process launch; use API or a workspace JSON export.
# Slack-export imports require admitted non-DM conversations; previously archived rows are unchanged.
# auto_join = true # auto-join public channels during sync (default: true; set false to only sync already-joined channels)
# exclude_channels = [] # channel names to skip during sync, case-insensitive (default: empty)
[search]
default_mode = "auto"
[share]
remote = ""
repo_path = "~/.slacrawl/share"
branch = "main"
# Set false to query/sync locally when sync.include_dms=false blocks legacy share imports.
auto_update = true
stale_after = "15m"