mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-08 22:22:17 +02:00
feat(rename): complete searchSpace to workspace transition across frontend and backend
- Introduced a comprehensive specification for renaming `searchSpace` to `workspace` in `surfsense_web` and `surfsense_desktop`, ensuring all TypeScript identifiers, React props, and local data structures are updated. - Implemented migration shims for persisted local state to prevent data loss during the transition. - Updated observability metrics and IPC channels to reflect the new naming convention. - Removed legacy `active-search-space` module and replaced it with `active-workspace` to maintain consistency. - Ensured no behavioral changes or data loss for users during the renaming process.
This commit is contained in:
parent
2a020629c5
commit
a8c1fb660d
259 changed files with 5480 additions and 2285 deletions
|
|
@ -93,7 +93,7 @@ Baidu Search does not create indexed documents in your knowledge base. It runs w
|
|||
|
||||
**No Baidu results appear**
|
||||
|
||||
- Confirm the Baidu Search connector is active in the current search space.
|
||||
- Confirm the Baidu Search connector is active in the current workspace.
|
||||
- Try a Chinese query with clear search intent, for example `百度智能云千帆 AppBuilder 最新功能`.
|
||||
- Check whether other web search engines are returning results. If none are, review the general [Web Search](/docs/how-to/web-search) setup.
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ The Circleback connector uses a **webhook-based integration**. Unlike other conn
|
|||
3. Click **Connect** to create the connector
|
||||
|
||||
<Callout type="info" title="No Credentials Needed">
|
||||
Circleback uses webhooks, so no API key or authentication is required. The webhook URL is unique to your search space.
|
||||
Circleback uses webhooks, so no API key or authentication is required. The webhook URL is unique to your workspace.
|
||||
</Callout>
|
||||
|
||||
### Step 2: Copy Your Webhook URL
|
||||
|
|
@ -57,7 +57,7 @@ After creating the connector:
|
|||
|
||||
The webhook URL looks like:
|
||||
```
|
||||
https://your-surfsense-url/api/v1/webhooks/circleback/{search_space_id}
|
||||
https://your-surfsense-url/api/v1/webhooks/circleback/{workspace_id}
|
||||
```
|
||||
|
||||
### Step 3: Configure Circleback Automation
|
||||
|
|
@ -101,7 +101,7 @@ Once configured, new meetings will automatically appear in SurfSense after Circl
|
|||
|
||||
1. Attend or process a meeting with Circleback
|
||||
2. Wait for Circleback to complete processing (usually a few minutes after the meeting ends)
|
||||
3. Check your SurfSense search space for the new meeting document
|
||||
3. Check your SurfSense workspace for the new meeting document
|
||||
|
||||
Each meeting document includes:
|
||||
- A direct link to view the meeting on Circleback
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ This works for cloud and self-hosted deployments, including desktop and mobile c
|
|||
3. In Obsidian, open **Settings → SurfSense**.
|
||||
4. Paste your SurfSense API token from the user settings section.
|
||||
5. Paste your Server URL in the plugin setting: either your SurfSense main domain (if `/api/v1` rewrites are enabled) or your direct backend URL.
|
||||
6. Choose the Search Space in the plugin, then the first sync should run automatically.
|
||||
6. Choose the Workspace in the plugin, then the first sync should run automatically.
|
||||
7. Confirm the connector appears as **Obsidian - <vault>** in SurfSense.
|
||||
|
||||
## Install via BRAT (recommended)
|
||||
|
|
@ -55,7 +55,7 @@ If you previously used the legacy Obsidian connector architecture, migrate to th
|
|||
## Troubleshooting
|
||||
|
||||
**Plugin connects but no files appear**
|
||||
- Verify the plugin is pointed to the correct Search Space.
|
||||
- Verify the plugin is pointed to the correct Workspace.
|
||||
- Trigger a manual sync from the plugin settings.
|
||||
- Confirm your API token is valid and not expired.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,17 +5,17 @@ description: How to invite teammates, share chats, and collaborate in realtime o
|
|||
|
||||
# Realtime Collaboration
|
||||
|
||||
SurfSense supports realtime collaboration so your team can work together on shared Search Spaces and chats. This guide walks you through the full setup.
|
||||
SurfSense supports realtime collaboration so your team can work together on shared Workspaces and chats. This guide walks you through the full setup.
|
||||
|
||||
## Step 1: Invite Members
|
||||
|
||||
Go to the **Manage Members** page in your Search Space and create an invite for your teammates.
|
||||
Go to the **Manage Members** page in your Workspace and create an invite for your teammates.
|
||||
|
||||
<img src="/homepage/hero_realtime/InviteMembersGif.gif" alt="Invite Members" style={{ width: '100%', borderRadius: '12px' }} />
|
||||
|
||||
## Step 2: Teammate Joins
|
||||
|
||||
Your teammate accepts the invite and the Search Space becomes shared between you.
|
||||
Your teammate accepts the invite and the Workspace becomes shared between you.
|
||||
|
||||
<img src="/homepage/hero_realtime/InviteJoinFlow.gif" alt="Invite Join Flow" style={{ width: '100%', borderRadius: '12px' }} />
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ description: Connect LM Studio to SurfSense
|
|||
# Connect LM Studio
|
||||
|
||||
Connect to your LM Studio local server. Add it from
|
||||
**Search Space Settings > Models**.
|
||||
**Workspace Settings > Models**.
|
||||
|
||||
## Base URL
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ Replace `<host>` with the LAN IP or domain for that machine.
|
|||
|
||||
## Add the Connection
|
||||
|
||||
1. Open Search Space Settings.
|
||||
1. Open Workspace Settings.
|
||||
2. Go to Models.
|
||||
3. Select LM Studio.
|
||||
4. Set API Base URL.
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ description: Connect Ollama to SurfSense
|
|||
# Connect Ollama
|
||||
|
||||
Connect to your Ollama local server. Add it from
|
||||
**Search Space Settings > Models**.
|
||||
**Workspace Settings > Models**.
|
||||
|
||||
## Base URL
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ Replace `<host>` with the LAN IP or domain for that machine.
|
|||
|
||||
## Add the Connection
|
||||
|
||||
1. Open Search Space Settings.
|
||||
1. Open Workspace Settings.
|
||||
2. Go to Models.
|
||||
3. Select Ollama.
|
||||
4. Set API Base URL.
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ http://<host>:<port>/v1
|
|||
|
||||
## Add the Connection
|
||||
|
||||
1. Open Search Space Settings.
|
||||
1. Open Workspace Settings.
|
||||
2. Go to Models.
|
||||
3. Select OpenAI Compatible.
|
||||
4. Set API Base URL.
|
||||
|
|
|
|||
|
|
@ -685,7 +685,7 @@ To verify your installation:
|
|||
|
||||
1. Open your browser and navigate to `http://localhost:3000`
|
||||
2. Sign in with your Google account (or local credentials if `AUTH_TYPE=LOCAL`)
|
||||
3. Create a search space and try uploading a document
|
||||
3. Create a workspace and try uploading a document
|
||||
4. Watch the upload status update live without refreshing. This confirms zero-cache is wired up correctly
|
||||
5. Test the chat functionality with your uploaded content
|
||||
|
||||
|
|
@ -709,7 +709,7 @@ To verify your installation:
|
|||
|
||||
Now that you have SurfSense running locally, you can explore its features:
|
||||
|
||||
- Create search spaces for organizing your content
|
||||
- Create workspaces for organizing your content
|
||||
- Upload documents or use the browser extension to save webpages
|
||||
- Ask questions about your saved content
|
||||
- Explore the advanced RAG capabilities
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ callback.
|
|||
|
||||
1. Discord sends a `MESSAGE_CREATE` event over its WebSocket API.
|
||||
2. SurfSense stores the event in the durable gateway inbox.
|
||||
3. SurfSense resolves the Discord user binding to a SurfSense user and search space.
|
||||
3. SurfSense resolves the Discord user binding to a SurfSense user and workspace.
|
||||
4. SurfSense runs the backend agent with that user's permissions.
|
||||
5. The agent reply is posted back to the same Discord channel.
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,6 @@ the Slack app to your workspace so Slack grants the updated permissions.
|
|||
|
||||
1. Slack sends an `app_mention` event to SurfSense.
|
||||
2. SurfSense verifies the Slack signature and stores the event in the gateway inbox.
|
||||
3. SurfSense resolves the Slack user binding to a SurfSense user and search space.
|
||||
3. SurfSense resolves the Slack user binding to a SurfSense user and workspace.
|
||||
4. SurfSense runs the backend agent with that user's permissions.
|
||||
5. The agent reply is posted back in the same Slack thread.
|
||||
|
|
|
|||
|
|
@ -59,4 +59,4 @@ webhook or pending `getUpdates` session before relying on the new mode.
|
|||
2. The user starts Telegram pairing.
|
||||
3. SurfSense provides a pairing code or bot link.
|
||||
4. The user sends the pairing command to the Telegram bot.
|
||||
5. SurfSense binds that Telegram chat to the selected search space.
|
||||
5. SurfSense binds that Telegram chat to the selected workspace.
|
||||
|
|
|
|||
|
|
@ -63,4 +63,4 @@ Check that:
|
|||
- Message Content Intent is enabled.
|
||||
- The bot can view and send messages in the channel.
|
||||
- Exactly one backend process is running the Discord listener.
|
||||
- The Discord user is paired to a SurfSense user and search space.
|
||||
- The Discord user is paired to a SurfSense user and workspace.
|
||||
|
|
|
|||
|
|
@ -101,5 +101,5 @@ import pytest
|
|||
pytestmark = pytest.mark.integration # or pytest.mark.unit
|
||||
```
|
||||
|
||||
3. Use fixtures from `conftest.py` — `client`, `headers`, `search_space_id`, and `cleanup_doc_ids` are available to integration tests. Unit tests get `make_connector_document` and sample ID fixtures.
|
||||
3. Use fixtures from `conftest.py` — `client`, `headers`, `workspace_id`, and `cleanup_doc_ids` are available to integration tests. Unit tests get `make_connector_document` and sample ID fixtures.
|
||||
4. Register any new markers in `pyproject.toml` under `markers`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue