Commit Graph

27 Commits

Author SHA1 Message Date
zenord e9f1d595fa fix: avoid blocking on the task that just started
When an assistant turn emits both confirm and start_next, confirm may
already start the newly queued proposal. The later start_next then sees
the just-started task as an active blocker and appends a false running-task correction. Suppress that redundant start_next correction when confirm in the same turn already started the current user proposal. Also tighten the worker bootstrap wording to run confirmed low-risk work continuously until a real decision point.
2026-08-22 00:15:32 +08:00
zenord 9ae2639660 feat: run confirmed proposals continuously until a real decision point
A proposal still needs one confirmation before it starts, but once it is
working the worker now treats that as a single grant to carry out
routine low-risk execution without step-by-step reconfirmation. It only
returns pending early for high-risk actions, key business decisions,
external blockers, or dirty/unexpected targets. Assistant/worker
bootstrap copy and docs now align with that execution model.
2026-08-22 00:05:40 +08:00
zenord 5229059fe3 feat: share finish stop and cancel across the board
Proposal visibility is already global; this change makes finish, stop,
and cancel shared queue-management actions so any user can unblock the
single worker and shared queue. Confirm, adjust, follow_up, and
start_next remain owner-only. Assistant/bootstrap copy, /help, /list,
and runtime checks now align with that split.
2026-08-22 00:02:26 +08:00
zenord 91327dc632 feat: share the proposal board across chats
The unfinished-proposal board is now visible to every conversation,
with entries marked scope=own/scope=other (chat type only, no IDs), so
anyone can see what the single worker is busy with. All actions remain
owner-only, and pending reminders still target only the owner.
2026-08-19 17:08:48 +08:00
zenord f17fee7383 feat: show live worker status card to all users during debugging
Non-owners now see the same real-time status card as the owner, marked
as another user's proposal, instead of a desensitized busy line. This
is a debugging-phase relaxation; restore owner-only visibility for
production.
2026-08-19 16:43:53 +08:00
zenord 4f7b4a9115 feat: show owners a live worker status snapshot
While a worker turn is running, the assistant prompt for the working
proposal's owner includes a compact status card (elapsed time, last
tool activity category with age, per-category counts) built from the
ACP session/update stream the runtime already receives. Other users
still see only the desensitized busy state, and raw update content
never enters the assistant session.
2026-08-19 16:39:42 +08:00
zenord bd96595ba8 feat: reset idle assistant sessions after one hour
When a conversation's assistant session has been idle longer than
runtime.acp.assistantSessionResetIdleMs (default 1h, 0 disables) and
its owner has no unfinished proposals, the next inbound message starts
a fresh session instead of resuming. Binding lastActiveAt is persisted
per turn so the decision survives restarts.
2026-08-19 16:17:54 +08:00
zenord 9c3139380d fix: salvage truncated worker envelopes and log worker lifecycle
Models occasionally drop the closing tag of the result envelope while
the JSON itself is complete; the strict parser rejected these and one
repair attempt could not always recover, cascading into worker_error
and dropping valid attachments. The parser now falls back to
brace-balanced salvage when the closing tag is missing, and worker
lifecycle events (start, resume, invalid envelope, repair, settle,
worker_error) are logged.
2026-08-19 15:44:53 +08:00
zenord 6b506b8c55 feat: send workspace images to QQ chats
Worker results may report image attachments stored inside the workspace;
the runtime validates them (containment, png/jpg magic, size) and
delivers them with the pending event. Assistants gain a send_image
action so users can ask for an image later. QQ uploads via /files with
base64 file_data and sends msg_type 7 rich media, sharing the same
msg_id/msg_seq counter as text replies; non-image adapters flatten
images to text.
2026-08-19 14:39:18 +08:00
zenord 7aa610294c feat: pending-finish proposals and QQ image input
Proposal semantics: worker results no longer distinguish success/fail;
only an explicit finish settles a pending proposal. Pending owner input
follows up by resuming the original worker session. Dirty pending blocks
start_next globally; clean pending only blocks its owner.

QQ adapter now downloads image attachments and passes them as ACP image
content blocks; video/file attachments degrade to link text.
2026-08-19 13:36:23 +08:00
zenord 33854721bf docs: add gori-agent deployment skill 2026-08-18 22:57:23 +08:00
zenord 2409922d55 feat: split assistant persona from worker persona 2026-08-18 22:49:05 +08:00
zenord ffedf616e3 fix: use passive QQ event replies 2026-08-18 22:20:55 +08:00
zenord 4af5049605 fix: scope proposals to chat users 2026-08-18 20:58:08 +08:00
zenord b4121c9fd6 feat: add assistant proposal worker runtime 2026-08-18 18:48:47 +08:00
zenord 947f19e3cd refine long-running task notices 2026-08-17 16:35:23 +08:00
zenord 680a449cd8 feat: delay long-running task notices 2026-08-17 15:35:18 +08:00
zenord 2795567f8c feat: expose bot task progress 2026-08-17 14:37:51 +08:00
zenord 91bf4e7a0c Upgrade existing launcher profile blocks 2026-08-17 00:58:13 +08:00
zenord fe7bbd0631 Simplify instance lifecycle commands 2026-08-17 00:49:29 +08:00
zenord f9fb4ef776 Refactor runtime around isolated bot instances 2026-08-16 23:45:09 +08:00
zenord 914579a94c Add agent configuration guide 2026-08-16 11:07:33 +08:00
zenord 992a0e8488 Add Chinese quick start guide 2026-08-16 10:44:03 +08:00
zenord a80fe68d57 Add ACP-backed role sessions 2026-08-16 10:08:03 +08:00
zenord d59c4a654f Add QQ gateway runtime support 2026-08-15 16:56:58 +08:00
zenord d79264b11a Add CLI setup and QQ webhook integration 2026-08-15 16:02:05 +08:00
zenord 00325efb50 Initial gori agent gateway 2026-08-14 23:06:31 +08:00