Fix scheduled tasks and improve task scheduling UX

- Fix Apple Container mount issue: move groups/CLAUDE.md to groups/global/
  directory (Apple Container only supports directory mounts, not file mounts)
- Fix scheduled tasks for main group: properly detect isMain based on
  group_folder instead of always setting false
- Add isScheduledTask flag so agent knows when running as scheduled task
- Improve schedule_task tool description with clear format examples for
  cron, interval, and once schedule types
- Update global CLAUDE.md with instructions for scheduled tasks to use
  mcp__nanoclaw__send_message when needed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Gavriel
2026-02-01 16:34:30 +02:00
parent f25e0f9a10
commit 2dedd18491
7 changed files with 38 additions and 13 deletions

View File

@@ -14,6 +14,7 @@ interface ContainerInput {
groupFolder: string;
chatJid: string;
isMain: boolean;
isScheduledTask?: boolean;
}
interface ContainerOutput {
@@ -219,11 +220,17 @@ async function main(): Promise<void> {
let result: string | null = null;
let newSessionId: string | undefined;
// Add context for scheduled tasks
let prompt = input.prompt;
if (input.isScheduledTask) {
prompt = `[SCHEDULED TASK - You are running automatically, not in response to a user message. Use mcp__nanoclaw__send_message if needed to communicate with the user.]\n\n${input.prompt}`;
}
try {
log('Starting agent...');
for await (const message of query({
prompt: input.prompt,
prompt,
options: {
cwd: '/workspace/group',
resume: input.sessionId,