@lincoln504/pi-research 1.0.10 → 1.1.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 +20 -8
- package/dist/cli.mjs +538 -66
- package/dist/thread-worker.mjs +39 -1
- package/docs/ARCHITECTURE.md +24 -0
- package/docs/CHANGELOG.md +40 -0
- package/docs/CONFIGURATION.md +2 -0
- package/docs/SDK.md +9 -0
- package/package.json +5 -2
- package/skills/pi-research/SKILL.md +11 -2
- package/src/cli.ts +40 -2
- package/src/core/interfaces/observer-interfaces.ts +9 -0
- package/src/core/interfaces/service-names.ts +2 -0
- package/src/infrastructure/browser/browser-client.ts +19 -1
- package/src/infrastructure/browser/browser-error-utils.ts +36 -4
- package/src/infrastructure/browser/browser-server.ts +70 -0
- package/src/infrastructure/browser/browser-task-scheduler.ts +19 -3
- package/src/infrastructure/browser/scheduler-factory.ts +1 -1
- package/src/infrastructure/browser/task-execution-service.ts +86 -9
- package/src/infrastructure/browser/thread-worker.mjs +39 -1
- package/src/infrastructure/process-lifecycle-service.ts +21 -3
- package/src/infrastructure/research-run-semaphore.ts +323 -0
- package/src/infrastructure/service-initialization.ts +20 -0
- package/src/orchestration/deep-research-orchestrator.ts +11 -0
- package/src/orchestration/headless-observer.ts +4 -0
- package/src/orchestration/research-orchestration-service.ts +70 -0
- package/src/orchestration/research-synthesis-service.ts +171 -15
- package/src/web-research/retry-utils.ts +9 -3
- package/src/web-research/scraper-utils.ts +43 -0
- package/src/web-research/web-scraper.ts +67 -40
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>
|
|
6
|
+
<strong>Local web research and knowledge store</strong>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
@@ -24,9 +24,20 @@
|
|
|
24
24
|
|
|
25
25
|
<a href="https://github.com/Lincoln504/pi-research/actions/workflows/ci.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/Lincoln504/pi-research/ci.yml?style=flat-square&branch=main" /></a> <a href="https://www.npmjs.com/package/@lincoln504/pi-research"><img alt="npm version" src="https://img.shields.io/npm/v/@lincoln504/pi-research.svg?style=flat-square" /></a>
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
**Free, unlimited web search & scraping — no monthly quota, no subscription.**
|
|
28
|
+
You pay only for the LLM tokens you use, and it builds your own private, searchable
|
|
29
|
+
knowledge store on your machine.
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
### How it works
|
|
32
|
+
|
|
33
|
+
A research run is a loop of agent teams: a coordinator plans the work and runs an
|
|
34
|
+
opening search, parallel researcher agents scrape and read sources through a fixed,
|
|
35
|
+
sandboxed toolkit (no filesystem or shell access), and an evaluator decides whether
|
|
36
|
+
to run another round or synthesize — returning one cited Markdown report while its
|
|
37
|
+
sources are saved to the knowledge store in the background.
|
|
38
|
+
|
|
39
|
+
Three depth levels — normal, deep, ultra — set the team size and number of rounds;
|
|
40
|
+
ask in natural language and the tool picks the right one:
|
|
30
41
|
|
|
31
42
|

|
|
32
43
|
|
|
@@ -39,12 +50,13 @@ Ask in natural language — the tool understands the depth needed:
|
|
|
39
50
|
- Using the pi-research agent skill as OpenClaw's web access.
|
|
40
51
|
- Building agent systems that identify and examine web sources.
|
|
41
52
|
|
|
42
|
-
###
|
|
53
|
+
### Why pi-research
|
|
43
54
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
55
|
+
- **Free, unlimited search & scrape — no quota, no monthly fee.** Most AI-search providers cap free searches per month and then charge; results run on *their* index on *their* servers. pi-research's search and scraping layer (DuckDuckGo via a stealth browser) is free and unlimited — you pay only for the LLM tokens you use, never per search or per month.
|
|
56
|
+
- **You own your index.** Every finding is written into a local [LanceDB](https://lancedb.com) knowledge store on *your* machine — a persistent, searchable index you control and keep, which also seeds future runs so repeat questions get faster, cheaper answers. No borrowed, server-side index you can't keep or query. Findings can also be kept **globally**, scoped to a **single project**, or **not kept at all** — set per directory, changed whenever you like. The optionality is the point: the store is yours to build, partition, or switch off.
|
|
57
|
+
- **Cited reports, not raw dumps.** It returns one synthesized, sourced Markdown report to the chat instead of dumping raw web content into the conversation — context-efficient and easy to verify.
|
|
58
|
+
- **Sandboxed by design.** Web access runs inside a specialized, limited research agent with no filesystem or shell access — safe to point at anything.
|
|
59
|
+
- **Search a little or a lot** — three depth levels in the pi tool (four via the SDK and standalone CLI, which add the quick depth-0 path). Levels 1 and 2 are recommended for everyday workflow use; level 3 is for larger-scale investigations.
|
|
48
60
|
|
|
49
61
|
### Requirements / limitations
|
|
50
62
|
|