beecork 2.3.0 → 2.4.1

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 +49 -5
  2. package/dist/index.js +1882 -1086
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -58,17 +58,57 @@ outside (or any shell command) goes through a permission gate.
58
58
  ### Tools
59
59
 
60
60
  `read_file` · `show` · `write_file` · `edit_file` · `list_dir` · `search` · `run_bash` ·
61
- `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.
79
+
80
+ ### Status line
81
+
82
+ A live bar on the terminal's bottom row shows `model · effort · git branch · ~tokens · background tasks`,
83
+ refreshed every couple seconds. Disable with `STATUSLINE=0`.
84
+
85
+ ### Skipping permissions (danger)
86
+
87
+ For **disposable sandboxes / CI only**, `beecork --dangerously-skip-permissions` (or
88
+ `BEECORK_DANGEROUSLY_SKIP_PERMISSIONS=1`) turns off the approval gate — out-of-root paths and risky
89
+ shell run unprompted, with a red warning. Two floors still hold: an explicit read-only mode still blocks
90
+ writes, and catastrophic commands (`rm -rf /`, fork bombs, `mkfs`, …) are still refused.
62
91
 
63
92
  ### Slash commands
64
93
 
65
- `/model` · `/key` · `/update` · `/context` · `/clear` · `/resume` · `/good` · `/bad` · `/help` · `Shift+Tab` (rotate mode) · `exit`
94
+ `/model` · `/effort` · `/key` · `/update` · `/context` · `/clear` · `/resume` · `/good` · `/bad` · `/help` · `Shift+Tab` (rotate mode) · `exit`
95
+
96
+ ### Reasoning ("thinking")
97
+
98
+ For models that support it, beecork can ask the model to reason before answering. Set the depth
99
+ with `/effort <off|low|medium|high|max>` (persists across restarts) or the `REASONING_EFFORT` env
100
+ var; default is `medium`. It uses OpenRouter's unified `reasoning` parameter, so it works across
101
+ every provider (deepseek, GLM, Gemini, Claude, OpenAI, …), and is only sent to models that advertise
102
+ support. The thinking streams dimly, distinct from the answer. Note: reasoning tokens bill as output
103
+ tokens.
66
104
 
67
105
  ### Memory
68
106
 
69
107
  beecork reads `cork.md` and `.beecork/memory.md` from `~/.beecork/` (your global,
70
- authoritative memory) and from the project tree (project context). Sessions are saved
71
- under `.beecork/sessions/` for `/resume`.
108
+ authoritative memory) and from the project tree (project context). It also reads the
109
+ cross-tool standard **`AGENTS.md`** (and `CLAUDE.md`) if a repo ships one, as lower-trust
110
+ project instructions — so beecork "just works" in repos set up for other agents. Sessions
111
+ are saved under `.beecork/sessions/` for `/resume`.
72
112
 
73
113
  ## Configuration reference
74
114
 
@@ -78,16 +118,20 @@ All variables are read from the real shell environment only (never a project fil
78
118
  |---|---|---|
79
119
  | `OPENROUTER_API_KEY` | OpenRouter API key (required) | — |
80
120
  | `OPENROUTER_MODEL` | Model id | `deepseek/deepseek-v4-flash` |
121
+ | `REASONING_EFFORT` | Reasoning depth: `off`/`low`/`medium`/`high`/`max` | `medium` |
122
+ | `OPENROUTER_EXTRA` | Advanced: JSON of extra request-body params (`temperature`, `seed`, provider routing, …) | — |
81
123
  | `BRAVE_API_KEY` | Brave Search key (for `web_search`) | — |
82
124
  | `VERIFY_COMMAND` | Command auto-run after edits (e.g. `npm run typecheck`) | — |
83
125
  | `AUTO_APPROVE` | Headless: skip approval prompts (out-of-root/risky shell are still hard-denied) | off |
126
+ | `BEECORK_DANGEROUSLY_SKIP_PERMISSIONS` | Sandbox-only: skip the whole gate (also `--dangerously-skip-permissions`) | off |
127
+ | `STATUSLINE` / `STATUSLINE_REFRESH_MS` | Bottom status bar on/off · refresh interval | on · `2000` |
84
128
  | `NO_UPDATE_NOTIFIER` / `CI` | Disable the "update available" check | off |
85
129
  | `MAX_STEPS` | Max tool steps per turn | `50` |
86
130
  | `EXEC_TIMEOUT_MS` | `run_bash` timeout | `30000` |
87
131
  | `WEB_TIMEOUT_MS` | `web_fetch` / `web_search` timeout | `20000` |
88
132
  | `MAX_CONTEXT_TOKENS` | Compact the conversation above this | `128000` |
89
133
 
90
- Other tunables (`KEEP_RECENT`, `MAX_TOOL_RESULT_CHARS`, `RETRY_ATTEMPTS`, `API_TIMEOUT_MS`, `SEARCH_*`, `VERIFY_TIMEOUT_MS`, `TRACE_FILE`) are defined in `src/config.ts`.
134
+ 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`.
91
135
 
92
136
  ## Development
93
137