input-kanban 0.0.1 → 0.0.2

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.en.md ADDED
@@ -0,0 +1,140 @@
1
+ # Input Kanban
2
+
3
+ [中文](README.md) | English
4
+
5
+ Input Kanban is a local Codex orchestration dashboard. The recommended path is to install it from npm, run `input-kanban` inside the target repository, and use the browser UI to manage planning, worker execution, and final judging.
6
+
7
+ ## Recommended Usage
8
+
9
+ ### 1. Install
10
+
11
+ ```bash
12
+ npm install -g input-kanban
13
+ ```
14
+
15
+ Verify the installation:
16
+
17
+ ```bash
18
+ input-kanban --help
19
+ ```
20
+
21
+ ### 2. Start in the Target Repository
22
+
23
+ Enter the repository you want Codex to modify or inspect:
24
+
25
+ ```bash
26
+ cd /path/to/your/repo
27
+ input-kanban
28
+ ```
29
+
30
+ By default, this starts a local server at:
31
+
32
+ ```text
33
+ http://127.0.0.1:8787
34
+ ```
35
+
36
+ Open that URL in your browser to use the dashboard.
37
+
38
+ ### 3. Start with an Explicit Repository
39
+
40
+ If you do not want to `cd` into the target repository first, pass it explicitly:
41
+
42
+ ```bash
43
+ input-kanban --repo /path/to/your/repo
44
+ ```
45
+
46
+ ## Common Startup Options
47
+
48
+ ```bash
49
+ input-kanban --port 8787
50
+ input-kanban --host 127.0.0.1
51
+ input-kanban --runs-dir ~/.input-kanban/runs
52
+ input-kanban --codex-bin codex
53
+ input-kanban --open
54
+ ```
55
+
56
+ Defaults:
57
+
58
+ - target repository: the current directory where `input-kanban` is launched
59
+ - host: `127.0.0.1`
60
+ - port: `8787`
61
+ - runs directory: `~/.input-kanban/runs`
62
+ - Codex command: `codex`
63
+
64
+ ## Using the Dashboard
65
+
66
+ 1. Click `New Run`.
67
+ 2. Enter a label, target repository, and task description.
68
+ 3. Click `Create Run`.
69
+ 4. Click `Plan` to let the Codex planner generate batches and workers.
70
+ 5. Click `Dispatch` to run workers by batch barrier and concurrency limits.
71
+ 6. Inspect execution logs, final messages, error logs, and artifacts.
72
+ 7. After all batches complete, click `Final Judge`.
73
+ 8. Stop or archive a run when needed, or manually mark a confirmed failed/unknown worker as completed.
74
+
75
+ ## What It Is For
76
+
77
+ - Split a larger Codex programming task into multiple workers.
78
+ - Control execution order with batch barriers.
79
+ - Observe each worker's local status, logs, and final response.
80
+ - Run a final judge after all workers complete.
81
+ - Keep local run records for debugging and recovery.
82
+
83
+ ## Runtime Data Location
84
+
85
+ Runtime data is stored in the configured runs directory. The CLI default is:
86
+
87
+ ```text
88
+ ~/.input-kanban/runs
89
+ ```
90
+
91
+ Each run roughly looks like this:
92
+
93
+ ```text
94
+ runs/<runId>/
95
+ ├── task.md
96
+ ├── plan.json
97
+ ├── run_state.json
98
+ ├── planner/
99
+ ├── workers/<taskId>/
100
+ └── judge/
101
+ ├── judge_input.json
102
+ └── verdict.json
103
+ ```
104
+
105
+ These files are local run records and do not need to be committed to your application repository.
106
+
107
+ ## Requirements
108
+
109
+ - Node.js 20 or newer.
110
+ - Codex CLI installed and configured.
111
+ - The `codex` command works in your terminal, or `--codex-bin` points to the Codex executable.
112
+
113
+ ## Maintainer Development
114
+
115
+ If you want to develop Input Kanban itself instead of using it as an end user:
116
+
117
+ ```bash
118
+ git clone https://github.com/zhang3xing1/Input-Kanban.git
119
+ cd Input-Kanban
120
+ npm install
121
+ npm start
122
+ ```
123
+
124
+ For local CLI development:
125
+
126
+ ```bash
127
+ npm link
128
+ input-kanban --help
129
+ ```
130
+
131
+ Run checks:
132
+
133
+ ```bash
134
+ npm run check
135
+ ```
136
+
137
+ ## More Documentation
138
+
139
+ - [Project guide](PROJECT_GUIDE.md)
140
+ - [Environment variables](ENVIRONMENT.md)
package/README.md CHANGED
@@ -1,54 +1,49 @@
1
1
  # Input Kanban
2
2
 
3
- Input Kanban is a lightweight local dashboard for splitting a Codex task into batches and workers, running them with `codex exec`, observing status, stopping or archiving runs, and performing a final judge pass.
3
+ 中文 | [English](README.en.md)
4
4
 
5
- For implementation details and agent-facing project context, see:
5
+ Input Kanban 是一个本地 Codex 编排看板。推荐通过 npm 安装,然后在目标代码仓库里运行 `input-kanban`,用浏览器管理任务拆分、并发执行和最终验收。
6
6
 
7
- ```text
8
- PROJECT_GUIDE.md
9
- ```
7
+ ## 推荐使用方式
10
8
 
11
- For runtime environment variables, see:
9
+ ### 1. 安装
12
10
 
13
- ```text
14
- ENVIRONMENT.md
11
+ ```bash
12
+ npm install -g input-kanban
15
13
  ```
16
14
 
17
- ## Features
15
+ 验证安装:
18
16
 
19
- - Static HTML dashboard with no frontend build step.
20
- - Node.js backend that can:
21
- - create multiple runs;
22
- - start a `codex exec` planner and materialize `plan.json`;
23
- - safely retry planner runs before any worker or judge starts;
24
- - detect `plan_empty` when the planner returns zero tasks;
25
- - schedule workers by strict batch barriers and `batch.maxParallel`;
26
- - generate `judge_input.json` before the final judge pass;
27
- - start an independent `codex exec` final judge;
28
- - aggregate PID, exit code, events, stderr, last message, artifacts, and Codex session IDs;
29
- - stop runs, soft-archive runs, and manually mark failed or unknown workers as completed.
17
+ ```bash
18
+ input-kanban --help
19
+ ```
30
20
 
31
- ## CLI Usage
21
+ ### 2. 在目标仓库启动
32
22
 
33
- Run from the target repository directory:
23
+ 进入你希望 Codex 修改或检查的代码仓库:
34
24
 
35
25
  ```bash
26
+ cd /path/to/your/repo
36
27
  input-kanban
37
28
  ```
38
29
 
39
- Or provide the target repository explicitly:
30
+ 默认会启动本地服务:
40
31
 
41
- ```bash
42
- input-kanban --repo /path/to/repo
32
+ ```text
33
+ http://127.0.0.1:8787
43
34
  ```
44
35
 
45
- Then open:
36
+ 打开浏览器访问这个地址即可使用看板。
46
37
 
47
- ```text
48
- http://127.0.0.1:8787
38
+ ### 3. 指定目标仓库启动
39
+
40
+ 如果不想先 `cd` 到目标仓库,也可以显式指定:
41
+
42
+ ```bash
43
+ input-kanban --repo /path/to/your/repo
49
44
  ```
50
45
 
51
- Common options:
46
+ ## 常用启动参数
52
47
 
53
48
  ```bash
54
49
  input-kanban --port 8787
@@ -58,83 +53,42 @@ input-kanban --codex-bin codex
58
53
  input-kanban --open
59
54
  ```
60
55
 
61
- ## Development
62
-
63
- ```bash
64
- npm start
65
- ```
66
-
67
- For local CLI development:
68
-
69
- ```bash
70
- npm link
71
- input-kanban
72
- ```
56
+ 默认值:
73
57
 
74
- ## Workflow
75
-
76
- 1. Click `New Run`, then enter a label, target repo, max parallel value, and task text.
77
- 2. Click `Create Run`.
78
- 3. Click `Plan` to start the planner:
79
- - planner uses `codex exec --json --sandbox read-only`;
80
- - output is stored under `runs/<runId>/planner/`.
81
- 4. When planning succeeds, `plan.json` is created and the worker list is shown.
82
- 5. Click `Dispatch` to start workers according to batch barriers and `batch.maxParallel`.
83
- 6. The page polls status every 3 seconds.
84
- 7. After all batches complete, click `Final Judge` to run the final judge pass.
85
-
86
- The current UI labels are localized, but the project documentation is written in English for easier agent consumption.
87
-
88
- ## Planner Output Format
89
-
90
- The preferred planner response is a JSON object with `batches`. The older `tasks` shape is also supported.
91
-
92
- ```json
93
- {
94
- "batches": [
95
- {
96
- "id": "batch-1",
97
- "name": "first batch name",
98
- "maxParallel": 3,
99
- "tasks": [
100
- {
101
- "id": "T-01",
102
- "name": "short name",
103
- "prompt": "complete worker prompt",
104
- "sandbox": "workspace-write",
105
- "expectedArtifacts": ["tmp/example-result.json"]
106
- }
107
- ]
108
- }
109
- ],
110
- "finalJudgeRequired": true
111
- }
112
- ```
58
+ - 目标仓库:启动 `input-kanban` 时的当前目录
59
+ - host:`127.0.0.1`
60
+ - port:`8787`
61
+ - runs 目录:`~/.input-kanban/runs`
62
+ - Codex 命令:`codex`
113
63
 
114
- The backend extracts the first JSON object from `last_message.md`. If the planner succeeds but returns zero tasks, the run is marked `plan_empty` and can be planned again before any worker or judge starts.
64
+ ## 在看板里如何使用
115
65
 
116
- ## Status Sources
66
+ 1. 点击 `新建任务批次`。
67
+ 2. 输入批次名称、目标仓库和任务说明。
68
+ 3. 点击 `创建批次`。
69
+ 4. 点击 `拆分任务`,让 Codex planner 生成 batches 和 workers。
70
+ 5. 点击 `派发执行`,按 batch barrier 和并发限制运行 workers。
71
+ 6. 查看执行日志、最终回复、错误日志和产物。
72
+ 7. 所有 batch 完成后,点击 `汇总验收`。
73
+ 8. 必要时可以停止或归档 run,也可以手动标记已确认完成的失败/未知 worker。
117
74
 
118
- Worker status is primarily determined from local state:
75
+ ## 它适合做什么
119
76
 
120
- - Node child process tracking
121
- - `exit_code`
122
- - `events.jsonl`
123
- - `stderr.log`
124
- - `last_message.md`
125
- - expected artifacts
77
+ - 把一个较大的 Codex 编程任务拆成多个 worker。
78
+ - 按批次阻塞关系控制执行顺序。
79
+ - 在本地观察每个 worker 的状态、日志和最终回复。
80
+ - 在所有 worker 完成后,让 final judge 汇总验收。
81
+ - 保留本地运行记录,便于排查和恢复。
126
82
 
127
- Codex App Server is an auxiliary source only:
83
+ ## 运行数据保存位置
128
84
 
129
- - the backend starts `codex app-server --stdio`;
130
- - it calls `thread/list`;
131
- - it matches sessions using prompt markers:
132
- - `ORCHESTRATOR_RUN_ID`
133
- - `ORCHESTRATOR_TASK_ID`
85
+ 运行数据会保存到 runs 目录。CLI 默认位置是:
134
86
 
135
- A Codex App Server `notLoaded` state does not mean a worker failed. The local process, exit code, logs, and artifacts remain the source of truth.
87
+ ```text
88
+ ~/.input-kanban/runs
89
+ ```
136
90
 
137
- ## Runtime Directory
91
+ 每个 run 大致结构如下:
138
92
 
139
93
  ```text
140
94
  runs/<runId>/
@@ -148,10 +102,39 @@ runs/<runId>/
148
102
  └── verdict.json
149
103
  ```
150
104
 
151
- The development `runs/` directory is gitignored. For CLI usage, the default runtime directory is `~/.input-kanban/runs`.
105
+ 这些文件是本地运行记录,不需要提交到你的业务仓库。
152
106
 
153
- ## Checks
107
+ ## 使用前提
108
+
109
+ - 已安装 Node.js 20 或更高版本。
110
+ - 已安装并配置可用的 Codex CLI。
111
+ - `codex` 命令能在终端中正常运行,或通过 `--codex-bin` 指定 Codex 可执行文件路径。
112
+
113
+ ## 维护者开发
114
+
115
+ 如果你要开发 Input Kanban 本身,而不是作为用户使用:
116
+
117
+ ```bash
118
+ git clone https://github.com/zhang3xing1/Input-Kanban.git
119
+ cd Input-Kanban
120
+ npm install
121
+ npm start
122
+ ```
123
+
124
+ 本地 CLI 开发:
125
+
126
+ ```bash
127
+ npm link
128
+ input-kanban --help
129
+ ```
130
+
131
+ 检查:
154
132
 
155
133
  ```bash
156
134
  npm run check
157
135
  ```
136
+
137
+ ## 更多文档
138
+
139
+ - [项目实现说明](PROJECT_GUIDE.md)
140
+ - [环境变量](ENVIRONMENT.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "input-kanban",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "input-kanban": "bin/input-kanban.js"
@@ -16,6 +16,7 @@
16
16
  "src",
17
17
  "public",
18
18
  "README.md",
19
+ "README.en.md",
19
20
  "PROJECT_GUIDE.md",
20
21
  "ENVIRONMENT.md"
21
22
  ],
package/public/index.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Codex 编排看板</title>
6
+ <title>Input 看板</title>
7
7
  <style>
8
8
  :root { --bg:#0b1220; --panel:#111827; --panel-2:#0f172a; --line:#334155; --line-strong:#64748b; --text:#e2e8f0; --muted:#94a3b8; --blue:#2563eb; --green:#166534; --red:#991b1b; --gray:#475569; --orange:#b45309; }
9
9
  body { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; margin: 0; background: var(--bg); color: var(--text); }
@@ -82,7 +82,7 @@
82
82
  </style>
83
83
  </head>
84
84
  <body>
85
- <header><h1>Codex 编排看板</h1></header>
85
+ <header><h1>Input 看板</h1></header>
86
86
  <main>
87
87
  <div class="sidebar">
88
88
  <section>