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.
Files changed (3) hide show
  1. package/README.md +43 -4
  2. package/dist/index.js +2005 -1216
  3. 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, a local `.env`, or
35
- `~/.beecork/config.json`.
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