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 +140 -0
- package/README.md +82 -99
- package/package.json +2 -1
- package/public/index.html +2 -2
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
|
-
|
|
3
|
+
中文 | [English](README.en.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Input Kanban 是一个本地 Codex 编排看板。推荐通过 npm 安装,然后在目标代码仓库里运行 `input-kanban`,用浏览器管理任务拆分、并发执行和最终验收。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
PROJECT_GUIDE.md
|
|
9
|
-
```
|
|
7
|
+
## 推荐使用方式
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
### 1. 安装
|
|
12
10
|
|
|
13
|
-
```
|
|
14
|
-
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g input-kanban
|
|
15
13
|
```
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
验证安装:
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
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
|
-
|
|
21
|
+
### 2. 在目标仓库启动
|
|
32
22
|
|
|
33
|
-
|
|
23
|
+
进入你希望 Codex 修改或检查的代码仓库:
|
|
34
24
|
|
|
35
25
|
```bash
|
|
26
|
+
cd /path/to/your/repo
|
|
36
27
|
input-kanban
|
|
37
28
|
```
|
|
38
29
|
|
|
39
|
-
|
|
30
|
+
默认会启动本地服务:
|
|
40
31
|
|
|
41
|
-
```
|
|
42
|
-
|
|
32
|
+
```text
|
|
33
|
+
http://127.0.0.1:8787
|
|
43
34
|
```
|
|
44
35
|
|
|
45
|
-
|
|
36
|
+
打开浏览器访问这个地址即可使用看板。
|
|
46
37
|
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
### 3. 指定目标仓库启动
|
|
39
|
+
|
|
40
|
+
如果不想先 `cd` 到目标仓库,也可以显式指定:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
input-kanban --repo /path/to/your/repo
|
|
49
44
|
```
|
|
50
45
|
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
64
|
+
## 在看板里如何使用
|
|
115
65
|
|
|
116
|
-
|
|
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
|
-
|
|
75
|
+
## 它适合做什么
|
|
119
76
|
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
- expected artifacts
|
|
77
|
+
- 把一个较大的 Codex 编程任务拆成多个 worker。
|
|
78
|
+
- 按批次阻塞关系控制执行顺序。
|
|
79
|
+
- 在本地观察每个 worker 的状态、日志和最终回复。
|
|
80
|
+
- 在所有 worker 完成后,让 final judge 汇总验收。
|
|
81
|
+
- 保留本地运行记录,便于排查和恢复。
|
|
126
82
|
|
|
127
|
-
|
|
83
|
+
## 运行数据保存位置
|
|
128
84
|
|
|
129
|
-
|
|
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
|
-
|
|
87
|
+
```text
|
|
88
|
+
~/.input-kanban/runs
|
|
89
|
+
```
|
|
136
90
|
|
|
137
|
-
|
|
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
|
-
|
|
105
|
+
这些文件是本地运行记录,不需要提交到你的业务仓库。
|
|
152
106
|
|
|
153
|
-
##
|
|
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.
|
|
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>
|
|
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>
|
|
85
|
+
<header><h1>Input 看板</h1></header>
|
|
86
86
|
<main>
|
|
87
87
|
<div class="sidebar">
|
|
88
88
|
<section>
|