272 Commits
Author SHA1 Message Date
RuoJi6 2d5f41d5b8 security: harden egress probe from PR56 2026-10-27 01:32:45 -07:00
zabcxky-123 3f6df09909 fix(web): align mock finding time order with backend 2026-10-27 15:45:42 +08:00
RuoJi6 d6ce7fc8bb Merge pull request #61 from zabcxky-123/codex/fix-findings-page-size
fix(web): 修复 Findings 列表每页数量固定为 20
2026-10-27 00:44:16 -07:00
RuoJi6 cb0a69ef60 Merge pull request #60 from RuoJi6/fix/task-runtime-exclude-pause
fix: 运行时长排除暂停时间
2026-10-27 00:44:03 -07:00
RuoJi6 be65ab4425 Merge pull request #59 from zabcxky-123/codex/fix-task-findings-time-sort
fix(web): 恢复项目发现页按时间排序
2026-10-27 00:43:51 -07:00
RuoJi6 287021b494 Merge pull request #58 from RuoJi6/feat/task-auto-title
feat: 双能力自动标题(任务名 + 对话标题)
2026-10-27 00:43:31 -07:00
zabcxky-123 1aeaf57734 fix(web): allow changing findings page size 2026-10-27 14:51:10 +08:00
zabcxky-123 80316252b8 fix(web): restore chronological sorting in task findings 2026-10-27 14:25:36 +08:00
artex d8bda59d7d fix: harden task runtime across restart and terminal mirror
Clear open run segments on process start without imputing downtime.
Mirror terminal/pause runtime fields into memory before hydration, make
SetPaused finalize segments, and add DB lifecycle tests.
2026-10-27 14:14:56 +08:00
RuoJi6 7e5c828fc2 fix(web): show egress IPs in navbar middle via settings toggle 2026-10-27 13:46:34 +08:00
artex 41c967f7ad fix: exclude pause time from task run duration
Persist active_run_seconds + run_segment_started_at so task list and
orchestration list_tasks accumulate only actual execution time across
pause/resume/queue/terminal transitions.
2026-10-27 13:37:43 +08:00
artex-bot 6c781f21f4 feat: Agent 任务名与对话标题双能力自动生成
新增 task_auto_title_enabled / chat_auto_title_enabled(默认关)、
共享 GenerateAutoTitle、spawn_task 同步写 name、对话首条先截断再异步 AI,
设置页「自动标题」双 Switch。closes #55
2026-10-27 12:33:53 +08:00
RuoJi6 251dccb921 feat(web): add global egress IP top banner 2026-10-27 12:30:36 +08:00
shinypolaris 5feddf296d feat: 全局代理支持连通性测试与出口 IP 显示 2026-10-27 00:01:23 +08:00
RuoJi6 dc2e0e84a8 feat: edit full HTTP requests and manage replay drafts in bulk 2026-10-26 01:54:33 -07:00
RuoJi6 853a4da57a feat: improve request replay editor and import captured traffic 2026-10-26 01:09:06 -07:00
RuoJi6 2f42baf8a1 fix: support Repeater workspace over HTTP LAN origins 2026-10-25 22:22:24 -07:00
ARTEX Bot eb5d826f79 fix(web): keep in-flight Repeater sends and UTF-16 storage budget
Per-tab send generations survive editor remounts; closed tabs drop
results; previous responses stay until replacement. localStorage
eviction uses a 4MiB UTF-16 budget with retry toast on quota failure.
2026-10-26 11:16:22 +08:00
ARTEX Bot b495d58315 feat(web): Burp-style sidebar Repeater workspace
Add /function/repeater with groups, tabs, rename/close, Host header
shortcut, and localStorage persistence. Findings "送入/打开 Repeater"
now seed a workspace tab and navigate; remove the old Dialog.
2026-10-26 10:48:19 +08:00
artex代码编写 84b40f3004 feat(web): 任务发现/复测支持严重度筛选与按钮搜索
- 复测 tab:严重度 chip + sort=severity,左侧列表支持关键词搜索
- 发现/复测:输入框草稿 + 搜索按钮(或 Enter)才应用关键词
- 扩展 filterAndSortFindings 客户端关键词匹配并补充单测
2026-10-26 10:12:18 +08:00
ji ruo 19a3dc65d8 Merge main and preserve task navigation with severity filtering 2026-10-26 09:39:58 +08:00
RuoJi6 3a4c66d41f Merge pull request #48 from RuoJi6/feat/finding-dedup-1-2-3
feat(findings): 降低重复确认噪音——分组疑似重复建议、候选打分排序、放宽归并验收(方案1+2+3)
2026-10-25 18:37:16 -07:00
ji ruo 71e933c6a3 Merge main and preserve task worker overrides with model pools 2026-10-26 09:36:03 +08:00
RuoJi6 e03bd5c244 Merge pull request #44 from RuoJi6/feat/notes-and-worker-count
feat: 任务/模板备注展示与 Worker 运行数量配置
2026-10-25 18:29:16 -07:00
RuoJi6 cd7fee59a3 Merge pull request #43 from RuoJi6/fix/issues-34-38
fix: 修复发现返回导航(#34)与情报内容搜索及查看对话(#38)
2026-10-25 18:29:01 -07:00
RuoJi6 0ecaea2fb2 feat(web): 任务发现 tab 支持严重度筛选与排序
对齐全局发现页:共用 severity chip、Case 列表 sort=severity,
原始上报列表前端按严重度过滤并排序。
2026-10-26 09:14:28 +08:00
RuoJi6 32d732bdfa fix: Repeater 一次性传输取消阶段超时并回收空闲连接,错误时不重复显示(Codex gpt-6.1-sol)(#42) 2026-10-25 00:02:43 +08:00
RuoJi6 5e908e9f39 fix: 按 Grok 复审修复 Repeater 发送竞态、二进制正文预填、弹窗布局与代理测试(Codex gpt-6.1-sol)(#42) 2026-10-24 23:17:45 +08:00
RuoJi6 06801bc5aa fix: Worker 池评审修复(系统会话可见报错、暂停意图续跑保持绑定模型、加载失败不清空池、原子写入)
Code authored by Codex CLI gpt-6.1-sol (addresses Grok review #1).
2026-10-24 22:55:34 +08:00
RuoJi6 5b342f9f78 fix(findings): address Grok review r1 (Codex gpt-6-astra)
Authored by Codex CLI (gpt-6-astra, reasoning high) after 3 gpt-6.1-sol
capacity failures. Scope sweep aggregates per suggestion, veto only kept
suggestion members on exclusion, refresh finding-case tool schemas on existing
DBs, clarify weak tier wording, keep card state across reloads, filter stale
exclusions, always reload after confirm, guard task-switch toasts.
2026-10-24 22:47:16 +08:00
RuoJi6 ddfdc36787 fix: 按 Grok 评审修复 Repeater 录制代理地址、数字主机 SSRF、Cookie 合并等问题(Codex gpt-6.1-sol)(#42) 2026-10-24 22:46:37 +08:00
RuoJi6 313bac538a fix: 应用模板时将备注与 Worker 数纳入覆盖确认(Codex gpt-6.1-sol) 2026-10-24 22:44:06 +08:00
RuoJi6 2bd7953313 fix: mock/前端 Worker 与备注校验对齐后端(Codex gpt-6-astra) 2026-10-24 22:31:54 +08:00
RuoJi6 1847b8adb1 feat: 发现页新增类似 Burp Repeater 的请求重放功能(Codex 重写)(#42)
Code authored by Codex CLI (gpt-6.1-sol/gpt-6-astra/gpt-6-sol/gpt-5.6-sol sessions, final: gpt-6-astra).
2026-10-24 22:26:22 +08:00
RuoJi6 d1b2b5a996 feat: 多模型 Worker 池(#41,Codex 重写:绑定配置不可用时报错而非回退)
Code authored by Codex CLI (gpt-6-astra main implementation; gpt-6-sol / gpt-6-astra continuation passes).
2026-10-24 22:22:05 +08:00
RuoJi6 2e6ceddf95 fix: 按评审补齐 mock 校验、Worker 上限保护与测试(Codex gpt-6-sol) 2026-10-24 22:08:35 +08:00
RuoJi6 09e90b4170 feat(findings): grouped duplicate suggestions, ranked candidates, relaxed merged acceptance (Codex rewrite)
Authored entirely by Codex CLI (codex exec, reasoning effort high), one session
resumed across capacity fallbacks:
- gpt-6.1-sol (schema + initial db work, stopped at capacity)
- gpt-6-astra (db/server/agent/frontend, stopped at capacity)
- gpt-6-sol (remaining items, tests, fixes; stopped at capacity after final checks)

Schemes 1+2+3: prompt/acceptance (2..20, evidenced differences justify
independent, merged no longer blocked by unified report), group suggestions with
member table, superset reuse/subset superseded, veto-aware reject/exclusion,
anchor re-anchoring trigger, sweep after merge/reject/remove, frontend group card
with stale-response guard, candidate scoring with tier/hit_reasons/strong_total.
2026-10-24 21:55:45 +08:00
RuoJi6 a1dc362bae feat: 任务/模板备注展示与 Worker 运行数量配置(Codex gpt-6-astra 重写) 2026-10-24 21:46:03 +08:00
RuoJi6 6ffe04cf3d chore: reset #41 multi-model worker files to origin/main for Codex rewrite 2026-10-24 21:17:59 +08:00
RuoJi6 f9cf38c16c revert: 回退手写的 Repeater 实现,准备由 Codex 按新规则重写 (#42) 2026-10-24 21:17:55 +08:00
RuoJi6 ba3025d04f chore: 还原 PR #44 手写实现,准备由 Codex 按新规则重写 2026-10-24 21:17:17 +08:00
RuoJi6 b0d6ad5d76 revert(findings): reset dedup files to origin/main before Codex rewrite
Pure git restore (git checkout origin/main -- <files>) so the scheme 1+2+3
implementation can be re-authored entirely by Codex. No hand-written code.
2026-10-24 21:09:20 +08:00
RuoJi6 0c346a7c0a fix(findings): address Grok review — keep folders mergeable after group reject, re-anchor groups on finding delete, guard stale suggestion list writes 2026-10-24 20:48:35 +08:00
RuoJi6 00ec84d14e feat(findings): reduce duplicate-confirmation noise with grouped suggestions and ranked candidates
- Prompt: evidenced endpoint/handler/param differences justify independent; suggest only with concrete shared points
- Review acceptance: merged no longer blocked by unified report
- Suggestions: 2..N member groups, one-click group confirm with per-member exclusion, related cards cleared
- Candidates: score/tier/hit_reasons ranking, low-score kept paginated
2026-10-24 20:01:37 +08:00
RuoJi6 341caa5e1f feat: 发现页新增类似 Burp Repeater 的请求重放功能 (#42)
在发现详情的关联流量区提供 Repeater:可从流量证据一键预填,或空白编辑
方法/URL/头/体后由服务端代发请求并展示原始响应,便于人工验证与报告撰写。

- POST /api/repeater/send:复用 recording/global 代理出口
- 直连路径拨号层拦截环回/链路本地/元数据;字面敏感 IP 在 URL 预检拒绝
- 会话内历史(前端内存);跨主机重定向拒绝
2026-10-23 19:22:51 +08:00
RuoJi6 6f09b313d6 feat: 多模型 Worker 池,支持按 LLM 配置分配并发会话
实现 #41:系统配置可设置 worker_pools,使本地模型与云端模型等各占用若干 Work Agent 会话并在同一任务内并行执行。空配置保持原 workers 遗留行为。
2026-10-23 19:14:35 +08:00
RuoJi6 45d4e4e67b feat: 任务/模板备注展示与 Worker 运行数量配置
- 新建任务可填写备注;详情页头部展示备注(列表原有 RemarkEditor 保留)
- 任务模板支持备注与 Worker 数量,应用/另存为模板时同步带入
- 新建任务高级设置与模板均可单独设置 Worker 运行数量(0=回落全局默认)
- schema/API/引擎贯通:tasks.worker_count、task_templates.remark/worker_count
2026-10-23 19:01:21 +08:00
RuoJi6 0a327328f3 fix: 修复发现返回导航(#34)与情报内容搜索及查看对话(#38)
- #34: 任务发现页进入漏洞报告详情后,「←返回」回到该任务的发现页
  (/function/tasks/detail?id=<task>&tab=findings),而非全局发现列表。
  任务自身的 FindingCaseList 与原始上报列表「详情」链接均携带 context_task。
- #38: 情报搜索除标题/上报者外,同时匹配内容(content)与来源证据(evidence)。
- #38: 修复「查看对话」点击无反应:任务详情页标签切换同步写入 URL 的 tab 参数,
  使跳转 tab=sessions&session=... 时能正确切换到会话并打开对应会话。

Closes #34
Closes #38
2026-10-23 18:09:55 +08:00
RuoJi6 620ca5d96c Merge pull request #26 from RuoJi6/codex/task-intelligence
feat: 新增可选的任务情报自动记录与查看
2026-10-20 13:23:26 +08:00
ji ruo 123b9dcd61 fix: polish credential traffic cards and support copying over HTTP 2026-10-20 13:12:51 +08:00