recodex 0.1.0__tar.gz
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.
- recodex-0.1.0/PKG-INFO +328 -0
- recodex-0.1.0/README.md +321 -0
- recodex-0.1.0/pyproject.toml +30 -0
- recodex-0.1.0/src/recodex/__init__.py +4 -0
- recodex-0.1.0/src/recodex/__main__.py +4 -0
- recodex-0.1.0/src/recodex/analysis.py +333 -0
- recodex-0.1.0/src/recodex/cli.py +1448 -0
- recodex-0.1.0/src/recodex/config.py +211 -0
- recodex-0.1.0/src/recodex/db.py +828 -0
- recodex-0.1.0/src/recodex/html_report.py +1207 -0
- recodex-0.1.0/src/recodex/llm.py +583 -0
- recodex-0.1.0/src/recodex/models.py +69 -0
- recodex-0.1.0/src/recodex/paths.py +39 -0
- recodex-0.1.0/src/recodex/privacy.py +64 -0
- recodex-0.1.0/src/recodex/reports.py +640 -0
- recodex-0.1.0/src/recodex/rulebase.py +507 -0
- recodex-0.1.0/src/recodex/storage.py +521 -0
- recodex-0.1.0/src/recodex/transcripts.py +515 -0
recodex-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: recodex
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Local CLI for reviewing AI-assisted development transcripts.
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# recodex
|
|
9
|
+
|
|
10
|
+
[English](README.en.md) | 中文
|
|
11
|
+
|
|
12
|
+
> 复盘最近一次 Codex 会话,看看下一次哪里可以用得更好。
|
|
13
|
+
|
|
14
|
+
`recodex` 是一个本地优先 CLI。它读取本地 Codex session transcript,分析你这次是怎么使用 Codex 的,并默认打开一份本地静态 HTML 报告。
|
|
15
|
+
|
|
16
|
+
它帮助你发现:
|
|
17
|
+
|
|
18
|
+
- 哪些上下文给得太晚
|
|
19
|
+
- 任务边界在哪里发生了漂移
|
|
20
|
+
- 哪些时刻更早暂停、纠偏或拆分会更好
|
|
21
|
+
- 收尾是否缺少验证证据
|
|
22
|
+
- 哪些项目事实应该在下一次会话前写入文档
|
|
23
|
+
|
|
24
|
+
它不是 transcript viewer,不是 prompt optimizer,也不是泛用 AI 总结器。
|
|
25
|
+
|
|
26
|
+
它复盘的是一次 Codex session 周围的使用流程。
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
recodex
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
[ok] Found latest Codex session
|
|
34
|
+
[ok] Quick analysis completed
|
|
35
|
+
[ok] Generated report.html
|
|
36
|
+
[ok] Opened report in browser
|
|
37
|
+
|
|
38
|
+
Key findings:
|
|
39
|
+
- 关键上下文补充偏晚
|
|
40
|
+
- 任务边界略有漂移
|
|
41
|
+
- 收尾缺少验证证据
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+

|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 为什么
|
|
49
|
+
|
|
50
|
+
用好 Codex 不只是模型能力问题。
|
|
51
|
+
|
|
52
|
+
一次混乱的 AI 编程会话,通常不是因为“AI 不够聪明”,而是流程闭环不稳:
|
|
53
|
+
|
|
54
|
+
- 任务开始时上下文不够
|
|
55
|
+
- 关键项目事实出现太晚
|
|
56
|
+
- 调试、重构、部署、文档混在同一个 session
|
|
57
|
+
- AI 在错误方向上继续探索
|
|
58
|
+
- 最终回答说完成,但没有测试、构建、typecheck、lint 或手动验证证据
|
|
59
|
+
- 用户反复解释同一个项目事实
|
|
60
|
+
|
|
61
|
+
`recodex` 的目标很窄:从真实 Codex 会话里提炼下一次更高效使用 AI coding agent 的具体改进点。
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 分析什么
|
|
66
|
+
|
|
67
|
+
`recodex` 关注五件事:
|
|
68
|
+
|
|
69
|
+
- **任务启动**:目标、上下文、约束、完成条件是否清楚
|
|
70
|
+
- **上下文时机**:哪些信息出现太晚,是否导致无效探索
|
|
71
|
+
- **过程干预**:什么时候应该暂停、总结假设、纠偏或拆分 session
|
|
72
|
+
- **验证和验收**:是否有可审查的验证命令和结果
|
|
73
|
+
- **可复用改进**:哪些事实、流程、命令可以沉淀到文档、checklist、script、hook、CI 或 skill
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 会生成什么
|
|
78
|
+
|
|
79
|
+
默认生成本地静态报告:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
.recodex/reports/<session-id>/
|
|
83
|
+
report.html
|
|
84
|
+
report.json
|
|
85
|
+
report.md
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`report.html` 是单文件 HTML。结构化 JSON 会嵌入页面内部:
|
|
89
|
+
|
|
90
|
+
```html
|
|
91
|
+
<script id="report-data" type="application/json">...</script>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
页面不扫描 Codex session,也不运行时 fetch 外部 JSON。CLI 先解析和分析,再渲染页面。
|
|
95
|
+
|
|
96
|
+
报告包含:
|
|
97
|
+
|
|
98
|
+
1. 概览
|
|
99
|
+
2. 流程路径
|
|
100
|
+
3. 主要问题
|
|
101
|
+
4. 上下文前置分析
|
|
102
|
+
5. 过程干预分析
|
|
103
|
+
6. 验证和验收
|
|
104
|
+
7. 可执行建议
|
|
105
|
+
8. 证据附录
|
|
106
|
+
|
|
107
|
+

|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 快速开始
|
|
112
|
+
|
|
113
|
+
从源码运行:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
git clone <repo-url>
|
|
117
|
+
cd recodex
|
|
118
|
+
uv sync
|
|
119
|
+
uv run recodex
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
常用方式:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
recodex # 分析 latest session 并打开 HTML 报告
|
|
126
|
+
recodex --no-open # 生成报告但不打开浏览器
|
|
127
|
+
recodex --terminal # 保持浏览器关闭,只看终端摘要
|
|
128
|
+
recodex --json # 只生成 report.json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
显式 latest:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
recodex latest
|
|
135
|
+
recodex latest --since 30d
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 命令
|
|
141
|
+
|
|
142
|
+
常用命令:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
recodex # 分析最新 session 并打开 HTML 报告
|
|
146
|
+
recodex latest # 显式 latest-session 分析
|
|
147
|
+
recodex open latest # 重新打开最近生成的报告
|
|
148
|
+
recodex history # 汇总最近会话里的重复模式
|
|
149
|
+
recodex doctor # 检查 Codex session 目录和 recodex 状态
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
高级命令:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
recodex scan ~/.codex/sessions
|
|
156
|
+
recodex report latest --open
|
|
157
|
+
recodex retro latest --local-only
|
|
158
|
+
recodex quickstart --since 7d --limit 5
|
|
159
|
+
recodex history --since 30d
|
|
160
|
+
recodex export agents
|
|
161
|
+
recodex export checklist
|
|
162
|
+
recodex storage stats
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
`quickstart` 是显式多会话流程:它会按项目聚合最近会话,生成项目报告和改进资产。它不是默认入口。
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 可执行建议
|
|
170
|
+
|
|
171
|
+
`recodex` 可能建议后续动作,例如:
|
|
172
|
+
|
|
173
|
+
- 把项目命令写入 `AGENTS.md`
|
|
174
|
+
- 增加完成前 checklist
|
|
175
|
+
- 把重复命令转成脚本
|
|
176
|
+
- 增加 hook 或 CI 检查
|
|
177
|
+
- 为重复流程创建 skill
|
|
178
|
+
|
|
179
|
+
建议不会自动应用。先 review,再落地。
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 可选本地报告服务
|
|
184
|
+
|
|
185
|
+
默认情况下,`recodex` 生成自包含的 `report.html` 并用浏览器打开,不需要后台服务。
|
|
186
|
+
|
|
187
|
+
本地 report server 适合以后浏览多份报告、搜索历史报告、查看周报和趋势。这个能力是可选增强,不是默认入口。
|
|
188
|
+
|
|
189
|
+
计划命令:
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
recodex serve
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 隐私
|
|
198
|
+
|
|
199
|
+
`recodex` 是本地优先设计:
|
|
200
|
+
|
|
201
|
+
- 只读本地 Codex transcript
|
|
202
|
+
- 不修改原始 Codex session 文件
|
|
203
|
+
- 默认把报告写到本地 `.recodex`
|
|
204
|
+
- LLM 分析默认关闭
|
|
205
|
+
- 可选 LLM 分析前会先脱敏
|
|
206
|
+
- 支持本地确定性分析
|
|
207
|
+
|
|
208
|
+
脱敏范围包括 API keys、tokens、`.env` 内容、database URLs、cookies、private keys、Authorization headers、home path 和 emails。
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## 可选 LLM 分析
|
|
213
|
+
|
|
214
|
+
LLM 是 opt-in。默认路径是本地确定性解析、规则经验库匹配和启发式建议。
|
|
215
|
+
|
|
216
|
+
测试 LLM 链路:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
recodex retro latest --llm --llm-provider mock
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
OpenAI:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
export OPENAI_API_KEY=...
|
|
226
|
+
recodex retro latest --llm --allow-cloud
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
火山方舟 / 豆包:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
export ARK_API_KEY=...
|
|
233
|
+
recodex retro latest --llm --llm-provider volcengine --allow-cloud
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
或写入 `~/.recodex/config.toml`:
|
|
237
|
+
|
|
238
|
+
```toml
|
|
239
|
+
[analysis]
|
|
240
|
+
local_only = false
|
|
241
|
+
llm_provider = "volcengine"
|
|
242
|
+
llm_api_key_env = "ARK_API_KEY"
|
|
243
|
+
# llm_model = "doubao-seed-2-0-lite-260215"
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 配置
|
|
249
|
+
|
|
250
|
+
项目配置:`.recodex.toml`
|
|
251
|
+
|
|
252
|
+
```toml
|
|
253
|
+
[sources.codex]
|
|
254
|
+
enabled = true
|
|
255
|
+
sessions_dir = "~/.codex/sessions"
|
|
256
|
+
|
|
257
|
+
[privacy]
|
|
258
|
+
redact_secrets = true
|
|
259
|
+
redact_env_files = true
|
|
260
|
+
redact_home_path = true
|
|
261
|
+
|
|
262
|
+
[analysis]
|
|
263
|
+
local_only = true
|
|
264
|
+
|
|
265
|
+
[outputs]
|
|
266
|
+
reports_dir = "./.recodex/reports"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
全局配置:`~/.recodex/config.toml`
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Roadmap
|
|
274
|
+
|
|
275
|
+
当前聚焦:
|
|
276
|
+
|
|
277
|
+
- [x] 分析 latest Codex session
|
|
278
|
+
- [x] 生成单文件 HTML 报告
|
|
279
|
+
- [x] 检测上下文补充偏晚
|
|
280
|
+
- [x] 检测验证证据缺失
|
|
281
|
+
- [x] 生成 Top 建议和证据附录
|
|
282
|
+
|
|
283
|
+
下一步:
|
|
284
|
+
|
|
285
|
+
- [ ] 更好的 evidence appendix
|
|
286
|
+
- [ ] `recodex open` 历史报告选择
|
|
287
|
+
- [ ] `recodex doctor` 大 session 目录诊断
|
|
288
|
+
- [ ] AGENTS.md suggestion snippets
|
|
289
|
+
- [ ] checklist suggestions
|
|
290
|
+
- [ ] 可选本地 report server
|
|
291
|
+
|
|
292
|
+
更后面:
|
|
293
|
+
|
|
294
|
+
- [ ] deep analysis mode
|
|
295
|
+
- [ ] batch analysis
|
|
296
|
+
- [ ] eval suite
|
|
297
|
+
- [ ] Claude Code adapter
|
|
298
|
+
- [ ] Cursor adapter
|
|
299
|
+
- [ ] Git / GitHub adapter
|
|
300
|
+
- [ ] CI logs adapter
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## FAQ
|
|
305
|
+
|
|
306
|
+
### 这是 prompt optimizer 吗?
|
|
307
|
+
|
|
308
|
+
不是。它可能发现某些信息应该更早给到 Codex,但核心不是改写 prompt。
|
|
309
|
+
|
|
310
|
+
它复盘的是使用流程:上下文、任务边界、干预时机、验证闭环和可复用改进。
|
|
311
|
+
|
|
312
|
+
### 它会判断最终代码是否正确吗?
|
|
313
|
+
|
|
314
|
+
不会。它检查的是 session 是否产生了足够的验证证据。
|
|
315
|
+
|
|
316
|
+
如果 AI 改了代码但没有测试、构建、typecheck、lint 或手动验证,报告会降低完成可信度。
|
|
317
|
+
|
|
318
|
+
### 它会上传我的 Codex sessions 吗?
|
|
319
|
+
|
|
320
|
+
默认不会。
|
|
321
|
+
|
|
322
|
+
默认路径是本地确定性分析。启用 LLM 分析时,工具发送的是脱敏后的紧凑分析包,而不是完整原始 transcript。
|
|
323
|
+
|
|
324
|
+
### 为什么默认生成 HTML?
|
|
325
|
+
|
|
326
|
+
终端适合快速摘要,但不适合阅读结构化复盘。
|
|
327
|
+
|
|
328
|
+
HTML 更适合浏览、保存、分享、打印,也适合附到 issue 或笔记里。
|
recodex-0.1.0/README.md
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# recodex
|
|
2
|
+
|
|
3
|
+
[English](README.en.md) | 中文
|
|
4
|
+
|
|
5
|
+
> 复盘最近一次 Codex 会话,看看下一次哪里可以用得更好。
|
|
6
|
+
|
|
7
|
+
`recodex` 是一个本地优先 CLI。它读取本地 Codex session transcript,分析你这次是怎么使用 Codex 的,并默认打开一份本地静态 HTML 报告。
|
|
8
|
+
|
|
9
|
+
它帮助你发现:
|
|
10
|
+
|
|
11
|
+
- 哪些上下文给得太晚
|
|
12
|
+
- 任务边界在哪里发生了漂移
|
|
13
|
+
- 哪些时刻更早暂停、纠偏或拆分会更好
|
|
14
|
+
- 收尾是否缺少验证证据
|
|
15
|
+
- 哪些项目事实应该在下一次会话前写入文档
|
|
16
|
+
|
|
17
|
+
它不是 transcript viewer,不是 prompt optimizer,也不是泛用 AI 总结器。
|
|
18
|
+
|
|
19
|
+
它复盘的是一次 Codex session 周围的使用流程。
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
recodex
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
[ok] Found latest Codex session
|
|
27
|
+
[ok] Quick analysis completed
|
|
28
|
+
[ok] Generated report.html
|
|
29
|
+
[ok] Opened report in browser
|
|
30
|
+
|
|
31
|
+
Key findings:
|
|
32
|
+
- 关键上下文补充偏晚
|
|
33
|
+
- 任务边界略有漂移
|
|
34
|
+
- 收尾缺少验证证据
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 为什么
|
|
42
|
+
|
|
43
|
+
用好 Codex 不只是模型能力问题。
|
|
44
|
+
|
|
45
|
+
一次混乱的 AI 编程会话,通常不是因为“AI 不够聪明”,而是流程闭环不稳:
|
|
46
|
+
|
|
47
|
+
- 任务开始时上下文不够
|
|
48
|
+
- 关键项目事实出现太晚
|
|
49
|
+
- 调试、重构、部署、文档混在同一个 session
|
|
50
|
+
- AI 在错误方向上继续探索
|
|
51
|
+
- 最终回答说完成,但没有测试、构建、typecheck、lint 或手动验证证据
|
|
52
|
+
- 用户反复解释同一个项目事实
|
|
53
|
+
|
|
54
|
+
`recodex` 的目标很窄:从真实 Codex 会话里提炼下一次更高效使用 AI coding agent 的具体改进点。
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 分析什么
|
|
59
|
+
|
|
60
|
+
`recodex` 关注五件事:
|
|
61
|
+
|
|
62
|
+
- **任务启动**:目标、上下文、约束、完成条件是否清楚
|
|
63
|
+
- **上下文时机**:哪些信息出现太晚,是否导致无效探索
|
|
64
|
+
- **过程干预**:什么时候应该暂停、总结假设、纠偏或拆分 session
|
|
65
|
+
- **验证和验收**:是否有可审查的验证命令和结果
|
|
66
|
+
- **可复用改进**:哪些事实、流程、命令可以沉淀到文档、checklist、script、hook、CI 或 skill
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 会生成什么
|
|
71
|
+
|
|
72
|
+
默认生成本地静态报告:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
.recodex/reports/<session-id>/
|
|
76
|
+
report.html
|
|
77
|
+
report.json
|
|
78
|
+
report.md
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`report.html` 是单文件 HTML。结构化 JSON 会嵌入页面内部:
|
|
82
|
+
|
|
83
|
+
```html
|
|
84
|
+
<script id="report-data" type="application/json">...</script>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
页面不扫描 Codex session,也不运行时 fetch 外部 JSON。CLI 先解析和分析,再渲染页面。
|
|
88
|
+
|
|
89
|
+
报告包含:
|
|
90
|
+
|
|
91
|
+
1. 概览
|
|
92
|
+
2. 流程路径
|
|
93
|
+
3. 主要问题
|
|
94
|
+
4. 上下文前置分析
|
|
95
|
+
5. 过程干预分析
|
|
96
|
+
6. 验证和验收
|
|
97
|
+
7. 可执行建议
|
|
98
|
+
8. 证据附录
|
|
99
|
+
|
|
100
|
+

|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 快速开始
|
|
105
|
+
|
|
106
|
+
从源码运行:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
git clone <repo-url>
|
|
110
|
+
cd recodex
|
|
111
|
+
uv sync
|
|
112
|
+
uv run recodex
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
常用方式:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
recodex # 分析 latest session 并打开 HTML 报告
|
|
119
|
+
recodex --no-open # 生成报告但不打开浏览器
|
|
120
|
+
recodex --terminal # 保持浏览器关闭,只看终端摘要
|
|
121
|
+
recodex --json # 只生成 report.json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
显式 latest:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
recodex latest
|
|
128
|
+
recodex latest --since 30d
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 命令
|
|
134
|
+
|
|
135
|
+
常用命令:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
recodex # 分析最新 session 并打开 HTML 报告
|
|
139
|
+
recodex latest # 显式 latest-session 分析
|
|
140
|
+
recodex open latest # 重新打开最近生成的报告
|
|
141
|
+
recodex history # 汇总最近会话里的重复模式
|
|
142
|
+
recodex doctor # 检查 Codex session 目录和 recodex 状态
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
高级命令:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
recodex scan ~/.codex/sessions
|
|
149
|
+
recodex report latest --open
|
|
150
|
+
recodex retro latest --local-only
|
|
151
|
+
recodex quickstart --since 7d --limit 5
|
|
152
|
+
recodex history --since 30d
|
|
153
|
+
recodex export agents
|
|
154
|
+
recodex export checklist
|
|
155
|
+
recodex storage stats
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
`quickstart` 是显式多会话流程:它会按项目聚合最近会话,生成项目报告和改进资产。它不是默认入口。
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 可执行建议
|
|
163
|
+
|
|
164
|
+
`recodex` 可能建议后续动作,例如:
|
|
165
|
+
|
|
166
|
+
- 把项目命令写入 `AGENTS.md`
|
|
167
|
+
- 增加完成前 checklist
|
|
168
|
+
- 把重复命令转成脚本
|
|
169
|
+
- 增加 hook 或 CI 检查
|
|
170
|
+
- 为重复流程创建 skill
|
|
171
|
+
|
|
172
|
+
建议不会自动应用。先 review,再落地。
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 可选本地报告服务
|
|
177
|
+
|
|
178
|
+
默认情况下,`recodex` 生成自包含的 `report.html` 并用浏览器打开,不需要后台服务。
|
|
179
|
+
|
|
180
|
+
本地 report server 适合以后浏览多份报告、搜索历史报告、查看周报和趋势。这个能力是可选增强,不是默认入口。
|
|
181
|
+
|
|
182
|
+
计划命令:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
recodex serve
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 隐私
|
|
191
|
+
|
|
192
|
+
`recodex` 是本地优先设计:
|
|
193
|
+
|
|
194
|
+
- 只读本地 Codex transcript
|
|
195
|
+
- 不修改原始 Codex session 文件
|
|
196
|
+
- 默认把报告写到本地 `.recodex`
|
|
197
|
+
- LLM 分析默认关闭
|
|
198
|
+
- 可选 LLM 分析前会先脱敏
|
|
199
|
+
- 支持本地确定性分析
|
|
200
|
+
|
|
201
|
+
脱敏范围包括 API keys、tokens、`.env` 内容、database URLs、cookies、private keys、Authorization headers、home path 和 emails。
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 可选 LLM 分析
|
|
206
|
+
|
|
207
|
+
LLM 是 opt-in。默认路径是本地确定性解析、规则经验库匹配和启发式建议。
|
|
208
|
+
|
|
209
|
+
测试 LLM 链路:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
recodex retro latest --llm --llm-provider mock
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
OpenAI:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
export OPENAI_API_KEY=...
|
|
219
|
+
recodex retro latest --llm --allow-cloud
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
火山方舟 / 豆包:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
export ARK_API_KEY=...
|
|
226
|
+
recodex retro latest --llm --llm-provider volcengine --allow-cloud
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
或写入 `~/.recodex/config.toml`:
|
|
230
|
+
|
|
231
|
+
```toml
|
|
232
|
+
[analysis]
|
|
233
|
+
local_only = false
|
|
234
|
+
llm_provider = "volcengine"
|
|
235
|
+
llm_api_key_env = "ARK_API_KEY"
|
|
236
|
+
# llm_model = "doubao-seed-2-0-lite-260215"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 配置
|
|
242
|
+
|
|
243
|
+
项目配置:`.recodex.toml`
|
|
244
|
+
|
|
245
|
+
```toml
|
|
246
|
+
[sources.codex]
|
|
247
|
+
enabled = true
|
|
248
|
+
sessions_dir = "~/.codex/sessions"
|
|
249
|
+
|
|
250
|
+
[privacy]
|
|
251
|
+
redact_secrets = true
|
|
252
|
+
redact_env_files = true
|
|
253
|
+
redact_home_path = true
|
|
254
|
+
|
|
255
|
+
[analysis]
|
|
256
|
+
local_only = true
|
|
257
|
+
|
|
258
|
+
[outputs]
|
|
259
|
+
reports_dir = "./.recodex/reports"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
全局配置:`~/.recodex/config.toml`
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Roadmap
|
|
267
|
+
|
|
268
|
+
当前聚焦:
|
|
269
|
+
|
|
270
|
+
- [x] 分析 latest Codex session
|
|
271
|
+
- [x] 生成单文件 HTML 报告
|
|
272
|
+
- [x] 检测上下文补充偏晚
|
|
273
|
+
- [x] 检测验证证据缺失
|
|
274
|
+
- [x] 生成 Top 建议和证据附录
|
|
275
|
+
|
|
276
|
+
下一步:
|
|
277
|
+
|
|
278
|
+
- [ ] 更好的 evidence appendix
|
|
279
|
+
- [ ] `recodex open` 历史报告选择
|
|
280
|
+
- [ ] `recodex doctor` 大 session 目录诊断
|
|
281
|
+
- [ ] AGENTS.md suggestion snippets
|
|
282
|
+
- [ ] checklist suggestions
|
|
283
|
+
- [ ] 可选本地 report server
|
|
284
|
+
|
|
285
|
+
更后面:
|
|
286
|
+
|
|
287
|
+
- [ ] deep analysis mode
|
|
288
|
+
- [ ] batch analysis
|
|
289
|
+
- [ ] eval suite
|
|
290
|
+
- [ ] Claude Code adapter
|
|
291
|
+
- [ ] Cursor adapter
|
|
292
|
+
- [ ] Git / GitHub adapter
|
|
293
|
+
- [ ] CI logs adapter
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## FAQ
|
|
298
|
+
|
|
299
|
+
### 这是 prompt optimizer 吗?
|
|
300
|
+
|
|
301
|
+
不是。它可能发现某些信息应该更早给到 Codex,但核心不是改写 prompt。
|
|
302
|
+
|
|
303
|
+
它复盘的是使用流程:上下文、任务边界、干预时机、验证闭环和可复用改进。
|
|
304
|
+
|
|
305
|
+
### 它会判断最终代码是否正确吗?
|
|
306
|
+
|
|
307
|
+
不会。它检查的是 session 是否产生了足够的验证证据。
|
|
308
|
+
|
|
309
|
+
如果 AI 改了代码但没有测试、构建、typecheck、lint 或手动验证,报告会降低完成可信度。
|
|
310
|
+
|
|
311
|
+
### 它会上传我的 Codex sessions 吗?
|
|
312
|
+
|
|
313
|
+
默认不会。
|
|
314
|
+
|
|
315
|
+
默认路径是本地确定性分析。启用 LLM 分析时,工具发送的是脱敏后的紧凑分析包,而不是完整原始 transcript。
|
|
316
|
+
|
|
317
|
+
### 为什么默认生成 HTML?
|
|
318
|
+
|
|
319
|
+
终端适合快速摘要,但不适合阅读结构化复盘。
|
|
320
|
+
|
|
321
|
+
HTML 更适合浏览、保存、分享、打印,也适合附到 issue 或笔记里。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "recodex"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "Local CLI for reviewing AI-assisted development transcripts."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
|
+
dependencies = []
|
|
8
|
+
|
|
9
|
+
[project.scripts]
|
|
10
|
+
recodex = "recodex.cli:main"
|
|
11
|
+
|
|
12
|
+
[dependency-groups]
|
|
13
|
+
dev = [
|
|
14
|
+
"ruff>=0.11.0",
|
|
15
|
+
"ty>=0.0.1a20",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
[build-system]
|
|
19
|
+
requires = ["uv_build>=0.8.0,<0.9.0"]
|
|
20
|
+
build-backend = "uv_build"
|
|
21
|
+
|
|
22
|
+
[tool.ruff]
|
|
23
|
+
line-length = 100
|
|
24
|
+
target-version = "py310"
|
|
25
|
+
|
|
26
|
+
[tool.ruff.lint]
|
|
27
|
+
select = ["E", "F", "I", "UP", "B", "SIM"]
|
|
28
|
+
|
|
29
|
+
[tool.ty.environment]
|
|
30
|
+
python-version = "3.10"
|