@askalf/deepdive 0.14.0 → 0.16.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/README.md +22 -1
- package/dist/agent.d.ts +2 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +12 -0
- package/dist/agent.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +168 -15
- package/dist/cli.js.map +1 -1
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js +1 -0
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/dates.d.ts +1 -0
- package/dist/dates.d.ts.map +1 -1
- package/dist/dates.js +23 -0
- package/dist/dates.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/open.d.ts +6 -0
- package/dist/open.d.ts.map +1 -0
- package/dist/open.js +25 -0
- package/dist/open.js.map +1 -0
- package/dist/search/hackernews.d.ts +16 -0
- package/dist/search/hackernews.d.ts.map +1 -0
- package/dist/search/hackernews.js +47 -0
- package/dist/search/hackernews.js.map +1 -0
- package/dist/search/openalex.d.ts +24 -0
- package/dist/search/openalex.d.ts.map +1 -0
- package/dist/search/openalex.js +71 -0
- package/dist/search/openalex.js.map +1 -0
- package/dist/search/pubmed.d.ts +7 -0
- package/dist/search/pubmed.d.ts.map +1 -0
- package/dist/search/pubmed.js +75 -0
- package/dist/search/pubmed.js.map +1 -0
- package/dist/search/semanticscholar.d.ts +21 -0
- package/dist/search/semanticscholar.d.ts.map +1 -0
- package/dist/search/semanticscholar.js +58 -0
- package/dist/search/semanticscholar.js.map +1 -0
- package/dist/search/stackexchange.d.ts +17 -0
- package/dist/search/stackexchange.d.ts.map +1 -0
- package/dist/search/stackexchange.js +70 -0
- package/dist/search/stackexchange.js.map +1 -0
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +26 -0
- package/dist/search.js.map +1 -1
- package/dist/sessions.d.ts +4 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +32 -0
- package/dist/sessions.js.map +1 -1
- package/dist/stats.d.ts +20 -0
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +73 -0
- package/dist/stats.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -188,6 +188,12 @@ Two signals that help you read a report at a glance.
|
|
|
188
188
|
|
|
189
189
|
**Published dates.** When deepdive fetches a page, it tries to recover the page's publication date from the rendered HTML — JSON-LD `datePublished`, `<meta property="article:published_time">` and friends, or a `<time datetime>` element. When it finds one, the source row shows it (`fetched 2026-05-07 · published 2024-03-15`), the HTML export shows it, the JSON carries it as `publishedAt`, **and** the synthesizer sees it — so when sources disagree it can prefer the more recent one and flag claims that come from an older page. Pages that don't expose a date (many SPAs) simply don't get the annotation; nothing breaks.
|
|
190
190
|
|
|
191
|
+
**Recency filter.** Pass `--since` (or `DEEPDIVE_SINCE`) to drop stale sources outright — an absolute date (`--since=2024`, `--since=2024-06-15`) or a duration meaning "that long ago" (`--since=30d`, `--since=2w`). A fetched page whose detected publication date is before the cutoff is skipped (`stale` in `--verbose`); pages with no detectable date are kept, so a missing-metadata page is never penalized. Useful for fast-moving topics where a 2019 blog post is worse than no answer.
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
deepdive "best way to deploy a node app in 2026" --since=365d --deep
|
|
195
|
+
```
|
|
196
|
+
|
|
191
197
|
**Confidence.** After each run, alongside the cost line, deepdive prints a one-line coverage read:
|
|
192
198
|
|
|
193
199
|
```
|
|
@@ -418,9 +424,21 @@ One adapter per backend. Default (DuckDuckGo) needs no key.
|
|
|
418
424
|
| Wikipedia | `--search=wikipedia` | nothing | Encyclopedia-first. Best for definitional / factual sub-queries. Language via `DEEPDIVE_WIKIPEDIA_LANG` (default `en`). |
|
|
419
425
|
| arXiv | `--search=arxiv` | nothing | Research-paper / preprint search via the arXiv API. Kept sources are abstract pages; the PDF path handles linked PDFs. |
|
|
420
426
|
| GitHub | `--search=github` | `DEEPDIVE_GITHUB_TOKEN` (optional) | Repository search — "what project does X". Works keyless at 60 req/hr; the token raises the limit. |
|
|
427
|
+
| Hacker News | `--search=hackernews` | nothing | Algolia-hosted HN search. Community discussion, release threads, primary sources. Snippet shows points/comments. |
|
|
428
|
+
| Stack Exchange | `--search=stackexchange` | nothing | Q&A search (default `stackoverflow`; `DEEPDIVE_STACKEXCHANGE_SITE` for serverfault/superuser/etc). Keyless (throttled). |
|
|
429
|
+
| PubMed | `--search=pubmed` | nothing | Biomedical literature via NCBI E-utilities. Kept sources are abstract pages; snippet shows authors/journal/date. |
|
|
430
|
+
| Semantic Scholar | `--search=semanticscholar` (`s2`) | `DEEPDIVE_S2_KEY` (recommended) | Academic paper search. Keyless works but is heavily rate-limited (frequent 429s); a free API key makes it reliable. Snippet shows citations/year/authors. |
|
|
431
|
+
| OpenAlex | `--search=openalex` | nothing | ~250M scholarly works, all disciplines. Keyless; set `DEEPDIVE_OPENALEX_MAILTO` to join the faster "polite pool". Sources are landing pages / DOIs. |
|
|
421
432
|
|
|
422
433
|
Adding a new adapter is ~30 lines: implement `SearchAdapter` in `src/search/*.ts`, register in `src/search.ts`. The full contract + a copy-paste scaffold live in [docs/search-adapter.md](docs/search-adapter.md).
|
|
423
434
|
|
|
435
|
+
To preview what a backend returns (no LLM, no fetch), use the `search` subcommand:
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
deepdive search "rust async runtime" --search=hackernews
|
|
439
|
+
deepdive search "nginx 502" --search=stackexchange --json
|
|
440
|
+
```
|
|
441
|
+
|
|
424
442
|
---
|
|
425
443
|
|
|
426
444
|
## `deepdive doctor`
|
|
@@ -482,7 +500,8 @@ session 2026-05-07_134509_5959f102 (deepdive resume 2026-05-07_134509_5959f102
|
|
|
482
500
|
Four subcommands operate on saved sessions:
|
|
483
501
|
|
|
484
502
|
```bash
|
|
485
|
-
deepdive sessions ls
|
|
503
|
+
deepdive sessions ls [<filter>] # newest first; optional case-insensitive question filter
|
|
504
|
+
deepdive stats # totals: cost, sources, rounds, per-model breakdown, date span
|
|
486
505
|
deepdive sessions rm <id> [<id>...] # delete one or more sessions
|
|
487
506
|
deepdive sessions prune --older-than=30d # delete old sessions (and/or --keep=N; --dry-run to preview)
|
|
488
507
|
deepdive show <id> # re-print the original markdown answer
|
|
@@ -516,6 +535,8 @@ deepdive export 2026-05-07 --format=md # re-render the origina
|
|
|
516
535
|
|
|
517
536
|
The markdown→HTML rendering is hand-rolled (`src/markdown.ts`) so the export adds **no runtime dependency** — same audit-it-in-an-afternoon guarantee as the rest of the tool. The HTML is produced from the saved session, so you can export a run you did weeks ago without re-spending a token.
|
|
518
537
|
|
|
538
|
+
To render *and* open it in one step, `deepdive open <id>` writes the HTML to a temp file (or `--out=<path>`) and launches your default browser — the file path is always printed, so it works on a headless box too.
|
|
539
|
+
|
|
519
540
|
---
|
|
520
541
|
|
|
521
542
|
## Diff two runs — research over time
|
package/dist/agent.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export interface AgentConfig {
|
|
|
41
41
|
domainFilter?: DomainFilter;
|
|
42
42
|
env?: Record<string, string | undefined>;
|
|
43
43
|
tldr?: boolean;
|
|
44
|
+
sinceMs?: number;
|
|
44
45
|
onEvent?: (event: AgentEvent) => void;
|
|
45
46
|
onSynthesizeToken?: (chunk: string, round: number) => void;
|
|
46
47
|
}
|
|
@@ -75,7 +76,7 @@ export type AgentEvent = {
|
|
|
75
76
|
} | {
|
|
76
77
|
type: "fetch.skipped";
|
|
77
78
|
url: string;
|
|
78
|
-
reason: "robots" | "pdf-no-extractor" | "pdf-extract-error" | "domain-deny" | "domain-not-allowed";
|
|
79
|
+
reason: "robots" | "pdf-no-extractor" | "pdf-extract-error" | "domain-deny" | "domain-not-allowed" | "stale";
|
|
79
80
|
} | {
|
|
80
81
|
type: "include.done";
|
|
81
82
|
ingested: number;
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAyB,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AAStB,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,SAAS,CAAC;IAIf,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK9D,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,WAAW,CAAC;IAIvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAKnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAI5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAGzC,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -242,6 +242,18 @@ export async function runAgent(question, config, signal) {
|
|
|
242
242
|
// HTML (JSON-LD / meta / <time>). PDFs and cache hits without html
|
|
243
243
|
// simply yield undefined — additive, never blocks keeping the source.
|
|
244
244
|
const publishedAt = isPdf ? undefined : extractPublishedDate(f.page.html);
|
|
245
|
+
// Recency filter (--since): drop a source dated before the cutoff.
|
|
246
|
+
// Dateless sources pass (we don't penalize missing metadata).
|
|
247
|
+
if (config.sinceMs !== undefined &&
|
|
248
|
+
publishedAt !== undefined &&
|
|
249
|
+
publishedAt < config.sinceMs) {
|
|
250
|
+
emit(config, {
|
|
251
|
+
type: "fetch.skipped",
|
|
252
|
+
url: f.page.finalUrl || f.page.url,
|
|
253
|
+
reason: "stale",
|
|
254
|
+
});
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
245
257
|
keptSources.push({
|
|
246
258
|
id: keptSources.length + 1,
|
|
247
259
|
url: f.page.finalUrl || f.page.url,
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ3D,OAAO,EAAgC,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAiKtB,UAAU,UAAU;IAIlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAoBD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoNpD;AA8ED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,cAAc,EAAE,sBAAsB,EACnD,OAAO,EAAE,MAAM,GACd,MAAM,CAgBR;AAKD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GACrC,MAAM,CASR;AAKD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIrD"}
|
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
// Prints the cited markdown report to stdout (or JSON with --json). Progress
|
|
10
10
|
// events go to stderr when --verbose is set or DEEPDIVE_VERBOSE=1.
|
|
11
11
|
import { writeFileSync } from "node:fs";
|
|
12
|
-
import { resolve } from "node:path";
|
|
12
|
+
import { resolve, join } from "node:path";
|
|
13
|
+
import { tmpdir } from "node:os";
|
|
14
|
+
import { spawn } from "node:child_process";
|
|
13
15
|
import { fileURLToPath } from "node:url";
|
|
14
16
|
import { resolveConfig } from "./config.js";
|
|
15
17
|
import { parseMaxCost, BudgetExceededError } from "./budget.js";
|
|
@@ -21,12 +23,14 @@ import { renderSourcesMarkdown, renderAnswerMarkdown } from "./citations.js";
|
|
|
21
23
|
import { synthesize } from "./synthesize.js";
|
|
22
24
|
import { verifyCitations as runVerify } from "./verify.js";
|
|
23
25
|
import { formatCostLine, looksLikeDario, estimateCost, } from "./pricing.js";
|
|
24
|
-
import { generateSessionId, saveSession, loadSession, listSessions, resolveSessionId, renderSessionsList, deleteSession, pruneSessions, parseDuration, } from "./sessions.js";
|
|
26
|
+
import { generateSessionId, saveSession, loadSession, listSessions, resolveSessionId, renderSessionsList, deleteSession, pruneSessions, parseDuration, loadAllSessions, } from "./sessions.js";
|
|
27
|
+
import { aggregateSessionStats, renderStats } from "./stats.js";
|
|
25
28
|
import { renderHtmlReport } from "./html-export.js";
|
|
26
29
|
import { assessConfidence, formatConfidenceLine } from "./confidence.js";
|
|
27
30
|
import { loadConfigFile, fileConfigToEnv } from "./config-file.js";
|
|
28
31
|
import { resolveProfile } from "./profiles.js";
|
|
29
32
|
import { completionScript } from "./completion.js";
|
|
33
|
+
import { browserOpenCommand } from "./open.js";
|
|
30
34
|
import { diffSessions, renderDiffText, DIFF_NARRATE_SYSTEM, buildDiffNarrateUser, } from "./diff.js";
|
|
31
35
|
import { callLLM } from "./llm.js";
|
|
32
36
|
import { runDoctor, renderDoctorText, renderDoctorJson, exitCodeFor, scrubPath, } from "./doctor.js";
|
|
@@ -35,7 +39,8 @@ const USAGE = `deepdive — local research agent
|
|
|
35
39
|
Usage:
|
|
36
40
|
deepdive "<question>" [flags] Run the research agent
|
|
37
41
|
deepdive doctor [flags] Health check — paste the output when filing issues
|
|
38
|
-
deepdive sessions ls
|
|
42
|
+
deepdive sessions ls [<filter>] List saved sessions (optional question substring)
|
|
43
|
+
deepdive stats Aggregate cost / sources / models across sessions
|
|
39
44
|
deepdive show <id> Print a saved session's markdown answer
|
|
40
45
|
deepdive resume <id> [<question>] Re-synthesize against a saved session's
|
|
41
46
|
sources (cheap iteration; no re-fetching)
|
|
@@ -49,6 +54,10 @@ Usage:
|
|
|
49
54
|
deepdive sessions rm <id> [<id>...] Delete one or more saved sessions
|
|
50
55
|
deepdive sessions prune --older-than=30d Delete old sessions (and/or --keep=<n> newest;
|
|
51
56
|
--dry-run to preview)
|
|
57
|
+
deepdive search "<query>" Run just the search adapter, print raw results
|
|
58
|
+
(no LLM/fetch). Honors --search / --json.
|
|
59
|
+
deepdive open <id> Render a session to HTML and open it in the
|
|
60
|
+
browser (--out to keep the file)
|
|
52
61
|
deepdive completion <bash|zsh|fish> Print a shell completion script
|
|
53
62
|
deepdive --help Show this help
|
|
54
63
|
|
|
@@ -66,12 +75,13 @@ Flags:
|
|
|
66
75
|
Env: DEEPDIVE_MAX_COST. Exit code 2 on cap-hit.
|
|
67
76
|
--max-tokens=<n> Output max tokens per LLM call. Default: 4096
|
|
68
77
|
--search=<adapter> Search adapter: duckduckgo | searxng | brave | tavily | exa |
|
|
69
|
-
auto | wikipedia | arxiv | github
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
auto | wikipedia | arxiv | github | hackernews |
|
|
79
|
+
stackexchange | pubmed | semanticscholar | openalex
|
|
80
|
+
Default: duckduckgo (no key required). wikipedia, arxiv,
|
|
81
|
+
hackernews, stackexchange, pubmed, semanticscholar, and
|
|
82
|
+
openalex need no key; github works keyless
|
|
83
|
+
(DEEPDIVE_GITHUB_TOKEN raises the limit). 'auto' runs DDG
|
|
84
|
+
first, Brave fallback (if DEEPDIVE_BRAVE_KEY).
|
|
75
85
|
--results-per-query=<n> Results per sub-query. Default: 5
|
|
76
86
|
--max-sources=<n> Total sources to fetch. Default: 12
|
|
77
87
|
--max-words-per-source=<n> Per-source content cap before synthesis. Default: 2000
|
|
@@ -104,6 +114,10 @@ Flags:
|
|
|
104
114
|
exclusively (e.g. github.com,docs.anthropic.com).
|
|
105
115
|
--deny-domain=<list> Comma-separated hostname suffixes to drop
|
|
106
116
|
(e.g. pinterest.com,quora.com).
|
|
117
|
+
--since=<date|duration> Drop sources published before this — an absolute
|
|
118
|
+
date (2024, 2024-06, 2024-06-15) or a duration
|
|
119
|
+
(30d, 12h, 2w = that long ago). Sources with no
|
|
120
|
+
detectable date are kept. Env: DEEPDIVE_SINCE.
|
|
107
121
|
--api-format=<anthropic|openai>
|
|
108
122
|
Wire format for the LLM endpoint. Default:
|
|
109
123
|
auto-detected from --base-url (api.openai.com,
|
|
@@ -127,7 +141,8 @@ Flags:
|
|
|
127
141
|
Environment:
|
|
128
142
|
DEEPDIVE_BASE_URL, DEEPDIVE_API_KEY, DEEPDIVE_MODEL, DEEPDIVE_SEARCH,
|
|
129
143
|
DEEPDIVE_SEARXNG_URL, DEEPDIVE_BRAVE_KEY, DEEPDIVE_TAVILY_KEY, DEEPDIVE_EXA_KEY,
|
|
130
|
-
DEEPDIVE_WIKIPEDIA_LANG, DEEPDIVE_GITHUB_TOKEN,
|
|
144
|
+
DEEPDIVE_WIKIPEDIA_LANG, DEEPDIVE_GITHUB_TOKEN, DEEPDIVE_STACKEXCHANGE_SITE,
|
|
145
|
+
DEEPDIVE_S2_KEY, DEEPDIVE_OPENALEX_MAILTO,
|
|
131
146
|
DEEPDIVE_MAX_SOURCES, DEEPDIVE_FETCH_TIMEOUT_MS, DEEPDIVE_HEADED,
|
|
132
147
|
DEEPDIVE_DEEP_ROUNDS, DEEPDIVE_CONCURRENCY, DEEPDIVE_NO_CACHE,
|
|
133
148
|
DEEPDIVE_CACHE_DIR, DEEPDIVE_CACHE_TTL_MS, DEEPDIVE_JSON, DEEPDIVE_VERBOSE, DEEPDIVE_TLDR,
|
|
@@ -135,7 +150,7 @@ Environment:
|
|
|
135
150
|
DEEPDIVE_NO_VERIFY_CITES, DEEPDIVE_STRICT_CITES, DEEPDIVE_CITE_MIN_RECALL,
|
|
136
151
|
DEEPDIVE_NO_COST, DEEPDIVE_PRICE_INPUT_PER_MTOK, DEEPDIVE_PRICE_OUTPUT_PER_MTOK,
|
|
137
152
|
DEEPDIVE_INCLUDE, DEEPDIVE_PDF_MAX_PAGES,
|
|
138
|
-
DEEPDIVE_ALLOW_DOMAIN, DEEPDIVE_DENY_DOMAIN, DEEPDIVE_API_FORMAT,
|
|
153
|
+
DEEPDIVE_ALLOW_DOMAIN, DEEPDIVE_DENY_DOMAIN, DEEPDIVE_SINCE, DEEPDIVE_API_FORMAT,
|
|
139
154
|
DEEPDIVE_NO_SESSIONS, DEEPDIVE_SESSIONS_DIR, DEEPDIVE_CONFIG
|
|
140
155
|
|
|
141
156
|
Config file:
|
|
@@ -156,6 +171,9 @@ const SUBCOMMAND_VERBS = new Set([
|
|
|
156
171
|
"export",
|
|
157
172
|
"diff",
|
|
158
173
|
"completion",
|
|
174
|
+
"search",
|
|
175
|
+
"open",
|
|
176
|
+
"stats",
|
|
159
177
|
]);
|
|
160
178
|
// Exported for unit tests.
|
|
161
179
|
export function parseArgs(argv) {
|
|
@@ -325,6 +343,9 @@ export function parseArgs(argv) {
|
|
|
325
343
|
case "profile":
|
|
326
344
|
flags.profile = value;
|
|
327
345
|
break;
|
|
346
|
+
case "since":
|
|
347
|
+
flags.since = value;
|
|
348
|
+
break;
|
|
328
349
|
case "format":
|
|
329
350
|
flags.format = value.toLowerCase();
|
|
330
351
|
break;
|
|
@@ -539,6 +560,15 @@ async function main(argv) {
|
|
|
539
560
|
if (parsed.question === "diff") {
|
|
540
561
|
return await diffCommand(parsed);
|
|
541
562
|
}
|
|
563
|
+
if (parsed.question === "search") {
|
|
564
|
+
return await searchCommand(parsed);
|
|
565
|
+
}
|
|
566
|
+
if (parsed.question === "open") {
|
|
567
|
+
return await openCommand(parsed);
|
|
568
|
+
}
|
|
569
|
+
if (parsed.question === "stats") {
|
|
570
|
+
return await statsCommand(parsed);
|
|
571
|
+
}
|
|
542
572
|
if (!parsed.question) {
|
|
543
573
|
process.stderr.write(`deepdive: missing question.\n\n${USAGE}`);
|
|
544
574
|
return 2;
|
|
@@ -586,8 +616,104 @@ function completionCommand(parsed) {
|
|
|
586
616
|
process.stdout.write(completionScript(shell));
|
|
587
617
|
return 0;
|
|
588
618
|
}
|
|
619
|
+
// `deepdive search "<query>" [--search=<adapter>] [--json]` — run just the
|
|
620
|
+
// search adapter and print the raw candidate list. No LLM, no fetch, no
|
|
621
|
+
// browser — a cheap way to preview what a backend returns or debug an adapter.
|
|
622
|
+
async function searchCommand(parsed) {
|
|
623
|
+
const config = resolveConfig(parsed.flags, process.env);
|
|
624
|
+
const query = parsed.extras[0];
|
|
625
|
+
if (!query) {
|
|
626
|
+
process.stderr.write(`deepdive: search requires a query (e.g. deepdive search "rust async" --search=hackernews)\n`);
|
|
627
|
+
return 2;
|
|
628
|
+
}
|
|
629
|
+
let adapter;
|
|
630
|
+
try {
|
|
631
|
+
adapter = await resolveSearchAdapter(config.searchAdapter, process.env);
|
|
632
|
+
}
|
|
633
|
+
catch (err) {
|
|
634
|
+
process.stderr.write(`deepdive: ${safeErrorMessage(err)}\n`);
|
|
635
|
+
return 1;
|
|
636
|
+
}
|
|
637
|
+
const ac = new AbortController();
|
|
638
|
+
const sigint = () => ac.abort();
|
|
639
|
+
process.on("SIGINT", sigint);
|
|
640
|
+
process.on("SIGTERM", sigint);
|
|
641
|
+
try {
|
|
642
|
+
const count = parsed.flags.resultsPerQuery ?? 10;
|
|
643
|
+
const results = await adapter.search(query, count, ac.signal);
|
|
644
|
+
if (config.jsonOutput) {
|
|
645
|
+
process.stdout.write(JSON.stringify({ adapter: adapter.name, query, results }, null, 2) + "\n");
|
|
646
|
+
return 0;
|
|
647
|
+
}
|
|
648
|
+
if (results.length === 0) {
|
|
649
|
+
process.stdout.write(`(no results from ${adapter.name} for "${query}")\n`);
|
|
650
|
+
return 0;
|
|
651
|
+
}
|
|
652
|
+
const lines = results.map((r) => {
|
|
653
|
+
const snip = r.snippet
|
|
654
|
+
? `\n ${ellipsize(r.snippet.replace(/\s+/g, " "), 100)}`
|
|
655
|
+
: "";
|
|
656
|
+
return `${String(r.rank).padStart(2)}. ${r.title || r.url}\n ${r.url}${snip}`;
|
|
657
|
+
});
|
|
658
|
+
process.stdout.write(lines.join("\n") + "\n");
|
|
659
|
+
return 0;
|
|
660
|
+
}
|
|
661
|
+
catch (err) {
|
|
662
|
+
process.stderr.write(`deepdive: ${safeErrorMessage(err)}\n`);
|
|
663
|
+
return 1;
|
|
664
|
+
}
|
|
665
|
+
finally {
|
|
666
|
+
process.off("SIGINT", sigint);
|
|
667
|
+
process.off("SIGTERM", sigint);
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
// `deepdive open <id> [--out=path]` — render a saved session to a self-
|
|
671
|
+
// contained HTML file (temp dir, or --out) and open it in the default browser.
|
|
672
|
+
// The browser spawn is best-effort; the file path is always printed so a
|
|
673
|
+
// headless box can open it manually.
|
|
674
|
+
async function openCommand(parsed) {
|
|
675
|
+
const config = resolveConfig(parsed.flags, process.env);
|
|
676
|
+
const idArg = parsed.extras[0];
|
|
677
|
+
if (!idArg) {
|
|
678
|
+
process.stderr.write(`deepdive: open requires a session id (try \`deepdive sessions ls\`)\n`);
|
|
679
|
+
return 2;
|
|
680
|
+
}
|
|
681
|
+
try {
|
|
682
|
+
const id = await resolveSessionId(idArg, { dir: config.sessions.dir });
|
|
683
|
+
const record = await loadSession(id, { dir: config.sessions.dir });
|
|
684
|
+
const file = parsed.outPath
|
|
685
|
+
? resolve(parsed.outPath)
|
|
686
|
+
: join(tmpdir(), `deepdive-${id}.html`);
|
|
687
|
+
writeFileSync(file, renderHtmlReport(record), "utf-8");
|
|
688
|
+
const { cmd, args } = browserOpenCommand(process.platform, file);
|
|
689
|
+
try {
|
|
690
|
+
const child = spawn(cmd, args, { stdio: "ignore", detached: true });
|
|
691
|
+
// Opener missing (e.g. headless box with no xdg-open) is non-fatal — the
|
|
692
|
+
// path is printed for manual opening.
|
|
693
|
+
child.on("error", () => undefined);
|
|
694
|
+
child.unref();
|
|
695
|
+
}
|
|
696
|
+
catch {
|
|
697
|
+
/* non-fatal */
|
|
698
|
+
}
|
|
699
|
+
process.stderr.write(`opened ${file}\n`);
|
|
700
|
+
process.stdout.write(file + "\n");
|
|
701
|
+
return 0;
|
|
702
|
+
}
|
|
703
|
+
catch (err) {
|
|
704
|
+
process.stderr.write(`deepdive: ${safeErrorMessage(err)}\n`);
|
|
705
|
+
return 1;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
589
708
|
async function runResearch(opts) {
|
|
590
709
|
const { question, parsed, config, preKept, parentId } = opts;
|
|
710
|
+
// A --since value that was supplied but didn't parse is a user error — fail
|
|
711
|
+
// loud rather than silently running with no recency filter.
|
|
712
|
+
if (config.sinceRaw && config.sinceMs === undefined) {
|
|
713
|
+
process.stderr.write(`deepdive: --since must be a date (2024, 2024-06, 2024-06-15) or a duration ` +
|
|
714
|
+
`(30d, 12h, 2w); got: ${config.sinceRaw}\n`);
|
|
715
|
+
return 2;
|
|
716
|
+
}
|
|
591
717
|
const search = await resolveSearchAdapter(config.searchAdapter, process.env);
|
|
592
718
|
const cache = config.cache.enabled
|
|
593
719
|
? createCache({ dir: config.cache.dir, ttlMs: config.cache.ttlMs })
|
|
@@ -631,6 +757,7 @@ async function runResearch(opts) {
|
|
|
631
757
|
include: config.include,
|
|
632
758
|
domainFilter: config.domainFilter,
|
|
633
759
|
tldr: config.tldr,
|
|
760
|
+
sinceMs: config.sinceMs,
|
|
634
761
|
env: process.env,
|
|
635
762
|
onEvent: (e) => {
|
|
636
763
|
if (config.verbose)
|
|
@@ -788,7 +915,7 @@ async function sessionsCommand(parsed) {
|
|
|
788
915
|
const sub = parsed.extras[0] ?? "ls";
|
|
789
916
|
switch (sub) {
|
|
790
917
|
case "ls":
|
|
791
|
-
return await sessionsLs(config);
|
|
918
|
+
return await sessionsLs(config, parsed.extras[1]);
|
|
792
919
|
case "rm":
|
|
793
920
|
return await sessionsRm(parsed, config);
|
|
794
921
|
case "prune":
|
|
@@ -798,13 +925,39 @@ async function sessionsCommand(parsed) {
|
|
|
798
925
|
return 2;
|
|
799
926
|
}
|
|
800
927
|
}
|
|
801
|
-
async function sessionsLs(config) {
|
|
928
|
+
async function sessionsLs(config, filter) {
|
|
802
929
|
const { sessions, bad } = await listSessions({ dir: config.sessions.dir });
|
|
930
|
+
// Optional case-insensitive substring filter on the question text.
|
|
931
|
+
const needle = filter?.toLowerCase();
|
|
932
|
+
const shown = needle
|
|
933
|
+
? sessions.filter((s) => s.question.toLowerCase().includes(needle))
|
|
934
|
+
: sessions;
|
|
935
|
+
if (config.jsonOutput) {
|
|
936
|
+
process.stdout.write(JSON.stringify({ sessions: shown, bad }, null, 2) + "\n");
|
|
937
|
+
return 0;
|
|
938
|
+
}
|
|
939
|
+
if (needle && shown.length === 0) {
|
|
940
|
+
process.stdout.write(`(no sessions match "${filter}")\n`);
|
|
941
|
+
return 0;
|
|
942
|
+
}
|
|
943
|
+
process.stdout.write(renderSessionsList(shown) + "\n");
|
|
944
|
+
if (bad.length > 0) {
|
|
945
|
+
process.stderr.write(`\n(${bad.length} session file${bad.length === 1 ? "" : "s"} could not be parsed)\n`);
|
|
946
|
+
}
|
|
947
|
+
return 0;
|
|
948
|
+
}
|
|
949
|
+
// `deepdive stats [--json]` — aggregate insights across all saved sessions:
|
|
950
|
+
// run count, total calculated cost, sources/rounds, per-model breakdown, and
|
|
951
|
+
// the date span.
|
|
952
|
+
async function statsCommand(parsed) {
|
|
953
|
+
const config = resolveConfig(parsed.flags, process.env);
|
|
954
|
+
const { records, bad } = await loadAllSessions({ dir: config.sessions.dir });
|
|
955
|
+
const stats = aggregateSessionStats(records);
|
|
803
956
|
if (config.jsonOutput) {
|
|
804
|
-
process.stdout.write(JSON.stringify({
|
|
957
|
+
process.stdout.write(JSON.stringify({ stats, bad }, null, 2) + "\n");
|
|
805
958
|
return 0;
|
|
806
959
|
}
|
|
807
|
-
process.stdout.write(
|
|
960
|
+
process.stdout.write(renderStats(stats) + "\n");
|
|
808
961
|
if (bad.length > 0) {
|
|
809
962
|
process.stderr.write(`\n(${bad.length} session file${bad.length === 1 ? "" : "s"} could not be parsed)\n`);
|
|
810
963
|
}
|