Commit Graph
43 Commits
Author SHA1 Message Date
Sycun 6a67364947 feat: add vulnerability retest branches with an isolated evidence log
Retesting a finding creates an independent conversation branch that
snapshots the source history and model trace, so verification can run
multi-turn without writing to the original session.

- POST /api/vulnerabilities/:id/retest creates the branch and persists the
  prompt, so a lost response, navigation or refresh can resume it
- new update_vulnerability_status tool closes the loop; a retest branch may
  only read and update its own finding
- {{vulnerability_id}}, {{conversation_id}} and {{source_conversation_id}}
  resolve on send, in the first turn and in follow-ups
- evidence appends to a read-only vulnerabilities.retest_log column instead
  of retest_notes: that field is operator-authored and the edit form
  rewrites it wholesale, so a routine edit used to erase the retest trail
- the retest prompt is prefilled with the operator's retest_notes, which
  already states how to verify the fix
- copied messages are re-bound as time.Time. Scanning a DATETIME column into
  a string yields RFC3339Nano while AddMessage writes the driver's
  space-separated format, and messages sort on the raw created_at text, so a
  branch rendered its new turn above the inherited history
2026-10-10 07:21:20 +08:00
Sycun cbd8073beb feat: move the one-click update into the system settings menu
The update console stops being a page of its own and becomes the last section
of 系统设置 (data-section="update", gated by update:read): the sidebar entry
and page-system-update are gone, the console markup lives in
settings-section-update, and the settings menu is where an operator now finds
it. #system-update keeps working as an alias - both hash parsers normalize it
to settings + the update section - so existing deep links and docs keep landing.

Polling follows the new home: leaving the settings page (router) or switching
to another section (settings.js) stops it, selecting the section loads the
console, and returning to the settings page with the section still selected
re-reads the install tree and re-arms the poller (a frozen progress read is
the "nothing is happening" picture an operator must never be shown).

The guard suite follows the move: the old nav/page assertions become "must not
exist", the new ones pin the section, the alias, the poller handoff and the
retired nav.systemUpdate key (settings.nav.update replaces it in zh/EN/RU).
README and both developer/deployment guides say 系统设置 → 一键更新.
2026-10-07 22:52:56 +08:00
Sycun cb8bc6b824 feat: update this installation's own source in one action
An operator running a fork has no honest way to upgrade: upgrade.sh downloads the
Release tarball of one hard-coded third-party repository and rsyncs it over the
tree, so "upgrade" means "overwrite yourself with somebody else's code", and the
safe alternative is to pull by hand and remember the build command.

internal/update drives the remote the directory already tracks: fetch, fast-forward,
go build into .update-staging, atomic rename of the binary (the previous one kept as
cyberstrike-ai.prev), and a .update-state.json so a rollback has a target that is
not guessed at. Refusals are the point - local source edits and a diverged branch
stop with the file names and commit counts in the error rather than being reset to
match, and operator-owned content (roles/skills/tools/agents/data/config.yaml) is put
aside before the merge and restored over it, with what was kept listed in keptContent
instead of quietly dropped.

Consumers: GET/POST /api/system/update* behind update:read / update:apply (mutations
are process-global, so they need a global-scope session); a console page at
#system-update with an apply button that names why it is blocked, a job polled from
the server and a rollback control; the same three actions as -check-update / -update
/ -update-rollback on the binary; OpenAPI entries for all five endpoints. Permission
gating no longer re-enables a control a page disabled for a reason of its own
(data-state-disabled), which every state-disabled, permission-gated button in the
console was subject to. upgrade.sh becomes a thin shell over the same implementation
and only falls back to the tarball path for installs that are not git work trees.

Docs and the zh/EN/RU dictionaries are updated. The package runs 13 tests against
real temporary git repositories; the HTTP layer, RBAC and the console page each
carry their own contract tests.
2026-10-07 12:07:26 +08:00
Ed1s0nZ 6ad9ea2d13 feat: add configurable tool call blocking and monitoring 2026-09-08 09:44:32 +08:00
RuoJi6 bec2d2faf1 修复多会话任务栏抖动、会话跳回与停止失效 (#264)
* fix(web): stabilize active task ordering

* fix(chat): preserve navigation during conversation startup

* fix(tasks): guarantee hard cancellation

* fix(chat): bind navigation and hard stop targets

* fix(chat): prevent replay from reclaiming navigation
2026-08-19 13:54:30 +08:00
RuoJi6 eb6bab574f 优化项目对话、刷新续流、实时滚动与工具状态恢复 (#245)
* feat(chat): add project-based conversation sidebar

* feat(chat): refine Codex-style conversation UI

* feat(chat): add Codex-style conversation workflow

* feat(ui): 优化对话框与项目侧边栏交互

* fix(chat): 修复暗色输入框圆角填色

* fix(chat): 恢复输入区分层错位布局

* fix(hitl): isolate reviewer state per conversation

* feat(hitl): 增加双入口审批与倒计时进度

* fix(hitl): 汇总项目审批并隔离对话状态

* fix(ui): 修复审批状态与无项目新任务

* fix(ui): 优化审批状态与对话切换性能

* fix(ui): 修复中断任务审批仍计时

* fix(ui): 修复多对话并发切换卡顿

* fix(hitl): 主动同步审批并关闭中断状态

* fix(ui): 固定项目审批汇总为绿色

* feat(ui): 同步系统模型与推理强度

* feat(ui): 完善项目侧栏预览与新建入口

* fix(ui): 防止无项目文件夹误展开

* fix(ui): 防止长历史对话滚动误触审批

* fix(ui): 修复对话操作并补充项目置顶

* fix(ui): 移除对话分组并调整项目置顶排序

* feat(ui): 优化迭代导航与审批交互

* fix(hitl): 将 write_file 加入内置免审批工具

* fix(chat): 支持回车发送与 Shift 回车换行

* fix(chat): 优化对话刷新与 Codex 风格交互

* fix(ui): 显示对话具体更新时间

* fix(ui): 优化对话刷新与项目加载

* fix(ui): 修复 Agent 审查文字裁切

* fix(chat): 修复刷新续流与多标签页同步

* fix(chat): 修复滚动跟随与中断任务终态

* fix(ui): 修复流式滚动跳动与工具状态恢复

* fix(ui): 修复刷新后流式输出停止粘底
2026-08-13 21:28:37 +08:00
公明 9f092388e1 Add files via upload 2026-07-17 16:51:35 +08:00
公明 8e42e72e42 Add files via upload 2026-07-16 19:30:29 +08:00
公明 823fb47a81 Add files via upload 2026-07-10 19:46:14 +08:00
公明 04efc50161 Add files via upload 2026-07-10 16:37:14 +08:00
公明 cb52ff37f5 Add files via upload 2026-07-08 16:39:12 +08:00
公明 07439bce6e Add files via upload 2026-07-03 16:54:18 +08:00
公明 d92bbbea07 Add files via upload 2026-06-30 17:56:40 +08:00
公明 b6a6009629 Add files via upload 2026-06-24 17:15:34 +08:00
公明 08436c27aa Add files via upload 2026-06-15 11:49:53 +08:00
公明 83e1c707ca Add files via upload 2026-06-12 22:04:57 +08:00
公明 6bfa7b8959 Add files via upload 2026-06-09 17:34:36 +08:00
公明 c1bd94684c Add files via upload 2026-06-07 15:35:49 +08:00
公明 c2f8ebc743 Add files via upload 2026-06-06 21:43:50 +08:00
公明 44ced98863 Add files via upload 2026-05-26 14:24:32 +08:00
公明 b27e443d37 Add files via upload 2026-05-04 13:07:37 +08:00
公明 4fca4a85c2 Add files via upload 2026-05-04 03:42:24 +08:00
公明 5100924abe Add files via upload 2026-04-29 02:54:43 +08:00
公明 47922c2083 Add files via upload 2026-04-28 10:23:24 +08:00
公明 943a3b2646 Add files via upload 2026-04-24 01:50:55 +08:00
公明 c801a97add Add files via upload 2026-04-21 01:24:01 +08:00
公明 9331fbfea1 Add files via upload 2026-04-14 19:28:17 +08:00
公明 ea5a81e14e Add files via upload 2026-03-23 02:12:45 +08:00
公明 251b5fd440 Add files via upload 2026-03-21 20:20:58 +08:00
公明 1630c2b2c4 Add files via upload 2026-03-13 22:34:42 +08:00
公明 1222adc485 Add files via upload 2026-03-11 20:02:21 +08:00
公明 dd883677b8 Add files via upload 2026-02-20 16:16:48 +08:00
公明 8b2dfea884 Add files via upload 2026-02-08 23:38:57 +08:00
公明 594b7676e1 Add files via upload 2026-02-08 20:38:50 +08:00
公明 2b6b678439 Add files via upload 2026-02-04 19:39:29 +08:00
公明 d50fa3d633 Add files via upload 2026-01-17 00:07:26 +08:00
公明 68ad2bf67a Add files via upload 2026-01-15 22:00:10 +08:00
公明 3aee7022c4 Add files via upload 2026-01-11 02:03:33 +08:00
公明 7b9dee7268 Add files via upload 2026-01-02 00:18:39 +08:00
公明 025704cbf7 Add files via upload 2025-12-25 22:12:41 +08:00
公明 abc4085c8a Add files via upload 2025-12-20 17:36:40 +08:00
公明 85e9a58fc5 Add files via upload 2025-12-19 20:41:35 +08:00
公明 7be01e95ef Add files via upload 2025-12-18 22:38:33 +08:00