wildcrane-runner 0.6.5 → 0.6.8

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
@@ -3,25 +3,27 @@
3
3
  WildCrane's Local Runner. It connects this computer to WildCrane and runs the tasks WildCrane
4
4
  sends on your local Claude Code, Codex, OpenCode or Cursor.
5
5
 
6
- - **Mac and Windows**: download WildCrane from the
7
- [releases](https://github.com/ai4kanban/ai4kanban/releases?q=desktop-v&expanded=true). It sits
8
- in the menu bar (tray), signs in once, and notifies you when something needs your review. The
9
- release notes say how to open the unsigned build the first time.
10
- - **Linux, or no desktop**: run it from a terminal; it runs tasks and shows no notifications.
6
+ 支持 macOS、Windows 和 Linux,通过终端运行。桌面端 App 已暂停支持。
11
7
 
12
8
  ```sh
13
9
  npm install -g wildcrane-runner
14
10
  wildcrane-runner
15
11
  ```
16
12
 
17
- The first start opens your browser to sign in. Every start updates to the version WildCrane
18
- names, and falls back to the previous one if the new one does not start.
13
+ 首次启动会打开浏览器登录。独立 Runner 与插件内的 Runner 每分钟检查云端指定版本,
14
+ 下载成功后自动保存进度、停止执行并重启,随后恢复任务与对话。下载失败继续使用当前版本,
15
+ 新版无法启动则自动回退。已有 Runner 需要先手动更新一次,才能获得自动更新能力。
16
+
17
+ 更新交接的作业保留 7 天,期间断网会等待重连。已完成的结果直接回写;操作结果不明或
18
+ 连接器无法提供恢复依据时,任务会提示检查后续跑,避免重复执行。
19
+
20
+ - **看板与技能**:通过插件连接云端项目;插件自带 kanban 技能,无需手动安装。Runner 为其他 Agent 准备项目技能并维护提交保护,保留用户文件和已有钩子。
19
21
 
20
22
  - **Node**: 22 or newer.
21
23
  - **One computer per account**: a second computer is refused while the first is connected.
22
24
  - **Folders**: tasks run in `~/.wildcrane/work/`, or in a project folder listed in
23
25
  `~/.wildcrane/projects.json` (`{ "projects": ["/path/to/project"] }`). Any other folder is
24
- refused. The desktop app writes that list when you add a project in its settings.
26
+ refused. 在插件中添加项目文件夹,或手动维护该列表。
25
27
  - **Task folders**: a task's jobs share its board, `<project>/.akb/kanban` (kept out of git),
26
28
  or for a project with no folder here its own one, `~/.wildcrane/cache/<project>/.akb/kanban`
27
29
  (a git repository). They run one at a time and sync the card, memory and assets with
@@ -47,9 +49,3 @@ names, and falls back to the previous one if the new one does not start.
47
49
  harness, session and Realtime code from `../cli/src`, and the CLI itself into `dist/akb/`, so
48
50
  `cli/` needs its own `npm install`.
49
51
  Releasing: [`docs/deploy.md`](../docs/deploy.md).
50
-
51
- The desktop app is `desktop/`: a Tauri 2 shell running the bundled Node on `dist/launcher.mjs`
52
- with `WILDCRANE_DESKTOP=1`; the two speak JSON lines (`src/desktop.ts`). It needs Rust.
53
- `npm install --include=dev` there, then `npm run dev`; `npm run lint` typechecks the windows,
54
- `node scripts/preview.mjs` draws every window state into one page.
55
- Releasing: [`docs/deploy.md`](../docs/deploy.md).
@@ -7,10 +7,7 @@
7
7
  // package's built rules, and hand the whole command line to one of the two trees in there —
8
8
  // `akb raw <move>`, or everything else.
9
9
  //
10
- // Why so little lives here: the desktop app carries `bin/` and `dist/` and no node_modules
11
- // beside them (desktop/scripts/bundle-cli.mjs), so this file must have no dependencies. The
12
- // commands, their options and their help are declared in cli/src/lib/cli/, which the build
13
- // bundles — with everything it needs — into the one file this loads.
10
+ // 入口只使用 Node 内置模块;命令及依赖由 cli/src/ 打包到 dist/。
14
11
  //
15
12
  // Node 18+, same behaviour on macOS, Linux and Windows.
16
13
 
@@ -23,23 +20,7 @@ const PKG = JSON.parse(fs.readFileSync(path.join(PKG_DIR, 'package.json'), 'utf8
23
20
  const NAME = PKG.name
24
21
  const VERSION = PKG.version
25
22
 
26
- // How this command was reached, spelled so what it prints can be pasted straight back.
27
- //
28
- // A global install puts it on the PATH as `akb`, and every example everywhere spells it that
29
- // way. It is also run as a path — `node cli/bin/ai4kanban.mjs` in a source checkout, the copy
30
- // inside the desktop app — and printing `akb` to a reader who has none is printing a line
31
- // that ends in `command not found`. Whoever typed it is right here in argv, so ask that
32
- // rather than guessing: only the PATH spellings are `akb`, `.mjs` never is.
33
- //
34
- // Not what's on the PATH, which is a different question with a different answer: `npx` puts
35
- // an `akb` on the PATH of THIS process and nothing else, so the reader would still be given a
36
- // line their own shell can't run. That one is spotted by the cache it runs out of, and
37
- // answered with the same fetch pinned to this version — never `@latest`, which is how a board
38
- // comes to be driven by two versions of its own rules.
39
- //
40
- // AI4KANBAN_COMMAND is how the desktop app's launcher says what it was typed as. That
41
- // launcher is reached as `akb` on the PATH and then runs this file by its path, so argv alone
42
- // would report the copy inside the app — a line no reader can paste.
23
+ // 保留用户调用时的命令名;npx 调用固定版本,Runner 可通过环境变量指定名称。
43
24
  const PROGRAM = (() => {
44
25
  const named = (process.env.AI4KANBAN_COMMAND || '').trim()
45
26
  if (named) return named