@duckmind/dm-darwin-x64 0.48.5 → 0.49.6
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/dm +0 -0
- package/extensions/.dm-extensions.json +159 -220
- package/extensions/dm-9router-ext/package.json +0 -6
- package/extensions/dm-9router-ext/src/index.js +1 -1
- package/extensions/dm-ask-user/package.json +0 -4
- package/extensions/dm-caveman/extensions/caveman.js +29 -0
- package/extensions/dm-caveman/package.json +20 -0
- package/extensions/dm-cli-anything/index.js +5 -5
- package/extensions/dm-cli-anything/package.json +0 -7
- package/extensions/dm-cli-anything/skills/cli-anything/SKILL.md +1 -3
- package/extensions/dm-context/package.json +0 -1
- package/extensions/dm-cua/package.json +0 -7
- package/extensions/dm-fff/package.json +0 -6
- package/extensions/dm-goal/package.json +0 -8
- package/extensions/dm-grill-me/index.js +2 -2
- package/extensions/dm-grill-me/package.json +0 -7
- package/extensions/dm-image2/package.json +0 -8
- package/extensions/dm-subagents/.m/artifacts/shell/shell_output_1783845384621_9cf9262bf674.txt +1336 -0
- package/extensions/dm-subagents/.m/artifacts/shell/shell_output_1783846154938_6a41cefee0bf.txt +1336 -0
- package/extensions/dm-subagents/package.json +0 -11
- package/extensions/dm-subagents/src/extension/doctor.js +10 -10
- package/extensions/dm-subagents/src/extension/fanout-child.js +97 -97
- package/extensions/dm-subagents/src/extension/index.js +121 -121
- package/extensions/dm-subagents/src/extension/rpc.js +5 -5
- package/extensions/dm-subagents/src/extension/schemas.js +1 -1
- package/extensions/dm-subagents/src/extension/tool-description.js +2 -2
- package/extensions/dm-subagents/src/intercom/native-supervisor-channel.js +5 -5
- package/extensions/dm-subagents/src/runs/background/async-execution.js +19 -19
- package/extensions/dm-subagents/src/runs/background/async-job-tracker.js +9 -9
- package/extensions/dm-subagents/src/runs/background/async-resume.js +5 -5
- package/extensions/dm-subagents/src/runs/background/async-status.js +8 -8
- package/extensions/dm-subagents/src/runs/background/fleet-view.js +13 -13
- package/extensions/dm-subagents/src/runs/background/result-watcher.js +5 -5
- package/extensions/dm-subagents/src/runs/background/run-id-resolver.js +3 -3
- package/extensions/dm-subagents/src/runs/background/run-status.js +19 -19
- package/extensions/dm-subagents/src/runs/background/stale-run-reconciler.js +7 -7
- package/extensions/dm-subagents/src/runs/background/subagent-runner.js +35 -35
- package/extensions/dm-subagents/src/runs/background/wait.js +7 -7
- package/extensions/dm-subagents/src/runs/foreground/chain-execution.js +32 -32
- package/extensions/dm-subagents/src/runs/foreground/execution.js +26 -26
- package/extensions/dm-subagents/src/runs/foreground/subagent-executor.js +96 -96
- package/extensions/dm-subagents/src/runs/shared/dm-args.js +1 -1
- package/extensions/dm-subagents/src/runs/shared/nested-events.js +6 -6
- package/extensions/dm-subagents/src/runs/shared/subagent-prompt-runtime.js +13 -13
- package/extensions/dm-subagents/src/shared/fork-context.js +4 -4
- package/extensions/dm-tasks/package.json +0 -7
- package/extensions/dm-usage/package.json +0 -7
- package/extensions/greedysearch-dm/bin/cdp-greedy.mjs +1 -8
- package/extensions/greedysearch-dm/bin/gschrome.mjs +3 -3
- package/extensions/greedysearch-dm/bin/launch-visible.mjs +3 -3
- package/extensions/greedysearch-dm/bin/launch.mjs +4 -4
- package/extensions/greedysearch-dm/bin/search.mjs +103 -103
- package/extensions/greedysearch-dm/extractors/consensus.mjs +35 -35
- package/extensions/greedysearch-dm/extractors/gemini.mjs +38 -38
- package/extensions/greedysearch-dm/extractors/logically.mjs +35 -35
- package/extensions/greedysearch-dm/package.json +0 -10
- package/extensions/greedysearch-dm/src/search/chrome.mjs +23 -23
- package/extensions/greedysearch-dm/src/search/fetch-source.mjs +35 -35
- package/extensions/greedysearch-dm/src/search/research.mjs +61 -61
- package/extensions/greedysearch-dm/src/search/synthesis-runner.mjs +4 -4
- package/package.json +1 -1
- package/extensions/dm-9router-ext/README.md +0 -142
- package/extensions/dm-9router-ext/tsconfig.json +0 -17
- package/extensions/dm-ask-user/README.md +0 -226
- package/extensions/dm-cli-anything/LICENSE +0 -201
- package/extensions/dm-cli-anything/README.md +0 -33
- package/extensions/dm-cli-anything/vendor/UPSTREAM.md +0 -14
- package/extensions/dm-context/AGENTS.md +0 -41
- package/extensions/dm-context/README.md +0 -18
- package/extensions/dm-context/tsconfig.json +0 -16
- package/extensions/dm-cua/README.md +0 -24
- package/extensions/dm-fff/README.md +0 -36
- package/extensions/dm-fff/tsconfig.json +0 -13
- package/extensions/dm-goal/CHANGELOG.md +0 -12
- package/extensions/dm-goal/LICENSE +0 -21
- package/extensions/dm-goal/README.md +0 -29
- package/extensions/dm-goal/tsconfig.json +0 -15
- package/extensions/dm-grill-me/DESIGN.md +0 -301
- package/extensions/dm-grill-me/LICENSE +0 -21
- package/extensions/dm-grill-me/README.md +0 -82
- package/extensions/dm-grill-me/tsconfig.json +0 -17
- package/extensions/dm-image2/README.md +0 -33
- package/extensions/dm-subagents/CHANGELOG.md +0 -1211
- package/extensions/dm-subagents/README.md +0 -29
- package/extensions/dm-subagents/banner.png +0 -0
- package/extensions/dm-subagents/biome.json +0 -26
- package/extensions/dm-subagents/tsconfig.json +0 -18
- package/extensions/dm-tasks/LICENSE +0 -21
- package/extensions/dm-tasks/README.md +0 -30
- package/extensions/dm-tasks/biome.json +0 -26
- package/extensions/dm-tasks/tsconfig.json +0 -14
- package/extensions/dm-usage/LICENSE +0 -21
- package/extensions/dm-usage/README.md +0 -29
- package/extensions/dm-usage/insights-screenshot.png +0 -0
- package/extensions/dm-usage/screenshot.png +0 -0
- package/extensions/greedysearch-dm/LICENSE +0 -21
- package/extensions/greedysearch-dm/README.md +0 -222
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# dm-subagents
|
|
2
|
-
|
|
3
|
-
Bundled DM extension for delegating tasks to specialized agents.
|
|
4
|
-
|
|
5
|
-
## Included tools and commands
|
|
6
|
-
|
|
7
|
-
- `subagent` tool: launch, inspect, steer, interrupt, resume, schedule, and manage subagent runs
|
|
8
|
-
- `wait` tool: block until active async subagent runs complete or need attention
|
|
9
|
-
- `/run`, `/chain`, `/parallel`, `/prompt-workflow`, `/chain-prompts`, and `/subagents-*` slash commands
|
|
10
|
-
|
|
11
|
-
## Current upstream shape
|
|
12
|
-
|
|
13
|
-
Technical provenance: this package is synced from `nicobailon/pi-subagents` release `v0.33.1`. DM ships the adapted source as `dm-subagents`.
|
|
14
|
-
The nicobailon source-layout release includes `subagent`, `wait`, slash commands, prompts, skills, and bundled agent definitions; legacy local-only overlays are not silently claimed here.
|
|
15
|
-
|
|
16
|
-
## Default paths
|
|
17
|
-
|
|
18
|
-
- User agents: `~/.dm/agent/agents/{name}.md`
|
|
19
|
-
- Project agents: `.dm/agents/{name}.md`
|
|
20
|
-
- Config: `~/.dm/agent/extensions/subagent/config.json`
|
|
21
|
-
|
|
22
|
-
## Environment
|
|
23
|
-
|
|
24
|
-
- Preferred recursion env: `DM_SUBAGENT_MAX_DEPTH`
|
|
25
|
-
- Compatibility fallback still accepted: `PI_SUBAGENT_MAX_DEPTH`
|
|
26
|
-
|
|
27
|
-
## Bundled with dm
|
|
28
|
-
|
|
29
|
-
No separate install step is required. The extension ships inside DM's bundled extension catalog and uses the `dm` CLI by default for delegated runs.
|
|
Binary file
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.4.14/schema.json",
|
|
3
|
-
"formatter": {
|
|
4
|
-
"enabled": false
|
|
5
|
-
},
|
|
6
|
-
"linter": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"rules": {
|
|
9
|
-
"recommended": true,
|
|
10
|
-
"style": {
|
|
11
|
-
"recommended": false
|
|
12
|
-
},
|
|
13
|
-
"suspicious": {
|
|
14
|
-
"noExplicitAny": "off",
|
|
15
|
-
"noControlCharactersInRegex": "off",
|
|
16
|
-
"noEmptyInterface": "off"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"files": {
|
|
21
|
-
"includes": [
|
|
22
|
-
"src/**/*.ts",
|
|
23
|
-
"test/**/*.ts"
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "ES2022",
|
|
5
|
-
"moduleResolution": "bundler",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"esModuleInterop": true,
|
|
8
|
-
"skipLibCheck": true,
|
|
9
|
-
"noEmit": true,
|
|
10
|
-
"types": [
|
|
11
|
-
"node"
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"include": [
|
|
15
|
-
"src/**/*.ts",
|
|
16
|
-
"test/**/*.ts"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 tintinweb
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# dm-tasks
|
|
2
|
-
|
|
3
|
-
Bundled DM extension for Claude Code-style task tracking, dependency-aware task lists, and the `/tasks` control panel.
|
|
4
|
-
|
|
5
|
-
## Included commands
|
|
6
|
-
|
|
7
|
-
- `/tasks`
|
|
8
|
-
|
|
9
|
-
## Included tools
|
|
10
|
-
|
|
11
|
-
- `TaskCreate`
|
|
12
|
-
- `TaskList`
|
|
13
|
-
- `TaskGet`
|
|
14
|
-
- `TaskUpdate`
|
|
15
|
-
- `TaskOutput`
|
|
16
|
-
- `TaskStop`
|
|
17
|
-
- `TaskExecute`
|
|
18
|
-
|
|
19
|
-
## Default storage and env
|
|
20
|
-
|
|
21
|
-
- Session task store: `<cwd>/.dm/tasks/tasks-<sessionId>.json`
|
|
22
|
-
- Project task store: `<cwd>/.dm/tasks/tasks.json`
|
|
23
|
-
- Named shared lists: `~/.dm/tasks/<listId>.json`
|
|
24
|
-
- Preferred env: `DM_TASKS`, `DM_TASKS_DEBUG`
|
|
25
|
-
- Compatibility fallbacks still accepted: `PI_TASKS`, `PI_TASKS_DEBUG`
|
|
26
|
-
- `TaskExecute` delegates through bundled `dm-subagents` when its published service is loaded
|
|
27
|
-
|
|
28
|
-
## Bundled with dm
|
|
29
|
-
|
|
30
|
-
No separate install step is required. Install `dm`, then use `/tasks` or let the agent call the task tools directly.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
-
"linter": {
|
|
4
|
-
"enabled": true,
|
|
5
|
-
"rules": {
|
|
6
|
-
"recommended": true,
|
|
7
|
-
"style": {
|
|
8
|
-
"recommended": false
|
|
9
|
-
},
|
|
10
|
-
"suspicious": {
|
|
11
|
-
"noExplicitAny": "off",
|
|
12
|
-
"noControlCharactersInRegex": "off",
|
|
13
|
-
"noEmptyInterface": "off"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"formatter": {
|
|
18
|
-
"enabled": false
|
|
19
|
-
},
|
|
20
|
-
"files": {
|
|
21
|
-
"includes": [
|
|
22
|
-
"src/**/*.ts",
|
|
23
|
-
"test/**/*.ts"
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "ES2022",
|
|
5
|
-
"moduleResolution": "bundler",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"esModuleInterop": true,
|
|
8
|
-
"skipLibCheck": true,
|
|
9
|
-
"outDir": "dist",
|
|
10
|
-
"rootDir": "src",
|
|
11
|
-
"declaration": true
|
|
12
|
-
},
|
|
13
|
-
"include": ["src/**/*.ts"]
|
|
14
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Thomas Mustier
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# dm-usage
|
|
2
|
-
|
|
3
|
-
Bundled DM extension that adds `/usage`, an interactive dashboard for local session cost, token, provider, and model usage.
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
## Included command surface
|
|
8
|
-
|
|
9
|
-
- `/usage`
|
|
10
|
-
- `/usage use [provider-id|clear|remove <provider-id>]`
|
|
11
|
-
- `/usage show`
|
|
12
|
-
- `/usage rotation`
|
|
13
|
-
- `/usage verify`
|
|
14
|
-
- `/usage path`
|
|
15
|
-
- `/usage reset [manual|quota|all]`
|
|
16
|
-
- `/usage help`
|
|
17
|
-
|
|
18
|
-
## Runtime notes
|
|
19
|
-
|
|
20
|
-
- Reads session JSONL files recursively from `~/.dm/agent/sessions/`.
|
|
21
|
-
- Respects `DM_CODING_AGENT_DIR`; `PI_CODING_AGENT_DIR` is accepted only as a compatibility fallback.
|
|
22
|
-
- Displays raw provider `openai-codex` as `duckmind-ultra` and `openrouter` as `duckmind-standard` without changing recorded session data.
|
|
23
|
-
- Restored account-tool subcommands keep local managed-account metadata in `~/.dm/agent/usage/state.json`; they do not store API secrets or route provider requests.
|
|
24
|
-
- `Tab` / `←` / `→` switch periods, `v` toggles table/insights view, and `q` / `Esc` closes the dashboard.
|
|
25
|
-
- Cost data comes from recorded assistant usage payloads, so accuracy depends on providers reporting `usage.cost.total`.
|
|
26
|
-
|
|
27
|
-
## Bundled with dm
|
|
28
|
-
|
|
29
|
-
No separate install step is required. Install `dm`, then run `/usage` inside the TUI.
|
|
Binary file
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
# GreedySearch for DM
|
|
2
|
-
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
Multi-engine AI web search for DM via browser automation.
|
|
6
|
-
|
|
7
|
-
- No API keys
|
|
8
|
-
- Real browser results from configurable engines: Perplexity, Google AI, ChatGPT, Gemini, plus opt-in Semantic Scholar and Logically research engines
|
|
9
|
-
- Research mode as the centerpiece: iterative planning, source fetching, citation audit, and structured bundles
|
|
10
|
-
- Optional configurable synthesis with source grounding (Gemini by default)
|
|
11
|
-
- CloakBrowser/Chrome runs headless by default — no window, purely background
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
dm installs this bundled GreedySearch DM extension automatically.
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Or from git:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
Rebuild or reinstall DM to refresh the bundled GreedySearch asset.
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Tool
|
|
26
|
-
|
|
27
|
-
- `greedy_search` — multi-engine AI web search, source-grounded synthesis, and deep research
|
|
28
|
-
|
|
29
|
-
## Quick usage
|
|
30
|
-
|
|
31
|
-
```js
|
|
32
|
-
greedy_search({ query: "React 19 changes" }); // all engines + fetched sources
|
|
33
|
-
greedy_search({ query: "React 19 changes", synthesize: true }); // add configured synthesis
|
|
34
|
-
greedy_search({ query: "Prisma vs Drizzle", engine: "perplexity" }); // individual engine
|
|
35
|
-
greedy_search({
|
|
36
|
-
query: "Evaluate browser automation options for AI agents",
|
|
37
|
-
depth: "research",
|
|
38
|
-
breadth: 3,
|
|
39
|
-
iterations: 2,
|
|
40
|
-
maxSources: 8,
|
|
41
|
-
});
|
|
42
|
-
// Research mode writes a dataroom-style bundle under .dm/greedysearch-research/ by default.
|
|
43
|
-
// Headless is the default — no window. To force visible browser:
|
|
44
|
-
greedy_search({ query: "Visible browser setup", engine: "perplexity", visible: true });
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Parameters (`greedy_search`)
|
|
48
|
-
|
|
49
|
-
### Common
|
|
50
|
-
|
|
51
|
-
- `query` (required)
|
|
52
|
-
- `fullAnswer`: return full single-engine output instead of preview
|
|
53
|
-
- `headless`: set to `false` to show a browser window (default: `true`)
|
|
54
|
-
- `visible` / `alwaysVisible`: set to `true` to always use a visible browser for this search
|
|
55
|
-
|
|
56
|
-
### Normal search
|
|
57
|
-
|
|
58
|
-
- `engine`: `all` (default web/search fan-out), `perplexity`, `google`, `chatgpt`, `gemini`; opt-in research engines: `semantic-scholar`, `logically`; `bing` still works for signed-in users
|
|
59
|
-
- `synthesize`: for `engine: "all"`, synthesize fetched sources with the configured synthesizer (default false)
|
|
60
|
-
- `synthesizer`: override the configured synthesis engine for this call (`gemini` default, `chatgpt` supported)
|
|
61
|
-
- `depth`: legacy `fast`/`standard`/`deep` aliases are still accepted for compatibility; prefer `synthesize` for normal search
|
|
62
|
-
|
|
63
|
-
### Deep research
|
|
64
|
-
|
|
65
|
-
- `depth`: set to `"research"` to run the iterative research workflow
|
|
66
|
-
- `breadth`: number of research actions per round, 1-5 (default 3)
|
|
67
|
-
- `iterations`: research rounds, 1-3 (default 2)
|
|
68
|
-
- `maxSources`: fetched source cap for the final report, 3-12
|
|
69
|
-
- `researchOutDir`: optional directory for the research bundle
|
|
70
|
-
- `writeResearchBundle`: write the research bundle to disk (default true for research mode)
|
|
71
|
-
|
|
72
|
-
Deep research uses the configured `~/.dm/greedyconfig.engines` list for child searches and Gemini for planning/final synthesis.
|
|
73
|
-
|
|
74
|
-
## Environment variables
|
|
75
|
-
|
|
76
|
-
| Variable | Default | Description |
|
|
77
|
-
| ------------------------------------ | ------------- | ------------------------------------------------------------- |
|
|
78
|
-
| `GREEDY_SEARCH_VISIBLE` | (unset) | Set to `1` to show a browser window instead of headless |
|
|
79
|
-
| `GREEDY_SEARCH_ALWAYS_VISIBLE` | (unset) | Set to `1` to force visible browser for all GreedySearch runs |
|
|
80
|
-
| `GREEDY_SEARCH_IDLE_TIMEOUT_MINUTES` | `5` | Minutes of inactivity before auto-killing GreedySearch browser |
|
|
81
|
-
| `GREEDY_SEARCH_LOCALE` | `en` | Default result language (en, de, fr, es, ja, etc.) |
|
|
82
|
-
| `GREEDY_SEARCH_BROWSER` / `DM_CUA_BROWSER` | `auto` | `auto`, `cloak`, or `chrome`; auto prefers CloakBrowser when installed |
|
|
83
|
-
| `GREEDY_SEARCH_BROWSER_PATH` / `DM_CUA_BROWSER_PATH` | (unset) | Explicit browser executable override |
|
|
84
|
-
| `DM_CUA_CLOAK_PATH` / `CLOAKBROWSER_BINARY_PATH` | (unset) | Explicit CloakBrowser executable; DM does not bundle the binary |
|
|
85
|
-
| `CHROME_PATH` | auto-detected | Path to Chrome/Chromium executable fallback |
|
|
86
|
-
|
|
87
|
-
## Search modes
|
|
88
|
-
|
|
89
|
-
- **Individual engine search/research** — `engine: "perplexity" | "google" | "chatgpt" | "gemini" | "semantic-scholar" | "logically" | "bing"`; returns that engine's answer and sources.
|
|
90
|
-
- **Grounded multi-engine search** — default `engine: "all"`; fans out to configured engines, ranks sources, fetches top source content, and reports confidence metadata.
|
|
91
|
-
- **All + synthesis** — add `synthesize: true` (or CLI `--synthesize`) to ask the configured synthesizer to combine engine answers and fetched source evidence.
|
|
92
|
-
- **Deep research** — `depth: "research"`; iterative action planning, direct URL fetches, fast multi-engine searches, source fetching, learning extraction, deterministic floor checks, citation audit, a final cited report, and a structured on-disk bundle.
|
|
93
|
-
|
|
94
|
-
Legacy `depth: "fast" | "standard" | "deep"` values remain accepted for compatibility: `fast` skips source fetching; `standard`/`deep` request synthesis.
|
|
95
|
-
|
|
96
|
-
Configure all-engine fan-out and synthesis in `~/.dm/greedyconfig`:
|
|
97
|
-
|
|
98
|
-
```json
|
|
99
|
-
{
|
|
100
|
-
"engines": ["perplexity", "google", "chatgpt", "gemini", "semantic-scholar", "logically"],
|
|
101
|
-
"synthesizer": "gemini"
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Gemini is a normal search engine and can participate in `engine: "all"`. Semantic Scholar and Logically are opt-in research engines; include them in `~/.dm/greedyconfig` only when you want the all-engine fan-out to include academic paper discovery or research-assistant workflows. Deep research child searches reuse the same configured `engines` list and keep query text on stdin; Gemini remains the research planner/final-report synthesizer. If `synthesize: true` and `"synthesizer": "gemini"`, Gemini runs once as a search engine and again as the synthesizer; set `"synthesizer": "chatgpt"` to separate those roles for normal all-search synthesis.
|
|
106
|
-
|
|
107
|
-
Research bundles are written by default to `.dm/greedysearch-research/<timestamp>_<query>/` and include:
|
|
108
|
-
|
|
109
|
-
```text
|
|
110
|
-
STATUS.md # floor status, open/closed question ledger, and gaps
|
|
111
|
-
OUTLINE.md # bundle table of contents
|
|
112
|
-
reports/SUMMARY.md # final cited report
|
|
113
|
-
reports/CLAIMS.md # extracted claims mapped to source IDs
|
|
114
|
-
reports/EVIDENCE.md # goal-based evidence extracted from fetched sources
|
|
115
|
-
reports/GAPS.md # caveats and remaining uncertainties
|
|
116
|
-
sources/ # fetched source markdown files
|
|
117
|
-
data/manifest.json # run metadata, stop reason, floor checks, citation audit
|
|
118
|
-
data/rounds.json # per-round actions/learnings/gaps
|
|
119
|
-
data/sources.json # ranked source registry
|
|
120
|
-
data/questions.json # STATUS-style question ledger with evidence/source IDs
|
|
121
|
-
data/evidence.json # structured rational/evidence/summary per useful source
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
CLI controls:
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
node bin/search.mjs all --inline --stdin --depth research --breadth 3 --iterations 2 --max-sources 8 <<'EOF'
|
|
128
|
-
Evaluate browser automation options for AI agents
|
|
129
|
-
EOF
|
|
130
|
-
node bin/search.mjs all "topic" --depth research --research-out-dir ./research-topic
|
|
131
|
-
node bin/search.mjs all "topic" --depth research --no-research-bundle
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Runtime commands
|
|
135
|
-
|
|
136
|
-
Inside DM, prefer the extension commands (no package path needed):
|
|
137
|
-
|
|
138
|
-
```text
|
|
139
|
-
/greedy-visible # launch visible browser for captcha/login/cookie setup
|
|
140
|
-
/greedy-status # show GreedySearch browser status
|
|
141
|
-
/greedy-kill # stop GreedySearch browser
|
|
142
|
-
/set-greedy-locale # set default result language (de, fr, es, ja, etc.)
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
Git install path:
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
GS=~/.dm/agent/git/github.com/apmantza/greedysearch-dm
|
|
149
|
-
node "$GS/bin/launch.mjs" --status
|
|
150
|
-
node "$GS/bin/visible.mjs" # visible mode
|
|
151
|
-
node "$GS/bin/visible.mjs" --kill # strong visible/port cleanup
|
|
152
|
-
node "$GS/bin/kill-visible.mjs" # same as visible.mjs --kill
|
|
153
|
-
node "$GS/bin/cdp-visible.mjs" list # safe CDP: GreedySearch visible browser only
|
|
154
|
-
node "$GS/bin/cdp-headless.mjs" list # safe CDP: GreedySearch headless browser only
|
|
155
|
-
node "$GS/bin/cdp-greedy.mjs" list # safe CDP: any GreedySearch browser mode
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
npm global install path:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
GS="$(npm root -g)/greedysearch-dm"
|
|
162
|
-
node "$GS/bin/launch.mjs" --status
|
|
163
|
-
node "$GS/bin/visible.mjs"
|
|
164
|
-
node "$GS/bin/visible.mjs" --kill
|
|
165
|
-
node "$GS/bin/kill-visible.mjs"
|
|
166
|
-
node "$GS/bin/cdp-visible.mjs" list
|
|
167
|
-
node "$GS/bin/cdp-headless.mjs" list
|
|
168
|
-
node "$GS/bin/cdp-greedy.mjs" list
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
GreedySearch browser is auto-cleaned after 5 min idle. Override with `GREEDY_SEARCH_IDLE_TIMEOUT_MINUTES=10` or disable with `0`.
|
|
172
|
-
|
|
173
|
-
**CDP safety:** use `cdp-visible.mjs`, `cdp-headless.mjs`, or `cdp-greedy.mjs` for debugging. They always set `CDP_PROFILE_DIR` to the dedicated GreedySearch browser profile and never fall back to your main browser session. Avoid calling raw `bin/cdp.mjs` manually unless you explicitly set `CDP_PROFILE_DIR`.
|
|
174
|
-
|
|
175
|
-
## Requirements
|
|
176
|
-
|
|
177
|
-
- CloakBrowser or Chrome/Chromium
|
|
178
|
-
- Node.js 20.11.0+
|
|
179
|
-
|
|
180
|
-
## Source fetching
|
|
181
|
-
|
|
182
|
-
When using `engine: "all"`, top source content is fetched by default. Add `synthesize: true` to synthesize with the configured synthesizer:
|
|
183
|
-
|
|
184
|
-
- **PDFs** — Direct PDF links are parsed to markdown text for source-grounded synthesis
|
|
185
|
-
- **Semantic Scholar** — Discovers academic papers and prefers direct PDF/external paper links when available
|
|
186
|
-
- **Reddit** — Uses Reddit's public `.json` API for posts and comments
|
|
187
|
-
- **GitHub** — Uses GitHub REST API for repos, READMEs, and file trees
|
|
188
|
-
- **General web** — Mozilla Readability extraction with browser fallback when needed
|
|
189
|
-
- **Metadata** — title, author/byline, site name, publish date, language, excerpt
|
|
190
|
-
|
|
191
|
-
## Project layout
|
|
192
|
-
|
|
193
|
-
- `bin/` — runtime CLIs (`search.mjs`, `launch.mjs`, `launch-visible.mjs`, `visible.mjs`, `kill-visible.mjs`, safe CDP wrappers, `cdp.mjs`)
|
|
194
|
-
- `extractors/` — engine-specific automation + stealth/consent handling
|
|
195
|
-
- `src/` — search pipeline, chrome management, source fetching, formatting
|
|
196
|
-
- `skills/` — DM skill metadata
|
|
197
|
-
|
|
198
|
-
## Testing
|
|
199
|
-
|
|
200
|
-
Cross-platform test runner (Windows + Unix):
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
npm test # run all tests
|
|
204
|
-
npm run test:quick # skip slow tests
|
|
205
|
-
npm run test:smoke # basic health check
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
Full bash test suite (Unix only):
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
npm run test:bash # comprehensive tests
|
|
212
|
-
./test.sh parallel # race condition tests
|
|
213
|
-
./test.sh flags # flag/option tests
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
## Changelog
|
|
217
|
-
|
|
218
|
-
See `CHANGELOG.md`.
|
|
219
|
-
|
|
220
|
-
## License
|
|
221
|
-
|
|
222
|
-
MIT
|