Commit Graph
62 Commits
Author SHA1 Message Date
Ed1s0nZ 088d6da3c1 fix(rbac): revoke only affected role sessions 2026-10-10 15:42:42 +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 91c53ab451 fix: preserve nmap script arguments when selecting scan options 2026-10-06 03:03:45 +08:00
SycunandParallels 470eb5ead1 feat: add runtime storage cleanup with per-category retention (#310) (#313)
Runtime artifacts (agent workspaces, tool-output spill, C2 payloads, chat
uploads, workflow checkpoints, diagnostic logs) previously accumulated
without bound: most were only removed when a conversation or project was
deleted, and tmp/c2 plus workflow checkpoints were never removed at all.

Add a storage cleaner with named per-category tasks (Gitea-style), a
settings page tab, and a background sweep that is off by default so
upgrading never deletes existing data.

Safety properties, since mis-deleting live task data costs far more than
the disk saved:
- dry-run is the default; a real cleanup requires dry_run=false together
  with confirm=true at the API layer, not just a frontend dialog
- sessions active within active_grace_hours are always skipped, and a
  failed activity lookup skips conservatively (fail closed)
- directories whose conversation/project no longer exists are reclaimed
  as orphans after orphan_grace_days
- scanners never follow symlinks and every candidate path is confined to
  its category root; deletion renames to a .tmp-for-deletion marker first
  so a crash leaves recoverable residue instead of a half-deleted dir
- storage:* permissions are admin-only; without the grantSystemRolePermissions
  skip the default branch would have given operators an irreversible
  file-deletion right

Also fix two confirmed leaks: DeleteConversation left chat_uploads files
on disk (their rows already vanished via ON DELETE CASCADE), and workflow
checkpoints had no deletion path at all.

Co-authored-by: Parallels <parallels@kali-linux-2025-2.localdomain>
2026-09-25 14:46:23 +08:00
Ed1s0nZ 4d53717cd7 test: make sudo failure regression independent of host privileges 2026-09-16 18:34:11 +08:00
Ed1s0nZ f7882be546 feat: manage task process lifetimes and preserve turn history 2026-09-16 17:52:58 +08:00
Ed1s0nZ 6ad9ea2d13 feat: add configurable tool call blocking and monitoring 2026-09-08 09:44:32 +08:00
temp c70da22de7 Remove conversation grouping feature 2026-08-26 15:00:09 +08:00
temp 21c6ad9bdf feat: persist hitl default config 2026-08-24 19:45:07 +08:00
temp e218316c55 Add token usage tracking and UI refinements 2026-08-24 00:05:05 +08:00
公明 5b000d1e3e Add files via upload 2026-08-18 20:22:40 +08:00
公明 55ee5fbac9 Delete internal directory 2026-08-18 20:14:29 +08:00
公明 7f8093f8b9 Add files via upload 2026-08-15 01:57:26 +08:00
公明 2910289f0b Delete internal directory 2026-08-15 01:54:26 +08:00
公明 0f92817261 Add files via upload 2026-07-31 21:21:47 +08:00
公明 0821bb2911 Add files via upload 2026-07-22 14:10:44 +08:00
公明 0152781598 Add files via upload 2026-07-21 23:47:17 +08:00
公明 f30e8e7ca6 Add files via upload 2026-07-21 20:54:51 +08:00
公明 1923f7710a Add files via upload 2026-07-17 17:08:27 +08:00
公明 3c2379758d Add files via upload 2026-07-16 19:39:55 +08:00
chenchenandruanmingchen acfacfe1b3 feat(工作流):支持本地图编排策略包导入导出 (#195)
* docs: define local workflow package mvp

* docs: fix workflow package api contract

* feat: add local workflow package mvp

* feat(workflow): add package API client

* feat(workflow): add package import interface

* feat(workflow): connect package import flow

* fix(workflow): map package validation errors

* fix(workflow): handle import key generation errors

* feat(workflow): localize package import states

* fix(workflow): reset package import modal on open

---------

Co-authored-by: ruanmingchen <“ruanm@chenchen”>
2026-07-14 11:28:37 +08:00
公明 e5a4703e91 Add files via upload 2026-07-13 19:08:57 +08:00
公明 3c6cf633e1 Add files via upload 2026-07-11 11:44:25 +08:00
公明 e020ffed49 Add files via upload 2026-07-10 19:47:53 +08:00
公明 46a9b42fde Add files via upload 2026-07-10 18:58:17 +08:00
公明 bc3246d157 Add files via upload 2026-07-10 16:51:06 +08:00
公明 5c4e8cdfb3 Add files via upload 2026-07-08 15:22:36 +08:00
公明 017db2b9a8 Add files via upload 2026-06-27 01:41:36 +08:00
公明 c91806c0c4 Add files via upload 2026-06-26 23:11:52 +08:00
公明 6becada509 Add files via upload 2026-06-24 18:15:31 +08:00
公明 85d58eeeb3 Add files via upload 2026-06-24 17:17:33 +08:00
公明 d5a0f93c6c Add files via upload 2026-06-18 12:40:54 +08:00
公明 cf1f8515d9 Delete internal directory 2026-06-18 12:37:39 +08:00
公明 cae3a77331 Add files via upload 2026-05-12 12:56:11 +08:00
公明 8185539f33 Add files via upload 2026-05-04 03:45:24 +08:00
公明 b53cae3a02 Add files via upload 2026-04-28 11:37:52 +08:00
公明 26116b0822 Add files via upload 2026-04-21 19:16:09 +08:00
公明 a5e61947d3 Add files via upload 2026-04-19 01:17:09 +08:00
公明 5ef7618f44 Delete internal directory 2026-04-19 01:14:50 +08:00
公明 9eb47d96f5 Add files via upload 2026-04-08 00:18:07 +08:00
公明 5fe5f5b71f Add files via upload 2026-03-20 01:03:40 +08:00
公明 0a89ac31c3 Add files via upload 2026-03-13 20:10:28 +08:00
公明 44b8d0b427 Add files via upload 2026-02-08 22:01:56 +08:00
公明 7b7c689efd Add files via upload 2026-02-08 20:09:23 +08:00
公明 27b16e0d54 Add files via upload 2026-02-07 00:04:59 +08:00
公明 2064e89356 Add files via upload 2026-01-12 18:55:12 +08:00
公明 ef169ba307 Add files via upload 2025-12-24 23:14:37 +08:00
公明 1a2e14aa88 Update executor.go 2025-12-07 15:11:27 +08:00
公明 1b16cd77e4 Add files via upload 2025-11-23 20:35:56 +08:00
公明 ac2c62f882 Add files via upload 2025-11-15 20:15:55 +08:00