deepseek-web-retrieval 0.8.0 → 0.9.0
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/CHANGELOG.md +9 -0
- package/README.md +13 -5
- package/dist/cli.js +281 -167
- package/docs/agents/claude-code.md +7 -1
- package/docs/agents/codex.md +7 -1
- package/docs/agents/opencode-v2.md +11 -3
- package/docs/agents/pi.md +6 -1
- package/docs/configuration.md +7 -0
- package/docs/design/installer-design.md +4 -4
- package/docs/research/ori-question-sourcing.md +12 -1
- package/package.json +3 -2
- package/src/core/auth.ts +7 -0
- package/src/core/client.ts +89 -25
- package/src/core/config-summary.ts +1 -0
- package/src/core/constants.ts +17 -2
- package/src/core/descriptions.ts +10 -1
- package/src/core/env.ts +3 -1
- package/src/core/format.ts +25 -4
- package/src/core/options.ts +47 -0
- package/src/core/search.ts +97 -14
- package/src/core/types.ts +17 -0
- package/src/installer/apply.ts +4 -4
- package/src/installer/cli.ts +2 -2
- package/src/installer/config-command.ts +4 -3
- package/src/installer/hosts/claude-code.ts +3 -17
- package/src/installer/hosts/codex.ts +3 -17
- package/src/installer/hosts/index.ts +2 -2
- package/src/installer/hosts/opencode.ts +1 -1
- package/src/installer/hosts/pi.ts +14 -15
- package/src/installer/hosts/shared.ts +23 -0
- package/src/installer/ownership.ts +2 -2
- package/src/installer/paths.ts +2 -2
- package/src/installer/{state.ts → record.ts} +15 -15
- package/src/installer/types.ts +1 -1
- package/src/installer/uninstall.ts +4 -4
- package/src/mcp/serve.ts +1 -2
- package/src/mcp/server.ts +16 -19
- package/src/opencode/plugin.ts +15 -10
- package/src/pi/extension.ts +23 -17
- package/src/mcp/auth.ts +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented here, one sentence per item.
|
|
4
4
|
|
|
5
|
+
## 0.9.0
|
|
6
|
+
|
|
7
|
+
- Accept an optional per-call `count` (1–50) on the MCP and Pi search tools and an optional per-call `maxChars` (0–1,000,000) on every adapter's fetch, each overriding the configured value for that one call.
|
|
8
|
+
- Open the search result text with `Searched for: <effective query>` whenever domain or language operators — or fitting the query-length limit — changed what was actually searched, so the model can attribute what it sees.
|
|
9
|
+
- Degrade gracefully instead of failing when search operators push a combined query past the API's 128-character limit: the query body truncates first, the language filter drops next, the include list last, and blocked domains never drop.
|
|
10
|
+
- Align user-facing installer wording with the domain glossary: the secrets refusal and record-repair guidance now say "install record" instead of "state file" or "undo state".
|
|
11
|
+
- Add the `baseUrl` knob (`DEEPSEEK_BASE_URL` environment variable or shared-file key) so every retrieval request can be routed through a proxy, enterprise gateway, or mock upstream; only an http(s) URL is accepted and anything else drops back to `https://api.deepseek.com`.
|
|
12
|
+
- Add keyless `pi-mock` and `opencode-mock` Docker e2e scenarios that run real host session loops (pi via a custom `models.json` provider, OpenCode via a custom provider) against an in-container mock upstream, invoking both retrieval tools and asserting the tool results reached the model — closing CI's tool-execution blind spot without a billed key — and document the keyless (CI) versus billed (local, real API) e2e responsibilities with a `test:e2e:billed` script.
|
|
13
|
+
|
|
5
14
|
## 0.8.0
|
|
6
15
|
|
|
7
16
|
- Add Claude Code as a supported host: an MCP-only integration registered in `.mcp.json` (project scope) or `~/.claude.json` (user scope), with a full installer host module (plan/apply/uninstall, both scopes), a `docs/agents/claude-code.md` guide, a version probe with drift note, and managed-policy detection that reports a `managed-settings.json` layer outranking the install.
|
package/README.md
CHANGED
|
@@ -127,10 +127,15 @@ binary files, per-request billing) are documented there.
|
|
|
127
127
|
### Search
|
|
128
128
|
|
|
129
129
|
- Requests summaries only (`need_content: false`, falling back from `summary` to
|
|
130
|
-
`snippet`); full page content never enters the results.
|
|
130
|
+
`snippet`); full page content never enters the results. A summary the cap shortens ends
|
|
131
|
+
with an ellipsis.
|
|
131
132
|
- Deduplicates URLs; an empty result set is normal, not an error.
|
|
132
|
-
- Builds `blockedDomains`, `includeDomains`, and `language` into query operators
|
|
133
|
-
|
|
133
|
+
- Builds `blockedDomains`, `includeDomains`, and `language` into query operators (part of
|
|
134
|
+
DeepSeek's documented search syntax). A combined query over the API's 128-character limit
|
|
135
|
+
degrades instead of failing — the query body truncates first, the language filter drops
|
|
136
|
+
next, the include list last, and blocked domains never drop — and whenever operators or
|
|
137
|
+
degradation changed the query, the result text opens with `Searched for: <effective query>`
|
|
138
|
+
so the model can attribute what it sees.
|
|
134
139
|
- Optional `rerank_score` and `authority` thresholds are off by default — the default
|
|
135
140
|
returns exactly what DeepSeek ranked. A positive threshold drops results below it.
|
|
136
141
|
A missing `rerank_score` is dropped too; an unknown `authority` stays unless
|
|
@@ -139,12 +144,15 @@ binary files, per-request billing) are documented there.
|
|
|
139
144
|
the Pi extension), the tool accepts an optional `original_question`: the user's
|
|
140
145
|
question in their own words. It is forwarded as DeepSeek's `ori_question`, trimmed
|
|
141
146
|
and truncated to 128 characters; on the Pi extension, a blank input falls back to the
|
|
142
|
-
most recent user message in the session.
|
|
147
|
+
most recent user message in the session. Those paths also take an optional per-call
|
|
148
|
+
`count` (1–50) overriding the configured result count for that call.
|
|
143
149
|
|
|
144
150
|
### Fetch
|
|
145
151
|
|
|
146
152
|
- Output is capped per the table above, title included; a `[content truncated]` marker
|
|
147
|
-
is added when the limit leaves room for it.
|
|
153
|
+
is added when the limit leaves room for it. An optional per-call `maxChars` parameter
|
|
154
|
+
(0–1,000,000) on every adapter overrides the configured cap for one call — a model that
|
|
155
|
+
sees the marker can widen the budget and re-fetch.
|
|
148
156
|
- A page that already opens with its title as a top-level heading does not get a
|
|
149
157
|
duplicate title.
|
|
150
158
|
- URLs must be absolute `http://` or `https://`, credential-free, and at most 8,192
|