Commit Graph
152 Commits
Author SHA1 Message Date
Ed1s0nZ 63955c4d30 docs: remove internal process journals and organize public guides 2026-10-16 16:59:01 +08:00
Sycun 51d78fda91 fix: bound SQLite lock waits and strengthen PR 329 coverage 2026-10-16 12:22:42 +08:00
Ordinary 9891b04215 fix: wait out SQLite busy on concurrent asset upserts
Deep mode fires many create_asset calls at once. UpsertAssets used a
DEFERRED transaction (SELECT then INSERT) on a 25-connection pool, so
writers hit SQLITE_BUSY immediately and returned "database is locked"
in a few milliseconds instead of waiting.

Open SQLite with _txlock=immediate and a 30s busy timeout, shrink the
pool, and retry locked upserts. Add a 32-way concurrent upsert test.
2026-10-16 12:20:21 +08:00
Sycun 0fb5484657 Merge upstream main and resolve context memory asset conflicts 2026-10-16 11:02:49 +08:00
Sycun 983c981b92 fix: preserve human intent through planning and restart while keeping legacy edits
Mark generated execution prompts, populate deterministic user sections from actual human entries, preserve canonical ledger on overflow/transient restarts, fit long human entries under their formatted budget, and keep unchanged historical keys editable. Add real reduction-to-snapshot Cookie recovery and production entry-point regression tests.
2026-10-12 19:34:24 +08:00
Sycun b642fc7c83 fix: preserve compaction provenance through resume and harden memory retrieval
Carry allowlisted summary origin and host user ledger across the trace recovery boundary. Keep immutable snapshot links after alias failures, scope legacy padded keys, remove stale indexes under small budgets, reuse retrieval clues for labels, and add cross-platform memory CI.
2026-10-12 17:56:43 +08:00
Sycun 2c311a6ab1 fix: harden checkpoint provenance, scope and atomic binding 2026-10-12 10:49:23 +08:00
Sycun 6b8bbbe91b feat: scope automatic working memory to the current conversation 2026-10-12 09:59:15 +08:00
Sycun 616726d452 feat: persist compaction checkpoints in the project blackboard 2026-10-11 23:08:54 +08:00
Sycun b3d3f48c40 feat: add detailed token usage monitoring and cache write metrics 2026-10-11 22:30:30 +08:00
Ed1s0nZ 7f8dab4ec9 feat: reconcile SQLite tables and columns at startup 2026-10-10 20:45:39 +08:00
Ed1s0nZ 9f111a1389 fix: normalize missing deletes and empty REST lists 2026-10-10 18:02:02 +08:00
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
Ed1s0nZ 338dcdbc17 fix: authenticate individual HTTP sessions for tasks and files 2026-10-06 03:37:39 +08:00
Ed1s0nZ 8550325dfe fix: validate workflows and preserve execution outcomes 2026-10-06 02:32:32 +08:00
Ed1s0nZ bdefa535b0 fix: validate form edits and enforce task result ownership 2026-10-06 02:20:28 +08:00
Ed1s0nZ 4a5b177947 fix: preserve task terminal state and file navigation paths 2026-10-06 01:48:12 +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 ac101d8476 feat: add batch task approval settings and fix modal dropdown scrolling 2026-09-13 18:02:43 +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 e218316c55 Add token usage tracking and UI refinements 2026-08-24 00:05:05 +08:00
temp 3bcf4458c5 Fix finalization cleanup for pending tool executions 2026-08-23 19:57:17 +08:00
公明andCursor 24d06c5220 Fix missing results for parallel Eino tool calls.
Merge streaming tool outputs by CallID with ConcatMessages, pair same-name historical results, and FIFO-match duplicate IDs so concurrent nmap 1/2 and 2/2 stay distinct.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 00:29:12 +08:00
公明 5aa2c382b0 Add files via upload 2026-08-18 20:34:53 +08:00
公明 55ee5fbac9 Delete internal directory 2026-08-18 20:14:29 +08:00
公明 053c75b2cc Add files via upload 2026-08-15 11:04:35 +08:00
公明 01c0750d98 Add files via upload 2026-08-15 01:58:38 +08:00
公明 2910289f0b Delete internal directory 2026-08-15 01:54:26 +08:00
公明 44a578e824 Add files via upload 2026-08-15 01:37:28 +08:00
RuoJi6 a1615143be feat(ui): 显示 Agent 任务进度列表 (#251) 2026-08-14 10:44:03 +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
公明 84e99220ff Add files via upload 2026-07-31 21:12:01 +08:00
公明 4a19620137 Add files via upload 2026-07-28 18:22:30 +08:00
Sunycandsycmacmini 3c54a67416 fix(project): 允许 fact_key 驼峰命名并澄清未绑定项目授权报错 (#200) (#217)
- fact_key 校验放开大写字母,支持驼峰命名(如 finding/info-disclosure-messageBundle):
  - internal/database/project.go: 正则 ^[a-z0-9]... 改为 ^[a-zA-Z0-9]...,并更新错误提示
  - internal/project/fact_body_links.go: body 解析正则(依赖事实/相关 fact_key)同步放开大写
- authorizeProjectTool 区分「未绑定项目 / 查询出错 / 真实无权限」三种情况:
  未绑定项目时返回明确可执行提示,替代误导性的 no access to project
  - internal/app/mcp_authorization.go

Co-authored-by: sycmacmini <sycmacmini@sycmacminis-Mac-mini.local>
2026-07-28 11:18:58 +08:00
公明 5cbd828cad Add files via upload 2026-07-24 15:52:16 +08:00
公明 9297e6e6ee Add files via upload 2026-07-23 20:12:31 +08:00
公明 4943b9419e Add files via upload 2026-07-23 19:52:14 +08:00
公明 d304ff5c99 Add files via upload 2026-07-23 19:02:37 +08:00
公明 577c97aab0 Add files via upload 2026-07-22 21:04:18 +08:00
公明 2d7f5322b3 Add files via upload 2026-07-22 16:29:24 +08:00
公明 e407f8203c Add files via upload 2026-07-22 13:59:37 +08:00
公明 631ee6c447 Add files via upload 2026-07-22 11:30:11 +08:00
公明 c925c2e74b Add files via upload 2026-07-21 20:49:10 +08:00
公明 e5507ed8d0 Add files via upload 2026-07-21 16:30:07 +08:00
公明 79941207b9 Add files via upload 2026-07-17 17:03:30 +08:00
公明 d03cc47ac3 Add files via upload 2026-07-16 19:37:01 +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
公明 386ec7b835 Add files via upload 2026-07-13 19:06:02 +08:00
公明 6f39720669 Add files via upload 2026-07-13 15:57:17 +08:00