19 Commits

Author SHA1 Message Date
xiaoxixi
f7f3bb7f23 docs(tools): fix calculator param names and channel list, document reload_config
- about-picobot tools reference listed calculator functions under an
  'action' column; the real parameter is 'function'. Rewrite the table with
  per-function input parameters (expression/values/x/decimals/base/a/b/p).
- Add missing reload_config entry.
- send_message schema now derives the available channel list dynamically
  instead of hardcoding feishu/cli_chat.
2026-08-21 15:21:01 +08:00
xiaoxixi
d9ad58b84b feat(scheduler): unify scheduled task execution and delivery
Replace the dual task/monitor model, NO_REPLY string protocol, and Agent
self-delivery with a single Scheduled Run path: claim-time JobRun snapshots,
isolated Root/named Agent execution, exactly-once complete_scheduled_run
termination, and Scheduler-owned policy delivery through a persistent outbox.

- SQLite v11: drop job_kind/model/delete_after_run, add job_runs with
  status/outcome joint constraints and delivery lease columns; one-shot
  BEGIN IMMEDIATE migration with atomic rollback.
- Non-blocking JoinSet event loop with bounded run/delivery concurrency;
  terminal commit before any channel I/O; recover unfinished runs as unknown.
- ExecutionOrigin::Scheduled propagates to descendants, completion sink is
  top-level only, background delegation downgrades to foreground.
- Typed delivery receipts, fixed target_session_id, idempotent
  scheduled:<job_run_id> history insert.
- New cron_runs read-only tool; cron_add/update drop kind/model; WebUI and
  Health consume the same JobRun projection.
- Bump version to 1.22.0.
2026-08-21 14:59:02 +08:00
xiaoxixi
9ca78864a2 feat(config): add recovery and health diagnostics 2026-08-20 19:13:34 +08:00
xiaoxixi
ff3d0ef773 feat(browser): preserve persistent sessions 2026-08-20 10:30:33 +08:00
xiaoxixi
c8cdce1ced feat(mcp): configure tool execution properties 2026-08-20 10:05:23 +08:00
b13450498b refactor: remove sleep tool and wake-aware steering machinery
Drop the model-callable sleep tool and its TurnWakeup publisher/handle state. Async background completions and user input already inject through steer-at-safe-boundary or the queued continuation Turn, so the sleep path only misled agents into busy-waiting on non-actionable queue wakes. Cancellation still normalizes running tool blocks to Cancelled.
2026-08-13 18:08:07 +08:00
5501c539fc feat: remove agent run groups, add WebUI agent definition management
- drop agent_run_groups table and group_id/scope_kind/scope_id columns (schema v8)
- remove group_id from AgentExecutionContext and recovery group counters
- flatten TasksPage background tab into a per-run list
- add WebUI Agents page with definition CRUD and inline provider/model
- bump version to 1.11.0
2026-08-13 14:03:01 +08:00
554d4b15ac feat: wire run quota and signal delivery persistence; remove redundant compat code
- RunQuota now enforced: background admission acquires the run permit
  (global→session) and the runner holds it until terminal commit;
  foreground never takes run permits so nested limit=1 cannot deadlock
- RuntimeAdmission activity guard held by background runners for the
  whole run; admission checked before any durable write
- signal_contract_json/signal_delivery persisted at run admission so
  definition-level steer delivery actually takes effect (was silently
  falling back to queue)
- terminal completion payload carries the run's emitted signal IDs
  (design §12.3) so the main Agent can recognise duplicates
- ROOT caller_scope_id is the literal "ROOT" (design §9.6)
- legacy general delegation returns a deprecation/migration hint

Cleanup:
- remove unused AgentCaller enum and run_parallel wrapper
- remove unreachable http_get_only prompt machinery (http_request is
  RootOnly and never enters sub-agent registries)
- drop never-read EmittedSignal fields; derive WakeupSource from
  TurnInputSource instead of duplicating match arms
- replace the /stop oneshot compatibility bridge with a plain turn_busy
  flag; the worker's forced-cancel path now selects on the cancellation
  token (implementation doc §11.1)

Version 1.8.0
2026-08-11 15:24:49 +08:00
ac201a3949 feat: durable agent orchestration with run persistence, inbox continuation, and signal/steer
- AgentCatalog/definitions with strict Markdown frontmatter, delegation graph,
  fail-closed tool scoping, and signal contracts
- structured cancellation (AgentError::Cancelled/TimedOut) across provider
  streams, tool batches, and sleep; /stop drives the same terminal state
- schema v6 run/group/inbox persistence with execution-ID conditional
  transitions and completion-slot reservations
- ExecutionGate separating run quota from provider/tool step permits
- background completion inbox with hidden-trigger continuation turns,
  fairness scheduling, lease release, dead-lettering, and activation recovery
- typed TurnMailbox with two-phase steer admission and atomic consumption at
  turn commit; /stop releases admitted steer events back to pending
- emit_signal tool with contract-enforced rate/dedupe/severity/size limits
- WS run/event projection (GetAgentRuns, AgentRunUpdated, AgentEventUpdated),
  /api/agent-runs* management endpoints, /api/tasks union, WebUI run tree
  and signal cards
- ChannelContext.durable_private persisted for continuation delivery reuse

Version 1.7.0
2026-08-11 11:51:20 +08:00
1acab7f890 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	AGENTS.md
#	Cargo.toml
#	docs/ARCHITECTURE.md
#	resources/skills/about-picobot/references/architecture.md
#	src/agent/agent_loop.rs
#	src/session/session.rs
#	webui/package-lock.json
#	webui/package.json
2026-08-06 18:37:16 +08:00
e45980a282 feat: add cancellable sleep tool 2026-08-06 08:38:43 +08:00
efb0e7f0b0 docs: document persistent browser workflows 2026-07-28 23:51:30 +08:00
b1b8e2d923 feat: migrate browser tooling to agent-browser 2026-07-27 23:53:55 +08:00
b9195129b3 docs: describe same-turn media delivery 2026-07-20 00:12:12 +08:00
351af8870d 初步实现todo功能 2026-07-15 17:48:14 +08:00
9ac898acbb 扩充定时任务功能、实现类似其他agent软件的heartbeat功能 2026-07-15 16:36:10 +08:00
901b622b40 更新文档 2026-07-14 13:02:06 +08:00
0c3e740d15 修改说明文档+添加dockerfile 2026-06-15 23:20:13 +08:00
4fc47d9b83 增加工具说明 2026-05-24 14:56:43 +08:00