beecork 2.2.0 → 2.4.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 +43 -4
- package/dist/index.js +2005 -1216
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,8 +31,9 @@ Requires Node.js >= 20.12.
|
|
|
31
31
|
|
|
32
32
|
## Setup (BYOK)
|
|
33
33
|
|
|
34
|
-
beecork reads its config from the environment
|
|
35
|
-
|
|
34
|
+
beecork reads its config from the shell environment or `~/.beecork/config.json`. A project's
|
|
35
|
+
own `.env` is intentionally **not** read — beecork runs inside arbitrary (possibly cloned)
|
|
36
|
+
projects, so your key is never picked up from whatever `.env` happens to sit in the working dir.
|
|
36
37
|
|
|
37
38
|
```bash
|
|
38
39
|
export OPENROUTER_API_KEY=sk-or-... # required
|
|
@@ -57,11 +58,37 @@ outside (or any shell command) goes through a permission gate.
|
|
|
57
58
|
### Tools
|
|
58
59
|
|
|
59
60
|
`read_file` · `show` · `write_file` · `edit_file` · `list_dir` · `search` · `run_bash` ·
|
|
60
|
-
`web_fetch` · `web_search` · `update_todos` · `remember`
|
|
61
|
+
`web_fetch` · `web_search` · `update_todos` · `remember` · `ask_user` · `check_task` · `stop_task` · `explore`
|
|
62
|
+
|
|
63
|
+
### Background tasks
|
|
64
|
+
|
|
65
|
+
`run_bash` can run a command **in the background** (dev servers, watchers, long builds): the agent gets
|
|
66
|
+
a task id immediately and polls it with `check_task` / stops it with `stop_task`. Background tasks stay
|
|
67
|
+
up across turns and are all killed when beecork exits.
|
|
68
|
+
|
|
69
|
+
### Mid-turn steering
|
|
70
|
+
|
|
71
|
+
While the agent is working, just **type a message and press Enter** — it's queued and picked up on the
|
|
72
|
+
next step, without cancelling the turn ("also update the README", "no, use pnpm"). Ctrl-C still cancels.
|
|
73
|
+
|
|
74
|
+
### Sub-agents (`explore`)
|
|
75
|
+
|
|
76
|
+
The agent can delegate an open-ended investigation to a **read-only sub-agent** that explores on its own
|
|
77
|
+
(reading, searching, browsing the web) in a separate context and returns just a summary — keeping the
|
|
78
|
+
main conversation clean. It cannot modify anything, run commands, or recurse.
|
|
61
79
|
|
|
62
80
|
### Slash commands
|
|
63
81
|
|
|
64
|
-
`/model` · `/key` · `/update` · `/context` · `/clear` · `/resume` · `/good` · `/bad` · `/help` · `Shift+Tab` (rotate mode) · `exit`
|
|
82
|
+
`/model` · `/effort` · `/key` · `/update` · `/context` · `/clear` · `/resume` · `/good` · `/bad` · `/help` · `Shift+Tab` (rotate mode) · `exit`
|
|
83
|
+
|
|
84
|
+
### Reasoning ("thinking")
|
|
85
|
+
|
|
86
|
+
For models that support it, beecork can ask the model to reason before answering. Set the depth
|
|
87
|
+
with `/effort <off|low|medium|high|max>` (persists across restarts) or the `REASONING_EFFORT` env
|
|
88
|
+
var; default is `medium`. It uses OpenRouter's unified `reasoning` parameter, so it works across
|
|
89
|
+
every provider (deepseek, GLM, Gemini, Claude, OpenAI, …), and is only sent to models that advertise
|
|
90
|
+
support. The thinking streams dimly, distinct from the answer. Note: reasoning tokens bill as output
|
|
91
|
+
tokens.
|
|
65
92
|
|
|
66
93
|
### Memory
|
|
67
94
|
|
|
@@ -71,12 +98,24 @@ under `.beecork/sessions/` for `/resume`.
|
|
|
71
98
|
|
|
72
99
|
## Configuration reference
|
|
73
100
|
|
|
101
|
+
All variables are read from the real shell environment only (never a project file). The full set:
|
|
102
|
+
|
|
74
103
|
| Env var | Purpose | Default |
|
|
75
104
|
|---|---|---|
|
|
76
105
|
| `OPENROUTER_API_KEY` | OpenRouter API key (required) | — |
|
|
77
106
|
| `OPENROUTER_MODEL` | Model id | `deepseek/deepseek-v4-flash` |
|
|
107
|
+
| `REASONING_EFFORT` | Reasoning depth: `off`/`low`/`medium`/`high`/`max` | `medium` |
|
|
108
|
+
| `OPENROUTER_EXTRA` | Advanced: JSON of extra request-body params (`temperature`, `seed`, provider routing, …) | — |
|
|
78
109
|
| `BRAVE_API_KEY` | Brave Search key (for `web_search`) | — |
|
|
79
110
|
| `VERIFY_COMMAND` | Command auto-run after edits (e.g. `npm run typecheck`) | — |
|
|
111
|
+
| `AUTO_APPROVE` | Headless: skip approval prompts (out-of-root/risky shell are still hard-denied) | off |
|
|
112
|
+
| `NO_UPDATE_NOTIFIER` / `CI` | Disable the "update available" check | off |
|
|
113
|
+
| `MAX_STEPS` | Max tool steps per turn | `50` |
|
|
114
|
+
| `EXEC_TIMEOUT_MS` | `run_bash` timeout | `30000` |
|
|
115
|
+
| `WEB_TIMEOUT_MS` | `web_fetch` / `web_search` timeout | `20000` |
|
|
116
|
+
| `MAX_CONTEXT_TOKENS` | Compact the conversation above this | `128000` |
|
|
117
|
+
|
|
118
|
+
Other tunables (`KEEP_RECENT`, `MAX_TOOL_RESULT_CHARS`, `RETRY_ATTEMPTS`, `API_TIMEOUT_MS`, `SEARCH_*`, `VERIFY_TIMEOUT_MS`, `TRACE_FILE`, `MAX_BG_TASKS`, `BG_TAIL_CHARS`, `SUBAGENT_MAX_STEPS`) are defined in `src/config.ts`.
|
|
80
119
|
|
|
81
120
|
## Development
|
|
82
121
|
|