@auggieteo/dsh-synthetic-web-search 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -13
- package/cordis.patch.yml +8 -3
- package/examples/synthetic.cordis.yml +6 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ dsh plugin --profile web add @auggieteo/dsh-synthetic-web-search
|
|
|
22
22
|
|
|
23
23
|
### Public Git URL
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Install directly from the public Git repository:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
dsh plugin --profile web add git+https://github.com/auggie246/dsh-synthetic-web-search.git
|
|
@@ -42,13 +42,19 @@ Then rerun the same `dsh plugin --profile web add git+https://…` command. Do n
|
|
|
42
42
|
|
|
43
43
|
### Activate the provider
|
|
44
44
|
|
|
45
|
-
The install command adds this package to `dsh.profile.bundles`. Its bundled `cordis.patch.yml` inserts the `synthetic-web-search` row
|
|
45
|
+
The install command adds this package to `dsh.profile.bundles`. Its bundled `cordis.patch.yml` inserts the `synthetic-web-search` row **and selects `synthetic` as the `web` search provider**, replacing DSH's shipped `deepseek-official` selection. No `DSH_WEB_SEARCH_PROVIDER` environment variable is needed.
|
|
46
46
|
|
|
47
|
-
The row belongs in the **web host profile**, not an agent preset: `ctx.web` is process-wide and each provider must register once. [`examples/synthetic.cordis.yml`](examples/synthetic.cordis.yml) shows the
|
|
47
|
+
The row belongs in the **web host profile**, not an agent preset: `ctx.web` is process-wide and each provider must register once. [`examples/synthetic.cordis.yml`](examples/synthetic.cordis.yml) shows the provider row; add the following selection override when mounting it manually:
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
- id: web
|
|
51
|
+
config:
|
|
52
|
+
searchProvider: synthetic
|
|
53
|
+
```
|
|
48
54
|
|
|
49
55
|
Restart the DSH web profile after installation. Do not start a separate Vite server; it does not update an existing DSH GUI.
|
|
50
56
|
|
|
51
|
-
## Configure credentials
|
|
57
|
+
## Configure credentials
|
|
52
58
|
|
|
53
59
|
Open **Settings → Plugins → Plugin configuration → Synthetic web search**, enter the API key, and select **Save**. DSH stores it in its credentials domain and does not return it to the browser after saving.
|
|
54
60
|
|
|
@@ -58,14 +64,7 @@ For headless use, the plugin also reads the launch environment reference (by def
|
|
|
58
64
|
export SYNTHETIC_API_KEY='…'
|
|
59
65
|
```
|
|
60
66
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
export DSH_WEB_SEARCH_PROVIDER=synthetic
|
|
65
|
-
dsh web
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Provider selection is intentionally unambiguous. The existing `@deepseek-ai/dsh-tool-web` agent-preset row exposes `web_search` to the model.
|
|
67
|
+
Provider selection is intentionally unambiguous: installation pins `web.config.searchProvider` to `synthetic`. To use another provider later, apply a higher-precedence profile or `--patch` override with that provider's id. The existing `@deepseek-ai/dsh-tool-web` agent-preset row exposes `web_search` to the model.
|
|
69
68
|
|
|
70
69
|
### Configuration
|
|
71
70
|
|
|
@@ -101,6 +100,8 @@ npm run verify
|
|
|
101
100
|
|
|
102
101
|
`npm run verify` cleans generated output, type-checks, runs mocked provider tests, builds `lib/` from source (including the browser client bundle), and checks the npm package contents with `npm pack --dry-run`.
|
|
103
102
|
|
|
103
|
+
Releases are automated. Publish a GitHub release tagged `v<version>`, where `<version>` matches `package.json`. The publish workflow installs with `npm ci`, checks the tag, tests, builds, and publishes to npm. A prerelease publishes under the npm dist-tag `next`. A stable release publishes under `latest`.
|
|
104
|
+
|
|
104
105
|
To test a local checkout without touching another profile, point a throwaway profile at its absolute path:
|
|
105
106
|
|
|
106
107
|
```bash
|
|
@@ -114,7 +115,9 @@ The provider sends the documented request:
|
|
|
114
115
|
```http
|
|
115
116
|
POST https://api.synthetic.new/v2/search
|
|
116
117
|
Authorization: Bearer $SYNTHETIC_API_KEY
|
|
118
|
+
Accept: application/json
|
|
117
119
|
Content-Type: application/json
|
|
120
|
+
User-Agent: deepseek-harness-synthetic/0.1.0
|
|
118
121
|
|
|
119
122
|
{ "query": "…" }
|
|
120
123
|
```
|
|
@@ -128,6 +131,6 @@ It maps valid results into the Harness source vocabulary:
|
|
|
128
131
|
| `text` | `snippet` |
|
|
129
132
|
| `published` | `publishedAt` |
|
|
130
133
|
|
|
131
|
-
Malformed or non-URL entries are ignored. The provider does not create a generated answer (`content`) and returns `truncated: false`; the `ctx.web` seam applies the caller's `maxResults` cap. Network, redirect, HTTP, and response-shape failures surface as `WEB_PROVIDER_ERROR`; aborted requests surface as `WEB_ABORTED`.
|
|
134
|
+
Malformed or non-URL entries are ignored. The provider does not create a generated answer (`content`) and returns `truncated: false`; the `ctx.web` seam applies the caller's `maxResults` cap. Network, redirect, HTTP, and response-shape failures surface as `WEB_PROVIDER_ERROR`; a missing API key surfaces as `WEB_PROVIDER_CREDENTIAL_MISSING`; aborted requests surface as `WEB_ABORTED`.
|
|
132
135
|
|
|
133
136
|
Synthetic's documented API currently exposes only `query`, so `maxResults` is intentionally not sent upstream.
|
package/cordis.patch.yml
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# Bundle patch for @auggieteo/dsh-synthetic-web-search: inserts its host row
|
|
2
|
-
# `dsh plugin --profile web add <this package>`
|
|
3
|
-
#
|
|
1
|
+
# Bundle patch for @auggieteo/dsh-synthetic-web-search: inserts its host row and
|
|
2
|
+
# selects Synthetic for web search. `dsh plugin --profile web add <this package>`
|
|
3
|
+
# appends this bundle after DSH's base bundle, so this later row override replaces
|
|
4
|
+
# the shipped `deepseek-official` selection. Client roster entries come from the
|
|
4
5
|
# dsh.client block in package.json — no row needed here.
|
|
5
6
|
|
|
6
7
|
- insert:
|
|
7
8
|
- id: synthetic-web-search
|
|
8
9
|
name: "@auggieteo/dsh-synthetic-web-search"
|
|
10
|
+
|
|
11
|
+
- id: web
|
|
12
|
+
config:
|
|
13
|
+
searchProvider: synthetic
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# Host-plane row: it registers a provider into the process-wide `web` service.
|
|
2
2
|
# Install the package into the target profile before adding this row.
|
|
3
3
|
# `dsh plugin --profile web add @auggieteo/dsh-synthetic-web-search` mounts
|
|
4
|
-
#
|
|
4
|
+
# these rows through the shipped bundle; this file is the manual equivalent.
|
|
5
5
|
- id: synthetic-web-search
|
|
6
6
|
name: '@auggieteo/dsh-synthetic-web-search'
|
|
7
7
|
config:
|
|
8
8
|
# The Settings card stores its key under this DSH credential reference.
|
|
9
9
|
# apiKeyEnv: SYNTHETIC_API_KEY
|
|
10
10
|
# baseURL: https://api.synthetic.new
|
|
11
|
+
|
|
12
|
+
+# Overrides DSH's shipped deepseek-official selection.
|
|
13
|
+
- id: web
|
|
14
|
+
config:
|
|
15
|
+
searchProvider: synthetic
|
package/package.json
CHANGED