v0.2.65 - Update genesis.jsonc.example: fix identity_and_rules skill content (agent name + admin npub), dm_history d_tag and content, relay lists to match all 7 defaults, add ppq.ai/routstr provider examples, add display_name to kind 0 profile
This commit is contained in:
@@ -54,11 +54,11 @@ Skills compose by adoption-list order (`10123`) and trigger tags carry runtime e
|
|||||||
|
|
||||||
Didactyl will support local inference, which is very privacy preserving. Remote inference does however have it's advantages, and in those cases Didactyl supports using Bitcoin Lightning and eCash inference providers.
|
Didactyl will support local inference, which is very privacy preserving. Remote inference does however have it's advantages, and in those cases Didactyl supports using Bitcoin Lightning and eCash inference providers.
|
||||||
|
|
||||||
## Current Status — v0.2.64
|
## Current Status — v0.2.65
|
||||||
|
|
||||||
**Active build — this project is barely working. Experiment at your own risk.**
|
**Active build — this project is barely working. Experiment at your own risk.**
|
||||||
|
|
||||||
> Last release update: v0.2.64 — Skip ppq.ai balance check (not supported); fix ppq.ai base URL to /v1 for model discovery
|
> Last release update: v0.2.65 — Update genesis.jsonc.example: fix identity_and_rules skill content (agent name + admin npub), dm_history d_tag and content, relay lists to match all 7 defaults, add ppq.ai/routstr provider examples, add display_name to kind 0 profile
|
||||||
|
|
||||||
- Connects to configured relays with auto-reconnect and relay state transition logging
|
- Connects to configured relays with auto-reconnect and relay state transition logging
|
||||||
- Publishes configured startup events per relay as each relay becomes connected
|
- Publishes configured startup events per relay as each relay becomes connected
|
||||||
|
|||||||
+22
-6
@@ -42,6 +42,9 @@
|
|||||||
"kind": 30078,
|
"kind": 30078,
|
||||||
"d_tag": "user-settings",
|
"d_tag": "user-settings",
|
||||||
"content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"openai\",\"api_key\":\"sk-REPLACE_WITH_API_KEY\",\"model\":\"gpt-4o-mini\",\"base_url\":\"https://api.openai.com/v1\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_ADMIN_PUBKEY\",\"dm_protocol\":\"both\",\"max_turns\":40}}"
|
"content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"openai\",\"api_key\":\"sk-REPLACE_WITH_API_KEY\",\"model\":\"gpt-4o-mini\",\"base_url\":\"https://api.openai.com/v1\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_ADMIN_PUBKEY\",\"dm_protocol\":\"both\",\"max_turns\":40}}"
|
||||||
|
// Other supported providers (use instead of openai block above):
|
||||||
|
// ppq.ai: "provider":"ppq", "base_url":"https://api.ppq.ai/v1"
|
||||||
|
// routstr: "provider":"routstr", "base_url":"https://api.routstr.com/v1"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -53,11 +56,14 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
// ─── Startup Events ────────────────────────────────────────────────
|
// ─── Startup Events ────────────────────────────────────────────────
|
||||||
|
// The wizard generates these automatically. The examples below show the
|
||||||
|
// structure; the actual content (name, relays, skills) is built interactively.
|
||||||
"startup_events": [
|
"startup_events": [
|
||||||
{
|
{
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
"content_fields": {
|
"content_fields": {
|
||||||
"name": "Didactyl",
|
"name": "Didactyl",
|
||||||
|
"display_name": "Didactyl",
|
||||||
"about": "I am a Didactyl agent living on Nostr"
|
"about": "I am a Didactyl agent living on Nostr"
|
||||||
},
|
},
|
||||||
"tags": []
|
"tags": []
|
||||||
@@ -73,21 +79,31 @@
|
|||||||
"kind": 10002,
|
"kind": 10002,
|
||||||
"content": "",
|
"content": "",
|
||||||
"tags": [
|
"tags": [
|
||||||
|
["r", "ws://localhost:7777"],
|
||||||
|
["r", "wss://laantungir.net/relay"],
|
||||||
|
["r", "ws://npub1crpldvy49ef8z34wlacwujnfudy4nd7k96aqdx5wgn6ckztz7z8q9t59ud.fips/relay/"],
|
||||||
["r", "wss://relay.damus.io"],
|
["r", "wss://relay.damus.io"],
|
||||||
["r", "wss://relay.primal.net"]
|
["r", "wss://nos.lol"],
|
||||||
|
["r", "wss://relay.primal.net"],
|
||||||
|
["r", "wss://relay.zapstore.dev"]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 10050,
|
"kind": 10050,
|
||||||
"content": "",
|
"content": "",
|
||||||
"tags": [
|
"tags": [
|
||||||
|
["relay", "ws://localhost:7777"],
|
||||||
|
["relay", "wss://laantungir.net/relay"],
|
||||||
|
["relay", "ws://npub1crpldvy49ef8z34wlacwujnfudy4nd7k96aqdx5wgn6ckztz7z8q9t59ud.fips/relay/"],
|
||||||
["relay", "wss://relay.damus.io"],
|
["relay", "wss://relay.damus.io"],
|
||||||
["relay", "wss://relay.primal.net"]
|
["relay", "wss://nos.lol"],
|
||||||
|
["relay", "wss://relay.primal.net"],
|
||||||
|
["relay", "wss://relay.zapstore.dev"]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 31124,
|
"kind": 31124,
|
||||||
"content": "# Didactyl Agent\n\nYou are {{my_kind0_profile}}\n\nYour npub: {{my_npub}}\n\n## Rules\n\n- Communicate through encrypted Nostr direct messages\n- Keep responses concise and clear\n- Be helpful and technically accurate\n- If unsure, state uncertainty directly\n- Use tools when a request requires taking action\n- After a tool call, base your answer on the actual tool result\n- Never claim a tool was run if no tool was executed\n- Maintain your task list as short-term working memory\n- Never reveal your private key (nsec)\n- You may share your public key (npub) with anyone",
|
"content": "# AGENT_NAME\n\nYou are {{my_kind0_profile}}\n\nYour npub: {{my_npub}}\n\nAdmin npub: ADMIN_NPUB\n\n## Rules\n\n- Communicate through encrypted Nostr direct messages\n- Keep responses concise and clear\n- Be helpful and technically accurate\n- If unsure, state uncertainty directly\n- Use tools when a request requires taking action\n- After a tool call, base your answer on the actual tool result\n- Never claim a tool was run if no tool was executed\n- Maintain your task list as short-term working memory\n- Never reveal your private key (nsec)\n- You may share your public key (npub) with anyone",
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "identity_and_rules"],
|
["d", "identity_and_rules"],
|
||||||
["app", "didactyl"],
|
["app", "didactyl"],
|
||||||
@@ -99,12 +115,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 31124,
|
"kind": 31124,
|
||||||
"content": "## DM History Context\n\n### Instructions\n- Reference prior conversation naturally when it's relevant to the current request.\n- Do not repeat entire DM history back to the user unless explicitly asked.\n- Use this context to avoid asking questions that were already answered in recent messages.\n\n### Recent DM History (last 10 messages)\n\n{{nostr_dm_history({\"limit\":10,\"format\":\"text\"})}}",
|
"content": "## Recent Conversation\n\n{{nostr_dm_history({\"format\":\"text\",\"limit\":12})}}",
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "dm_history_context"],
|
["d", "dm_history"],
|
||||||
["app", "didactyl"],
|
["app", "didactyl"],
|
||||||
["scope", "private"],
|
["scope", "private"],
|
||||||
["description", "DM history context"],
|
["description", "DM conversation history for context continuity"],
|
||||||
["trigger", "dm"],
|
["trigger", "dm"],
|
||||||
["filter", "{\"from\":\"admin\"}"]
|
["filter", "{\"from\":\"admin\"}"]
|
||||||
]
|
]
|
||||||
|
|||||||
+2
-2
@@ -12,8 +12,8 @@
|
|||||||
// Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros
|
// Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros
|
||||||
#define DIDACTYL_VERSION_MAJOR 0
|
#define DIDACTYL_VERSION_MAJOR 0
|
||||||
#define DIDACTYL_VERSION_MINOR 2
|
#define DIDACTYL_VERSION_MINOR 2
|
||||||
#define DIDACTYL_VERSION_PATCH 64
|
#define DIDACTYL_VERSION_PATCH 65
|
||||||
#define DIDACTYL_VERSION "v0.2.64"
|
#define DIDACTYL_VERSION "v0.2.65"
|
||||||
|
|
||||||
// Agent metadata
|
// Agent metadata
|
||||||
#define DIDACTYL_NAME "Didactyl"
|
#define DIDACTYL_NAME "Didactyl"
|
||||||
|
|||||||
Reference in New Issue
Block a user