agentquad 0.3.1 → 0.4.0
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 +159 -220
- package/README.zh-CN.md +257 -0
- package/dist-web/assets/{index-j5Dz0G5-.js → index-oovKASxm.js} +196 -196
- package/dist-web/index.html +1 -1
- package/package.json +1 -1
- package/src/cli.js +187 -41
- package/src/codex-hook-installer.js +361 -0
- package/src/config.js +5 -3
- package/src/cursor-hook-installer.js +296 -0
- package/src/dispatch.js +0 -1
- package/src/first-run-wizard.js +2 -13
- package/src/openclaw-wizard.js +1 -1
- package/src/server.js +0 -3
- package/src/templates/codex-hooks/notify.js +103 -0
- package/src/templates/cursor-hooks/notify.js +103 -0
package/README.md
CHANGED
|
@@ -1,145 +1,132 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# 🎯 AgentQuad
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Four-quadrant todo board where every task spawns a local Claude / Codex session.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Local-first · MCP-ready · Telegram-friendly
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/agentquad)
|
|
10
|
+
[](https://www.npmjs.com/package/agentquad)
|
|
11
|
+
[](./LICENSE)
|
|
12
|
+
[](https://nodejs.org)
|
|
13
|
+

|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
npm install -g agentquad
|
|
13
|
-
agentquad # 第一次会引导装 claude / codex 并选默认工具
|
|
14
|
-
```
|
|
15
|
+
[English](./README.md) · [简体中文](./README.zh-CN.md)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
> 跳过首跑向导:`AGENTQUAD_SKIP_WIZARD=1 agentquad` 或 `agentquad --no-wizard`
|
|
18
|
-
> 端口 5677 被占用时会自动尝试 5678。
|
|
17
|
+
<img src="./assets/screenshots/board.png" alt="AgentQuad quadrant board" width="900" />
|
|
19
18
|
|
|
20
|
-
>
|
|
19
|
+
</div>
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
---
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
## What is AgentQuad?
|
|
24
|
+
|
|
25
|
+
AgentQuad is a **local-first task scheduler** built around the Eisenhower matrix. Each todo card can spin up an embedded **Claude Code** or **Codex** terminal session, so the work and the AI assistant live side-by-side instead of in two different tools.
|
|
26
|
+
|
|
27
|
+
- ❌ **Not Linear / Todoist** — they can't host AI terminals inside cards.
|
|
28
|
+
- ❌ **Not Cursor / Aider** — they don't manage tasks or schedule work across projects.
|
|
29
|
+
- ❌ **Not raw Claude Code** — no visual board, no session history browser, no per-task isolation.
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
- OpenClaw 用户:旧 skill 目录 `~/.openclaw/skills/quadtodo-claw/` 不再使用,但仍是无害遗留;可手动 `rm -rf` 删除。如果你之前用 OpenClaw 桥接,跑 `agentquad openclaw bootstrap` 一次让 `~/.claude/settings.json` 的 hook 路径被刷新(如果数据目录从 `~/.quadtodo/` 迁过来,自动迁移会同时改写 settings.json 中带 `_quadtodoManaged` 标记的条目,跑 bootstrap 是兜底)。
|
|
32
|
-
- Telegram 用户:跑 `agentquad telegram:setup-menu` 刷新命令菜单。
|
|
33
|
-
- 想跳过自动迁移?设环境变量 `AGENTQUAD_SKIP_AUTO_MIGRATE=1`(库使用场景)。
|
|
31
|
+
---
|
|
34
32
|
|
|
35
|
-
##
|
|
33
|
+
## Screenshots
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
<table>
|
|
36
|
+
<tr>
|
|
37
|
+
<td align="center"><img src="./assets/screenshots/board.png" width="400" /><br/><sub>Quadrant board</sub></td>
|
|
38
|
+
<td align="center"><img src="./assets/screenshots/ai-terminal.png" width="400" /><br/><sub>Embedded AI session</sub></td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<td align="center"><img src="./assets/screenshots/stats.png" width="400" /><br/><sub>Stats & weekly report</sub></td>
|
|
42
|
+
<td align="center"><img src="./assets/screenshots/cmdk.png" width="400" /><br/><sub>⌘K command palette</sub></td>
|
|
43
|
+
</tr>
|
|
44
|
+
</table>
|
|
41
45
|
|
|
42
|
-
|
|
46
|
+
---
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
## Quickstart
|
|
45
49
|
|
|
46
50
|
```bash
|
|
47
51
|
npm install -g agentquad
|
|
52
|
+
agentquad # opens http://127.0.0.1:5677
|
|
48
53
|
```
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
The first run walks you through installing `claude` / `codex` if you don't have them yet. Skip the wizard with `agentquad --no-wizard` or `AGENTQUAD_SKIP_WIZARD=1`.
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
agentquad doctor
|
|
54
|
-
```
|
|
57
|
+
**Requirements:** Node 20+, npm 10+, macOS or Linux (Windows planned).
|
|
55
58
|
|
|
56
|
-
|
|
59
|
+
If `claude` or `codex` is missing:
|
|
57
60
|
|
|
58
61
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
npm
|
|
62
|
+
agentquad install-tools --all
|
|
63
|
+
# or manually:
|
|
64
|
+
npm i -g @anthropic-ai/claude-code @openai/codex
|
|
62
65
|
```
|
|
63
66
|
|
|
64
|
-
|
|
67
|
+
Check your environment any time:
|
|
65
68
|
|
|
66
69
|
```bash
|
|
67
|
-
|
|
68
|
-
npm run build # 只 build 前端(前提是 web/node_modules 已装好)
|
|
69
|
-
npm run clean # 删除 node_modules / dist-web / web/dist
|
|
70
|
+
agentquad doctor
|
|
70
71
|
```
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
---
|
|
73
74
|
|
|
74
|
-
|
|
75
|
-
agentquad doctor # 检查环境是否就绪
|
|
76
|
-
agentquad start # 启动服务并自动打开浏览器
|
|
77
|
-
# → http://127.0.0.1:5677
|
|
78
|
-
```
|
|
75
|
+
## Features
|
|
79
76
|
|
|
80
|
-
|
|
77
|
+
- **Eisenhower quadrant board** with drag-and-drop across Q1–Q4
|
|
78
|
+
- **One Claude / Codex terminal per todo** — sessions persisted and resumable
|
|
79
|
+
- **Searchable session logs** stored locally as JSONL; no cloud upload
|
|
80
|
+
- **Weekly / monthly stats** with token cost estimation (model prices configurable)
|
|
81
|
+
- **Local-first** — SQLite + filesystem, your data never leaves your laptop
|
|
82
|
+
- **⌘K command palette** for fast navigation and batch operations
|
|
83
|
+
- **Cross-platform**: macOS and Linux
|
|
81
84
|
|
|
82
|
-
|
|
85
|
+
---
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
## Integrations
|
|
85
88
|
|
|
86
|
-
|
|
89
|
+
### 🔌 MCP server (17 tools)
|
|
90
|
+
|
|
91
|
+
AgentQuad ships a built-in MCP Streamable HTTP server at `POST /mcp`. External Claude Code sessions can do things like *"clean up duplicate todos"*, *"what did I work on last week"*, or *"merge these three login-related todos"* in natural language.
|
|
87
92
|
|
|
88
93
|
```bash
|
|
89
|
-
agentquad mcp install
|
|
90
|
-
agentquad mcp status
|
|
94
|
+
agentquad mcp install # adds AgentQuad to ~/.claude/settings.json
|
|
95
|
+
agentquad mcp status # health check
|
|
91
96
|
```
|
|
92
97
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
## 通过 Telegram supergroup 使用(每任务一个 Topic)⭐ 推荐
|
|
98
|
+
Full tool list, preview/confirm safety model, and ⌘K integration → **[docs/MCP.md](./docs/MCP.md)**.
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
内容直接从 Claude Code jsonl 日志读(干净,无 spinner / ANSI 噪声);任务结束 close topic + 改名 ✅。
|
|
100
|
+
### 💬 Telegram supergroup (a forum topic per task) ⭐
|
|
99
101
|
|
|
100
|
-
|
|
102
|
+
Run a Telegram bot that creates a **Forum Topic** per task — conversations physically isolated, content streamed directly from Claude's JSONL logs (no spinner / ANSI noise). Topic auto-closes and renames with ✅ when the task is done.
|
|
101
103
|
|
|
102
|
-
|
|
104
|
+
→ **[docs/TELEGRAM.md](./docs/TELEGRAM.md)**
|
|
103
105
|
|
|
104
|
-
|
|
106
|
+
### 🐱 OpenClaw (WeChat bridge)
|
|
105
107
|
|
|
106
|
-
|
|
108
|
+
Hook AgentQuad into [OpenClaw](https://openclaw.ai/) so you can say *"help me do: X"* in WeChat — AgentQuad creates the todo, launches Claude Code, and bounces interactive decisions back to your WeChat thread.
|
|
107
109
|
|
|
108
|
-
|
|
110
|
+
→ **[docs/OPENCLAW.md](./docs/OPENCLAW.md)** — 5-step enablement checklist.
|
|
109
111
|
|
|
110
|
-
|
|
112
|
+
### 📱 Mobile access (Tailscale)
|
|
111
113
|
|
|
112
|
-
|
|
114
|
+
Use AgentQuad from your phone over a private Tailscale mesh — no public exposure, ~5 min to set up.
|
|
113
115
|
|
|
114
|
-
|
|
116
|
+
> ⚠️ **Security note:** AgentQuad has shell and AI terminal capability. **Never expose it directly to the public internet.** Tailscale is the recommended access path.
|
|
115
117
|
|
|
116
118
|
```bash
|
|
117
|
-
|
|
118
|
-
agentquad
|
|
119
|
-
agentquad start
|
|
120
|
-
# 或者:agentquad start --expose
|
|
119
|
+
agentquad config set host 0.0.0.0 # listen on all interfaces (Tailscale needs this)
|
|
120
|
+
agentquad start # or: agentquad start --expose
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
→ **[docs/MOBILE.md](./docs/MOBILE.md)**
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
| `agentquad status` | 查看运行状态 + 活跃会话数 |
|
|
131
|
-
| `agentquad doctor` | 环境自检 |
|
|
132
|
-
| `agentquad config get <key>` | 读配置项 |
|
|
133
|
-
| `agentquad config set <key> <value>` | 写配置项 |
|
|
134
|
-
| `agentquad config list` | 打印整份配置 |
|
|
135
|
-
| `agentquad hook status` | 查 Claude Code 里 AgentQuad hook 装没装 |
|
|
136
|
-
| `agentquad hook install` | 安装 hook 到 `~/.claude/settings.json`(一般 `start` 会自动装) |
|
|
137
|
-
| `agentquad hook uninstall [--no-marker]` | 删 AgentQuad 装的 hook;默认写 marker 让下次 `start` 不偷偷装回 |
|
|
138
|
-
| `agentquad hook bootstrap` | 「删过又想恢复」:忽略 marker 强装回去 |
|
|
139
|
-
|
|
140
|
-
## 配置
|
|
141
|
-
|
|
142
|
-
配置文件:`~/.agentquad/config.json`
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Configuration
|
|
128
|
+
|
|
129
|
+
Config file: `~/.agentquad/config.json`
|
|
143
130
|
|
|
144
131
|
```json
|
|
145
132
|
{
|
|
@@ -154,165 +141,117 @@ agentquad start
|
|
|
154
141
|
}
|
|
155
142
|
```
|
|
156
143
|
|
|
157
|
-
|
|
144
|
+
Examples:
|
|
158
145
|
|
|
159
146
|
```bash
|
|
160
147
|
agentquad config set port 6000
|
|
161
|
-
agentquad config set tools.claude.
|
|
162
|
-
agentquad config set tools.codex.command codex-w
|
|
163
|
-
agentquad config set tools.claude.bin /usr/local/bin/claude
|
|
164
|
-
agentquad config set tools.codex.bin /opt/homebrew/bin/codex
|
|
148
|
+
agentquad config set tools.claude.bin /opt/homebrew/bin/claude
|
|
149
|
+
agentquad config set tools.codex.command codex-w # custom wrapper
|
|
165
150
|
```
|
|
166
151
|
|
|
167
|
-
|
|
152
|
+
- `tools.<tool>.command` — command name (useful for company-internal wrappers like `claude-w`)
|
|
153
|
+
- `tools.<tool>.bin` — absolute path override, takes precedence over `command`
|
|
154
|
+
|
|
155
|
+
---
|
|
168
156
|
|
|
169
|
-
|
|
170
|
-
- `tools.<tool>.bin`:绝对路径覆盖,优先级高于 `command`
|
|
157
|
+
## Commands
|
|
171
158
|
|
|
172
|
-
|
|
159
|
+
| Command | What it does |
|
|
160
|
+
|---|---|
|
|
161
|
+
| `agentquad` (no args) | Same as `agentquad start`; runs first-time wizard if needed |
|
|
162
|
+
| `agentquad start [--port 5677] [--host 0.0.0.0] [--expose] [--no-open] [--cwd <path>] [--no-wizard]` | Start the server |
|
|
163
|
+
| `agentquad stop` | Stop the server (SIGTERM, then SIGKILL after 3s) |
|
|
164
|
+
| `agentquad status` | Running state + active session count |
|
|
165
|
+
| `agentquad doctor` | Environment check |
|
|
166
|
+
| `agentquad config get/set/list` | Read/write config |
|
|
167
|
+
| `agentquad mcp install/status/uninstall` | Manage MCP integration |
|
|
168
|
+
| `agentquad hook status/install/uninstall/bootstrap` | Manage Claude Code hook |
|
|
169
|
+
| `agentquad telegram:setup-menu` | Refresh Telegram bot command menu |
|
|
170
|
+
| `agentquad openclaw bootstrap` | Re-install OpenClaw hooks |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Data layout
|
|
173
175
|
|
|
174
176
|
```
|
|
175
177
|
~/.agentquad/
|
|
176
178
|
├── config.json
|
|
177
|
-
├── data.db
|
|
178
|
-
├── agentquad.pid
|
|
179
|
+
├── data.db # SQLite — todos, sessions, stats
|
|
180
|
+
├── agentquad.pid # JSON pid file
|
|
179
181
|
└── logs/
|
|
180
|
-
└── ai-*.log
|
|
182
|
+
└── ai-*.log # AI session JSONL logs
|
|
181
183
|
```
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
## 统计与周/月报告
|
|
185
|
+
Export / migrate: the whole `~/.agentquad/` is a regular directory. `tar` it and ship it.
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
---
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
```json
|
|
192
|
-
"pricing": {
|
|
193
|
-
"models": {
|
|
194
|
-
"claude-opus-4-*": { "input": 15.00, "output": 75.00, "cacheRead": 1.50, "cacheWrite": 18.75 }
|
|
195
|
-
},
|
|
196
|
-
"cnyRate": 7.2
|
|
197
|
-
}
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
活跃时长的空闲阈值(默认 120s)可通过 `stats.idleThresholdMs` 调整。
|
|
201
|
-
|
|
202
|
-
## 迁移到另一台电脑
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
# 在源机器
|
|
206
|
-
git clone <this-repo-url> ~/code/agentquad
|
|
207
|
-
cd ~/code/agentquad/agentquad
|
|
208
|
-
npm install
|
|
209
|
-
cd web && npm install && npm run build && cd ..
|
|
210
|
-
npm link
|
|
211
|
-
|
|
212
|
-
# 如果要带走现有 todo 数据:
|
|
213
|
-
scp -r ~/.agentquad target-host:~/
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
## 从零开始的目录结构
|
|
189
|
+
<details>
|
|
190
|
+
<summary><b>Architecture</b> (click to expand)</summary>
|
|
217
191
|
|
|
218
192
|
```
|
|
219
193
|
agentquad/
|
|
220
|
-
├── package.json #
|
|
194
|
+
├── package.json # backend deps: express / ws / node-pty / better-sqlite3
|
|
221
195
|
├── src/
|
|
222
|
-
│ ├── cli.js # commander
|
|
223
|
-
│ ├── config.js # ~/.agentquad/config.json
|
|
224
|
-
│ ├── db.js # better-sqlite3
|
|
225
|
-
│ ├── pty.js # PtyManager
|
|
226
|
-
│ ├── server.js # Express + ws +
|
|
196
|
+
│ ├── cli.js # commander entry
|
|
197
|
+
│ ├── config.js # ~/.agentquad/config.json read/write
|
|
198
|
+
│ ├── db.js # better-sqlite3 wrapper
|
|
199
|
+
│ ├── pty.js # PtyManager (node-pty session map)
|
|
200
|
+
│ ├── server.js # Express + ws + routes
|
|
227
201
|
│ └── routes/
|
|
228
202
|
│ ├── todos.js
|
|
229
203
|
│ └── ai-terminal.js
|
|
230
204
|
└── web/
|
|
231
|
-
├── package.json #
|
|
205
|
+
├── package.json # frontend: vite + react + antd + dnd-kit + xterm
|
|
232
206
|
└── src/
|
|
233
207
|
├── main.tsx
|
|
234
|
-
├── TodoManage.tsx
|
|
235
|
-
├── TodoManage.css
|
|
208
|
+
├── TodoManage.tsx # quadrant board
|
|
236
209
|
├── AiTerminalMini.tsx
|
|
237
210
|
├── SettingsDrawer.tsx
|
|
238
211
|
└── api.ts
|
|
239
212
|
```
|
|
240
213
|
|
|
214
|
+
</details>
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Build from source
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
git clone git@github.com:LIUZHENHUA521/agentquad.git
|
|
222
|
+
cd agentquad
|
|
223
|
+
npm run build:all # installs both layers + builds the frontend into dist-web/
|
|
224
|
+
npm link # link `agentquad` globally
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Finer-grained scripts:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
npm run setup # install deps only (root + web/)
|
|
231
|
+
npm run build # build frontend (requires web/node_modules)
|
|
232
|
+
npm run clean # rm node_modules / dist-web / web/dist
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
- **Port in use**: `agentquad config set port <new>`
|
|
240
|
+
- **`claude` not found**: `agentquad config set tools.claude.bin /full/path/to/claude`
|
|
241
|
+
- **`node-pty` install fails**: node-gyp can't find a C++ toolchain. On macOS: `xcode-select --install`
|
|
242
|
+
- **Terminal shows `session_not_found`**: the session timed out (30-min idle window); click "Start AI terminal" again
|
|
243
|
+
- **Garbled Unicode in live terminal (CJK width, status bars misaligned)**: AgentQuad injects `LANG=LC_CTYPE=en_US.UTF-8` into PTY children so wcwidth matches xterm.js (Unicode 11). To keep your shell's CJK locale, set `AGENTQUAD_KEEP_CJK_LOCALE=1` and restart.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Contributing
|
|
248
|
+
|
|
249
|
+
Issues and PRs welcome. If AgentQuad saved you time, please ⭐ star the repo — it really helps.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## License
|
|
254
|
+
|
|
255
|
+
[MIT](./LICENSE) © LIUZHENHUA521
|
|
241
256
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
- **端口占用**:`agentquad config set port <new>`
|
|
245
|
-
- **`claude` 找不到**:`agentquad config set tools.claude.bin /full/path/to/claude`
|
|
246
|
-
- **`node-pty` 安装报错**:通常是 node-gyp 找不到 C++ 工具链。macOS 装 Xcode Command Line Tools (`xcode-select --install`)
|
|
247
|
-
- **终端显示 `session_not_found`**:会话已超时(30 分钟已结束的会话会被清理),重新点"启动 AI 终端"
|
|
248
|
-
- **Live 终端排版乱(横线 / 中文混排 / 状态栏对不齐)**:默认情况下,AgentQuad 给 PTY 子进程注入 `LANG=LC_CTYPE=en_US.UTF-8`,让 wcwidth 与 xterm.js (Unicode 11) 对齐。如果某些 TUI 你必须保留 CJK locale,设环境变量 `AGENTQUAD_KEEP_CJK_LOCALE=1` 重启 agentquad 即可还原原行为。
|
|
249
|
-
- **Multi-agent Pipeline 功能已移除**:之前的 Pipeline(coder ↔ reviewer 循环)特性已下线。升级后下次启动会自动 DROP `pipeline_runs` / `pipeline_templates` 两张表。仓库根目录里如果有遗留的 `.quadtodo-worktrees/` 目录(worktree 临时目录),可手动 `rm -rf .quadtodo-worktrees/` 清理;`.gitignore` 里的 `.quadtodo-worktrees/` 行可保留也可删除(保留无副作用)。
|
|
250
|
-
- **0.3.0 升级提示**:从 0.2.x 升上来后,pid 文件格式从纯数字改为 JSON。旧脚本里如果有 `kill $(cat ~/.agentquad/agentquad.pid)` 会失败 —— 请改用 `agentquad stop`。
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
todo
|
|
255
|
-
请完成以下待办任务:
|
|
256
|
-
|
|
257
|
-
标题: 后续工作
|
|
258
|
-
描述: 一、提升 AI 协作效率(高价值)
|
|
259
|
-
|
|
260
|
-
1. 会话对话增强
|
|
261
|
-
- 在待办详情里查看每个会话的完整历史(现在 log 落盘了但没 UI 查看),支持搜索 / 关键字高亮
|
|
262
|
-
- 一键从某个历史会话 fork 出新会话(基于已有上下文继续问不同方向)
|
|
263
|
-
- 会话间对比视图(同一任务用 Claude vs Codex 分别跑,并排看输出差异)
|
|
264
|
-
2. Prompt 模板库
|
|
265
|
-
- 把"脑爆模式"抽象成 prompt 预设系统:Bug 修复模板、重构模板、写测试模板、代码评审模板...
|
|
266
|
-
- 支持变量占位符({{title}} / {{workDir}} / {{lastCommitDiff}})
|
|
267
|
-
- 每个待办可选模板组合叠加
|
|
268
|
-
3. 多会话编排
|
|
269
|
-
- 一个待办拆成多个子会话(规划 → 实现 → 测试 → review),可串行/并行触发
|
|
270
|
-
- 上一个会话的产出自动作为下一个的 prompt 前缀
|
|
271
|
-
|
|
272
|
-
二、状态感知 & 通知(中价值)
|
|
273
|
-
|
|
274
|
-
4. 桌面通知 + 系统托盘
|
|
275
|
-
- pending_confirm 状态触发 macOS 原生通知
|
|
276
|
-
- 菜单栏图标显示"有 N 个待交互会话"徽标
|
|
277
|
-
5. 静默工作时长统计
|
|
278
|
-
- 记录每个会话实际运行时长、token 消耗估算(解析 Claude 输出里的 usage)
|
|
279
|
-
- 每周/每月报告:我花最多时间的任务 Top10、AI 帮我完成了 X 小时工作
|
|
280
|
-
6. 智能暂停检测
|
|
281
|
-
- 检测 AI 输出 N 分钟无变化 → 自动判定"卡住了"并通知
|
|
282
|
-
- 区分"在思考"和"真的卡了"(有 spinner / 没 spinner)
|
|
283
|
-
|
|
284
|
-
三、Git & 项目集成(高价值,crazyCombo 多仓库场景尤其适合)
|
|
285
|
-
|
|
286
|
-
7. Git 状态面板
|
|
287
|
-
- 每个待办关联 workDir,卡片上直接显示:当前分支、未提交文件数、落后/领先 origin 情况
|
|
288
|
-
- 一键"开始任务":自动 checkout 新分支、命名来自 todo 标题
|
|
289
|
-
8. 完成闭环
|
|
290
|
-
- AI 会话跑完后,自动 git diff --stat 展示到卡片上
|
|
291
|
-
- 一键生成 commit message(调 AI 基于 diff)
|
|
292
|
-
- 一键创建 PR(集成 gh CLI)
|
|
293
|
-
9. 提交记录反向关联
|
|
294
|
-
- 扫描仓库最近 commit,自动匹配是哪个 todo 完成的(靠分支名/关键字)
|
|
295
|
-
|
|
296
|
-
四、任务管理体验(中低价值但体验好)
|
|
297
|
-
|
|
298
|
-
10. 快捷键系统:n 新建、1-4 切象限、⌘K 命令面板、e 编辑
|
|
299
|
-
11. 子任务 / Checklist:一个 todo 里可以有勾选列表
|
|
300
|
-
12. 标签系统:# 标签筛选,颜色区分
|
|
301
|
-
13. 重复任务:每日/每周自动生成(如"每日 standup")
|
|
302
|
-
14. 归档 & 回顾:done 超过 N 天自动归档到独立视图,避免列表臃肿
|
|
303
|
-
15. 拖拽排序持久化 + 看板快照:每天结束自动存快照,能回看"昨天的看板长啥样"
|
|
304
|
-
|
|
305
|
-
五、数据与知识沉淀(长期价值)
|
|
306
|
-
|
|
307
|
-
16. 全文检索
|
|
308
|
-
- 搜索词同时命中:todo 标题、描述、评论、AI 会话输出
|
|
309
|
-
- 这是相对独有的价值 —— 你的 AI 对话历史在本地,可被检索
|
|
310
|
-
17. "可复用经验"抽取
|
|
311
|
-
- 会话完成后,AI 自动生成一个摘要 + "下次遇到类似问题可复用的知识点"
|
|
312
|
-
- 沉淀到一个知识库 tab,下次新建相似 todo 时推荐相关经验
|
|
313
|
-
18. 导出 / 分享
|
|
314
|
-
- 一个待办 + 其会话输出 → 导出为 Markdown(用于写周报、故障复盘)
|
|
315
|
-
- 飞书文档直推(你本身就有 lark skills)
|
|
316
|
-
|
|
317
|
-
请先理解需求和当前项目上下文,再开始执行。
|
|
318
|
-
完成后请给出变更摘要、验证结果,以及仍需我确认的事项。
|
|
257
|
+
<sub>Project history: originally released as `quadtodo`; renamed to `agentquad` in v0.3.0. The `quadtodo` CLI alias is preserved for backwards compatibility.</sub>
|