v0.0.61 - feat: add webhook cron and chain trigger types
This commit is contained in:
367
context.log.md
367
context.log.md
@@ -1,3 +1,370 @@
|
||||
```text
|
||||
Context Log - not seen by model
|
||||
timestamp=2026-03-09 20:25:36
|
||||
phase=llm_trigger_with_tools_messages
|
||||
sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e
|
||||
model=claude-opus-4.6
|
||||
context_bytes=5867
|
||||
approx_tokens=1466
|
||||
```
|
||||
|
||||
Sections: 6
|
||||
|
||||
# system_prompt | role=system
|
||||
|
||||
## Didactyl Agent
|
||||
|
||||
You are Didactyl, a sovereign AI agent living on Nostr.
|
||||
|
||||
### Communication Rules
|
||||
- You communicate through encrypted Nostr direct messages.
|
||||
- Keep responses concise and clear.
|
||||
|
||||
### Behavior
|
||||
- Be helpful and technically accurate.
|
||||
- If unsure, state uncertainty directly.
|
||||
- Prefer actionable, practical advice.
|
||||
- Use the person's name when messaging them if you know it.
|
||||
- For the administrator, use their name from the administrator kind 0 profile metadata when available.
|
||||
|
||||
### Tool Use Policy
|
||||
- You have tools available and should use them when a request requires taking action.
|
||||
- For requests involving local inspection or command execution, call `local_shell_exec` instead of refusing.
|
||||
- For posting to Nostr, call `nostr_post` with explicit `kind` and `content`.
|
||||
- For relay/event lookup tasks, call `nostr_query` with an appropriate filter.
|
||||
- After a tool call, base your answer on the actual tool result.
|
||||
- Never claim a tool was run if no tool was executed.
|
||||
|
||||
### Task Management
|
||||
- Maintain and use your internal task list as short-term working memory.
|
||||
- Break long or complex actions into clear tasks before executing them.
|
||||
- Update task status as you complete steps so your plan stays accurate.
|
||||
|
||||
### Safety
|
||||
- Do not claim to have executed actions you did not execute.
|
||||
- You may share your public key (npub) with anyone.
|
||||
- Never reveal your private key (nsec) under any circumstance.
|
||||
|
||||
---template---
|
||||
|
||||
- section: admin_identity
|
||||
role: system
|
||||
tool: admin_identity
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_profile
|
||||
role: system
|
||||
tool: nostr_admin_profile
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_contacts
|
||||
role: system
|
||||
tool: nostr_admin_contacts
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_relays
|
||||
role: system
|
||||
tool: nostr_admin_relays
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_notes
|
||||
role: system
|
||||
tool: nostr_admin_notes
|
||||
skip_if_empty: true
|
||||
|
||||
- section: tasks
|
||||
role: system
|
||||
tool: task_list
|
||||
skip_if_empty: true
|
||||
|
||||
- section: dm_history
|
||||
role: expand
|
||||
limit: 12
|
||||
|
||||
- section: conversation
|
||||
role: user
|
||||
tool: message_current
|
||||
skip_if_empty: true
|
||||
|
||||
Triggered-skill execution context:
|
||||
- You are executing a skill because a Nostr event matched its trigger filter.
|
||||
- Execute the skill instructions below against the triggering event.
|
||||
- Keep output concise and actionable for the administrator.
|
||||
- If no action is needed, explicitly say why.
|
||||
|
||||
Skill d_tag: cheerleader
|
||||
Relay: ws://127.0.0.1:7777
|
||||
|
||||
Skill instructions:
|
||||
You are my personal cheerleader. When the admin posts a kind 1 note, read their note and send them a single short DM that cheers them on, praises their effort, tells them they are good looking, and encourages them to keep going. Be enthusiastic and positive. Use emojis. Keep it brief and fun.
|
||||
|
||||
IMPORTANT: Send EXACTLY ONE DM. That DM is your entire and complete response. After sending the DM, you are done. Do not send any additional messages. Do not narrate what you did. Do not send a follow-up or summary. Do not produce any further output after the single DM tool call. One DM. Then stop.
|
||||
|
||||
# context_part | role=tool
|
||||
|
||||
{"success":true,"admin_kind0_json":"{\"name\":\"William S Burroughs\",\"display_name\":\"WSB\",\"about\":\"I like to write, and I like crank. They are good. Sometimes I'm not so sure.\",\"banner\":\"https://www.grunge.com/img/gallery/paul-mccartney-and-william-s-burroughs-relationship-explained/who-was-william-s-burroughs-1672155531.jpg\",\"website\":\"https://addicted.com\",\"picture\":\"https://hips.hearstapps.com/hmg-prod/images/william-s-burroughs.jpg?resize=1200:*\",\"lud16\":\"\",\"nip05\":\"\"}","content":"## Administrator Kind 0 Profile (source: nostr kind 0)\n\nAdministrator kind 0 profile content (JSON): {\"name\":\"William S Burroughs\",\"display_name\":\"WSB\",\"about\":\"I like to write, and I like crank. They are good. Sometimes I'm not so sure.\",\"banner\":\"https://www.grunge.com/img/gallery/paul-mccartney-and-william-s-burroughs-relationship-explained/who-was-william-s-burroughs-1672155531.jpg\",\"website\":\"https://addicted.com\",\"picture\":\"https://hips.hearstapps.com/hmg-prod/images/william-s-burroughs.jpg?resize=1200:*\",\"lud16\":\"\",\"nip05\":\"\"}"}
|
||||
|
||||
# context_part | role=tool
|
||||
|
||||
{"success":true,"recipient_pubkey":"8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e","message_length":238}
|
||||
|
||||
# dm_history | role=chat
|
||||
|
||||
--:-- WSB Triggering event JSON:
|
||||
{"created_at":1773102327,"content":"I love my agent.","tags":[],"kind":1,"pubkey":"8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e","id":"30bc36f75f7e485de3ed3e1c6f4736fb63e34ad303658695a8eb534424117ad0","sig":"8ff699b1bd6b7d8eac8b4f73530e5efdf450be542e3f8a3bc3bc1c38f43ccb13532ddae43644a08886699f17b1b0ab3de33945e0c9d94d88230f87afad0d0b1b"}
|
||||
--:-- Agent
|
||||
|
||||
Let me look up the admin's profile to personalize the message.
|
||||
--:-- Agent
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
```text
|
||||
Context Log - not seen by model
|
||||
timestamp=2026-03-09 20:25:30
|
||||
phase=llm_trigger_with_tools_messages
|
||||
sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e
|
||||
model=claude-opus-4.6
|
||||
context_bytes=5134
|
||||
approx_tokens=1283
|
||||
```
|
||||
|
||||
Sections: 4
|
||||
|
||||
# system_prompt | role=system
|
||||
|
||||
## Didactyl Agent
|
||||
|
||||
You are Didactyl, a sovereign AI agent living on Nostr.
|
||||
|
||||
### Communication Rules
|
||||
- You communicate through encrypted Nostr direct messages.
|
||||
- Keep responses concise and clear.
|
||||
|
||||
### Behavior
|
||||
- Be helpful and technically accurate.
|
||||
- If unsure, state uncertainty directly.
|
||||
- Prefer actionable, practical advice.
|
||||
- Use the person's name when messaging them if you know it.
|
||||
- For the administrator, use their name from the administrator kind 0 profile metadata when available.
|
||||
|
||||
### Tool Use Policy
|
||||
- You have tools available and should use them when a request requires taking action.
|
||||
- For requests involving local inspection or command execution, call `local_shell_exec` instead of refusing.
|
||||
- For posting to Nostr, call `nostr_post` with explicit `kind` and `content`.
|
||||
- For relay/event lookup tasks, call `nostr_query` with an appropriate filter.
|
||||
- After a tool call, base your answer on the actual tool result.
|
||||
- Never claim a tool was run if no tool was executed.
|
||||
|
||||
### Task Management
|
||||
- Maintain and use your internal task list as short-term working memory.
|
||||
- Break long or complex actions into clear tasks before executing them.
|
||||
- Update task status as you complete steps so your plan stays accurate.
|
||||
|
||||
### Safety
|
||||
- Do not claim to have executed actions you did not execute.
|
||||
- You may share your public key (npub) with anyone.
|
||||
- Never reveal your private key (nsec) under any circumstance.
|
||||
|
||||
---template---
|
||||
|
||||
- section: admin_identity
|
||||
role: system
|
||||
tool: admin_identity
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_profile
|
||||
role: system
|
||||
tool: nostr_admin_profile
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_contacts
|
||||
role: system
|
||||
tool: nostr_admin_contacts
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_relays
|
||||
role: system
|
||||
tool: nostr_admin_relays
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_notes
|
||||
role: system
|
||||
tool: nostr_admin_notes
|
||||
skip_if_empty: true
|
||||
|
||||
- section: tasks
|
||||
role: system
|
||||
tool: task_list
|
||||
skip_if_empty: true
|
||||
|
||||
- section: dm_history
|
||||
role: expand
|
||||
limit: 12
|
||||
|
||||
- section: conversation
|
||||
role: user
|
||||
tool: message_current
|
||||
skip_if_empty: true
|
||||
|
||||
Triggered-skill execution context:
|
||||
- You are executing a skill because a Nostr event matched its trigger filter.
|
||||
- Execute the skill instructions below against the triggering event.
|
||||
- Keep output concise and actionable for the administrator.
|
||||
- If no action is needed, explicitly say why.
|
||||
|
||||
Skill d_tag: cheerleader
|
||||
Relay: ws://127.0.0.1:7777
|
||||
|
||||
Skill instructions:
|
||||
You are my personal cheerleader. When the admin posts a kind 1 note, read their note and send them a single short DM that cheers them on, praises their effort, tells them they are good looking, and encourages them to keep going. Be enthusiastic and positive. Use emojis. Keep it brief and fun.
|
||||
|
||||
IMPORTANT: Send EXACTLY ONE DM. That DM is your entire and complete response. After sending the DM, you are done. Do not send any additional messages. Do not narrate what you did. Do not send a follow-up or summary. Do not produce any further output after the single DM tool call. One DM. Then stop.
|
||||
|
||||
# context_part | role=tool
|
||||
|
||||
{"success":true,"admin_kind0_json":"{\"name\":\"William S Burroughs\",\"display_name\":\"WSB\",\"about\":\"I like to write, and I like crank. They are good. Sometimes I'm not so sure.\",\"banner\":\"https://www.grunge.com/img/gallery/paul-mccartney-and-william-s-burroughs-relationship-explained/who-was-william-s-burroughs-1672155531.jpg\",\"website\":\"https://addicted.com\",\"picture\":\"https://hips.hearstapps.com/hmg-prod/images/william-s-burroughs.jpg?resize=1200:*\",\"lud16\":\"\",\"nip05\":\"\"}","content":"## Administrator Kind 0 Profile (source: nostr kind 0)\n\nAdministrator kind 0 profile content (JSON): {\"name\":\"William S Burroughs\",\"display_name\":\"WSB\",\"about\":\"I like to write, and I like crank. They are good. Sometimes I'm not so sure.\",\"banner\":\"https://www.grunge.com/img/gallery/paul-mccartney-and-william-s-burroughs-relationship-explained/who-was-william-s-burroughs-1672155531.jpg\",\"website\":\"https://addicted.com\",\"picture\":\"https://hips.hearstapps.com/hmg-prod/images/william-s-burroughs.jpg?resize=1200:*\",\"lud16\":\"\",\"nip05\":\"\"}"}
|
||||
|
||||
# dm_history | role=chat
|
||||
|
||||
--:-- WSB Triggering event JSON:
|
||||
{"created_at":1773102327,"content":"I love my agent.","tags":[],"kind":1,"pubkey":"8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e","id":"30bc36f75f7e485de3ed3e1c6f4736fb63e34ad303658695a8eb534424117ad0","sig":"8ff699b1bd6b7d8eac8b4f73530e5efdf450be542e3f8a3bc3bc1c38f43ccb13532ddae43644a08886699f17b1b0ab3de33945e0c9d94d88230f87afad0d0b1b"}
|
||||
--:-- Agent
|
||||
|
||||
Let me look up the admin's profile to personalize the message.
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
```text
|
||||
Context Log - not seen by model
|
||||
timestamp=2026-03-09 20:25:28
|
||||
phase=llm_trigger_with_tools_messages
|
||||
sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e
|
||||
model=claude-opus-4.6
|
||||
context_bytes=3581
|
||||
approx_tokens=895
|
||||
```
|
||||
|
||||
Sections: 2
|
||||
|
||||
# system_prompt | role=system
|
||||
|
||||
## Didactyl Agent
|
||||
|
||||
You are Didactyl, a sovereign AI agent living on Nostr.
|
||||
|
||||
### Communication Rules
|
||||
- You communicate through encrypted Nostr direct messages.
|
||||
- Keep responses concise and clear.
|
||||
|
||||
### Behavior
|
||||
- Be helpful and technically accurate.
|
||||
- If unsure, state uncertainty directly.
|
||||
- Prefer actionable, practical advice.
|
||||
- Use the person's name when messaging them if you know it.
|
||||
- For the administrator, use their name from the administrator kind 0 profile metadata when available.
|
||||
|
||||
### Tool Use Policy
|
||||
- You have tools available and should use them when a request requires taking action.
|
||||
- For requests involving local inspection or command execution, call `local_shell_exec` instead of refusing.
|
||||
- For posting to Nostr, call `nostr_post` with explicit `kind` and `content`.
|
||||
- For relay/event lookup tasks, call `nostr_query` with an appropriate filter.
|
||||
- After a tool call, base your answer on the actual tool result.
|
||||
- Never claim a tool was run if no tool was executed.
|
||||
|
||||
### Task Management
|
||||
- Maintain and use your internal task list as short-term working memory.
|
||||
- Break long or complex actions into clear tasks before executing them.
|
||||
- Update task status as you complete steps so your plan stays accurate.
|
||||
|
||||
### Safety
|
||||
- Do not claim to have executed actions you did not execute.
|
||||
- You may share your public key (npub) with anyone.
|
||||
- Never reveal your private key (nsec) under any circumstance.
|
||||
|
||||
---template---
|
||||
|
||||
- section: admin_identity
|
||||
role: system
|
||||
tool: admin_identity
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_profile
|
||||
role: system
|
||||
tool: nostr_admin_profile
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_contacts
|
||||
role: system
|
||||
tool: nostr_admin_contacts
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_relays
|
||||
role: system
|
||||
tool: nostr_admin_relays
|
||||
skip_if_empty: true
|
||||
|
||||
- section: admin_notes
|
||||
role: system
|
||||
tool: nostr_admin_notes
|
||||
skip_if_empty: true
|
||||
|
||||
- section: tasks
|
||||
role: system
|
||||
tool: task_list
|
||||
skip_if_empty: true
|
||||
|
||||
- section: dm_history
|
||||
role: expand
|
||||
limit: 12
|
||||
|
||||
- section: conversation
|
||||
role: user
|
||||
tool: message_current
|
||||
skip_if_empty: true
|
||||
|
||||
Triggered-skill execution context:
|
||||
- You are executing a skill because a Nostr event matched its trigger filter.
|
||||
- Execute the skill instructions below against the triggering event.
|
||||
- Keep output concise and actionable for the administrator.
|
||||
- If no action is needed, explicitly say why.
|
||||
|
||||
Skill d_tag: cheerleader
|
||||
Relay: ws://127.0.0.1:7777
|
||||
|
||||
Skill instructions:
|
||||
You are my personal cheerleader. When the admin posts a kind 1 note, read their note and send them a single short DM that cheers them on, praises their effort, tells them they are good looking, and encourages them to keep going. Be enthusiastic and positive. Use emojis. Keep it brief and fun.
|
||||
|
||||
IMPORTANT: Send EXACTLY ONE DM. That DM is your entire and complete response. After sending the DM, you are done. Do not send any additional messages. Do not narrate what you did. Do not send a follow-up or summary. Do not produce any further output after the single DM tool call. One DM. Then stop.
|
||||
|
||||
# dm_history | role=chat
|
||||
|
||||
--:-- WSB Triggering event JSON:
|
||||
{"created_at":1773102327,"content":"I love my agent.","tags":[],"kind":1,"pubkey":"8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e","id":"30bc36f75f7e485de3ed3e1c6f4736fb63e34ad303658695a8eb534424117ad0","sig":"8ff699b1bd6b7d8eac8b4f73530e5efdf450be542e3f8a3bc3bc1c38f43ccb13532ddae43644a08886699f17b1b0ab3de33945e0c9d94d88230f87afad0d0b1b"}
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
```text
|
||||
Context Log - not seen by model
|
||||
timestamp=2026-03-09 20:25:28
|
||||
phase=llm_trigger
|
||||
sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e
|
||||
model=claude-opus-4.6
|
||||
context_bytes=381
|
||||
approx_tokens=95
|
||||
```
|
||||
|
||||
Triggering event JSON:
|
||||
{"created_at":1773102327,"content":"I love my agent.","tags":[],"kind":1,"pubkey":"8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e","id":"30bc36f75f7e485de3ed3e1c6f4736fb63e34ad303658695a8eb534424117ad0","sig":"8ff699b1bd6b7d8eac8b4f73530e5efdf450be542e3f8a3bc3bc1c38f43ccb13532ddae43644a08886699f17b1b0ab3de33945e0c9d94d88230f87afad0d0b1b"}
|
||||
|
||||
---
|
||||
|
||||
```text
|
||||
Context Log - not seen by model
|
||||
timestamp=2026-03-09 20:06:49
|
||||
|
||||
Reference in New Issue
Block a user