kaizen-agent 1.12.1 → 1.13.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.
package/README.md CHANGED
@@ -194,19 +194,19 @@ bun start # http://127.0.0.1:7430
194
194
 
195
195
  ### Download the app
196
196
 
197
- Kaizen Bot also runs as a single app file for Linux, macOS and Windows, with no Bun or repo needed.
198
- Download yours from the [latest release](https://github.com/hfadhlullah/kaizen/releases/latest)
199
- (or build all five with `bun run build` in `bot/`):
197
+ Kaizen Bot also comes as a desktop app, with no Bun or repo needed. Download yours from the
198
+ [latest release](https://github.com/hfadhlullah/kaizen/releases/latest):
200
199
 
201
- | OS | File |
202
- |---|---|
203
- | Linux | `kaizen-bot-linux-x64`, `kaizen-bot-linux-arm64` |
204
- | macOS | `kaizen-bot-darwin-arm64` (Apple Silicon), `kaizen-bot-darwin-x64` (Intel) |
205
- | Windows | `kaizen-bot-windows-x64.exe` |
206
-
207
- Open it. The first time, it creates `~/.kaizen-bot/.env` for your provider and key. After that it
208
- starts the board if `kaizen` is installed, and opens the chat in its own window. The files are
209
- unsigned, so macOS and Windows warn on first open. How to get past that is in
200
+ | OS | File | Install |
201
+ |---|---|---|
202
+ | macOS | `Kaizen-Bot-macos-arm64.dmg` (Apple Silicon), `Kaizen-Bot-macos-x64.dmg` (Intel) | Open it, drag Kaizen Bot to Applications |
203
+ | Windows | `Kaizen-Bot-Setup-windows-x64.exe` | Run the setup wizard |
204
+ | Linux | `kaizen-bot-linux-x64`, `kaizen-bot-linux-arm64` | `chmod +x`, then run it |
205
+
206
+ The first time, it creates `~/.kaizen-bot/.env` for your provider and key. After that it
207
+ starts the board if `kaizen` is installed, and opens the chat in its own window; quit it from
208
+ Settings. The app is unsigned, so macOS and Windows warn on first open. How to get past that,
209
+ and how to uninstall, is in
210
210
  [Download the app](https://github.com/hfadhlullah/kaizen/blob/main/bot/README.md#download-the-app).
211
211
 
212
212
  Anthropic, OpenAI and Requesty are supported. Setup, privacy and settings are in the [Kaizen Bot README](https://github.com/hfadhlullah/kaizen/blob/main/bot/README.md).
package/cli/release.sh CHANGED
@@ -26,12 +26,14 @@ if gh release view "$tag" >/dev/null 2>&1; then
26
26
  exit 0
27
27
  fi
28
28
 
29
- # Kaizen Bot as one app file per OS, attached so users can download it. A failed
30
- # build still publishes the release, just without the app files.
29
+ # Kaizen Bot as an app per OS (macOS .dmg, or .zip without mkisofs; Windows setup .exe;
30
+ # Linux binaries), attached so users can download it. A failed build still publishes
31
+ # the release, just without the app files.
31
32
  rm -rf bot/dist
32
33
  assets=""
33
34
  if (cd bot && bun run build >/dev/null 2>&1); then
34
- assets="$(ls bot/dist/kaizen-bot-* 2>/dev/null)"
35
+ assets="$(ls bot/dist/Kaizen-Bot-* bot/dist/kaizen-bot-linux-* 2>/dev/null)"
36
+ ls bot/dist/*.zip >/dev/null 2>&1 && echo "release: mkisofs not found (install cdrtools), macOS app attached as .zip instead of .dmg"
35
37
  else
36
38
  echo "release: Kaizen Bot app build failed, releasing without it"
37
39
  fi
package/cli/web.ts CHANGED
@@ -659,7 +659,10 @@ export async function web(repoDir: string, opts: Opts = {}) {
659
659
 
660
660
  // A Chromium-family browser in --app mode is a window with no tabs or address bar,
661
661
  // which is as close to a desktop app as a web page gets. Anything else gets a tab.
662
- export async function openApp(url: string) {
662
+ // A profile folder gives the window a browser instance of its own (Kaizen Bot's app);
663
+ // on macOS that takes -n, as `open` otherwise hands the args to a running browser.
664
+ export async function openApp(url: string, profile?: string) {
665
+ const args = [`--app=${url}`, ...(profile ? [`--user-data-dir=${profile}`] : [])];
663
666
  const chromes = process.platform === "darwin"
664
667
  ? ["Google Chrome", "Chromium", "Microsoft Edge", "Brave Browser"]
665
668
  : process.platform === "win32"
@@ -668,14 +671,14 @@ export async function openApp(url: string) {
668
671
  try {
669
672
  if (process.platform === "darwin") {
670
673
  for (const app of chromes) {
671
- const r = await Bun.$`open -a ${app} --args --app=${url}`.quiet().nothrow();
674
+ const r = await Bun.$`open ${profile ? "-na" : "-a"} ${app} --args ${args}`.quiet().nothrow();
672
675
  if (r.exitCode === 0) return true;
673
676
  }
674
677
  } else {
675
678
  for (const bin of chromes) {
676
679
  const found = Bun.which(bin) ?? (process.platform === "win32" ? winChrome(bin) : null);
677
680
  if (!found) continue;
678
- Bun.spawn([found, `--app=${url}`], { stdin: "ignore", stdout: "ignore", stderr: "ignore", detached: true }).unref();
681
+ Bun.spawn([found, ...args], { stdin: "ignore", stdout: "ignore", stderr: "ignore", detached: true }).unref();
679
682
  return true;
680
683
  }
681
684
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaizen-agent",
3
- "version": "1.12.1",
3
+ "version": "1.13.1",
4
4
  "description": "Staged workflow for AI agents — code, writing, research, operations: plan, human approval, build, independent review, bounded fix loop.",
5
5
  "type": "module",
6
6
  "bin": {