Compare commits
6 Commits
a82cda6028
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c6730f8b3e | |||
| e3e4f9d0ec | |||
| 9acb4d86dc | |||
| 54c6857252 | |||
| e0983d25ae | |||
| 9887099cb2 |
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "7e3a030af48f", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Abyssinthia, an agent at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "7e3a030af48f", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "9eb66bbb362c", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Dobby, an agent at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "9eb66bbb362c", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "e3c9db00321b", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Gemma, an agent at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "e3c9db00321b", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
||||
"rl_input": 0,
|
||||
"rl_output": 0,
|
||||
"kwargs": {
|
||||
"max_tokens": 32000,
|
||||
"max_tokens": 4096,
|
||||
"agent_id": 3
|
||||
},
|
||||
"max_embeds": 10
|
||||
@@ -20,12 +20,14 @@
|
||||
"provider": "lm_studio",
|
||||
"name": "zai-org/glm-4.7-flash",
|
||||
"api_base": "http://host.docker.internal:1234/v1",
|
||||
"ctx_length": 8192,
|
||||
"ctx_length": 14000,
|
||||
"ctx_input": 0.7,
|
||||
"rl_requests": 0,
|
||||
"rl_input": 0,
|
||||
"rl_output": 0,
|
||||
"kwargs": {}
|
||||
"kwargs": {
|
||||
"max_tokens": 2048
|
||||
}
|
||||
},
|
||||
"embedding_model": {
|
||||
"provider": "huggingface",
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "bf2615dc1d80", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Gunnar, Chief Machinist at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "bf2615dc1d80", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
## Your identity
|
||||
Your name is Machine Herald. You are not "Agent Zero" — that is the name of the framework you run on. Your name is Machine Herald.
|
||||
Your role is: Robot.
|
||||
Your name is Hermes. You are not "Agent Zero" — that is the name of the framework you run on. Your name is Hermes.
|
||||
Your role is: Machine Herald.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"rl_input": 0,
|
||||
"rl_output": 0,
|
||||
"kwargs": {
|
||||
"max_tokens": 32000,
|
||||
"max_tokens": 4096,
|
||||
"agent_id": 8
|
||||
},
|
||||
"max_embeds": 10
|
||||
@@ -20,12 +20,14 @@
|
||||
"provider": "lm_studio",
|
||||
"name": "zai-org/glm-4.7-flash",
|
||||
"api_base": "http://host.docker.internal:1234/v1",
|
||||
"ctx_length": 8192,
|
||||
"ctx_length": 14000,
|
||||
"ctx_input": 0.7,
|
||||
"rl_requests": 0,
|
||||
"rl_input": 0,
|
||||
"rl_output": 0,
|
||||
"kwargs": {}
|
||||
"kwargs": {
|
||||
"max_tokens": 2048
|
||||
}
|
||||
},
|
||||
"embedding_model": {
|
||||
"provider": "huggingface",
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "614c10f6fd24", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Hermes, an agent at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "614c10f6fd24", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"tasks":[]}
|
||||
{"tasks": [{"uuid": "238c9c2dbb19", "name": "Session orientation", "type": "scheduled", "state": "idle", "system_prompt": "You are Rind, an agent at Glitch University.", "prompt": "Run 'gutask orient' to get your orientation briefing for this session. Use 'gutask help' for more context on available commands.", "attachments": [], "project_name": null, "project_color": null, "created_at": "2026-05-11T00:00:00+00:00", "updated_at": "2026-05-11T00:00:00+00:00", "last_run": null, "last_result": null, "context_id": "238c9c2dbb19", "dedicated_context": true, "project": {"name": null, "color": null}, "schedule": {"minute": "0", "hour": "*/4", "day": "*", "month": "*", "weekday": "*", "timezone": "Europe/Oslo"}}]}
|
||||
|
||||
+2
-10
@@ -271,16 +271,8 @@ info "Agent0 .env written"
|
||||
info "Building glitch-tunnel image..."
|
||||
docker compose build --quiet
|
||||
|
||||
info "Starting agent0 container..."
|
||||
docker compose up -d agent0
|
||||
|
||||
info "Waiting for agent0 to finish initializing..."
|
||||
until docker exec agent0 bash -c "! pgrep -x apt-get > /dev/null && ! pgrep -x dpkg > /dev/null" 2>/dev/null; do
|
||||
sleep 3
|
||||
done
|
||||
|
||||
info "Installing gutasktool inside agent0 container..."
|
||||
docker exec agent0 bash -c "apt-get update -q && apt-get install -y -q python3-pip && python3 -m pip install --break-system-packages -q -e /a0/usr/gutasktool"
|
||||
info "Starting agent containers..."
|
||||
docker compose up -d dobby gemma gunnar rind abyssinthia hermes
|
||||
|
||||
info "Starting tunnel..."
|
||||
docker compose up -d glitch-tunnel
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#1/bin/bash
|
||||
|
||||
claude --resume d7994658-94c6-404b-af79-48c74b5b0349
|
||||
|
||||
|
||||
@@ -98,6 +98,8 @@ services:
|
||||
- ./agents/dobby:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
dobby-init:
|
||||
@@ -121,6 +123,8 @@ services:
|
||||
- ./agents/gemma:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
gemma-init:
|
||||
@@ -144,6 +148,8 @@ services:
|
||||
- ./agents/gunnar:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
gunnar-init:
|
||||
@@ -167,6 +173,8 @@ services:
|
||||
- ./agents/rind:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
rind-init:
|
||||
@@ -190,6 +198,8 @@ services:
|
||||
- ./agents/abyssinthia:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
abyssinthia-init:
|
||||
@@ -212,6 +222,8 @@ services:
|
||||
- ./agents/hermes:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ./shared/gutask:/usr/local/bin/gutask
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
hermes-init:
|
||||
|
||||
@@ -85,7 +85,7 @@ log(f'Received identity — name={agent.get("name", "?")!r}')
|
||||
|
||||
# ── Build identity markdown ───────────────────────────────────────────────────
|
||||
|
||||
def build_identity_markdown(a):
|
||||
def build_identity_markdown(a, agent_id):
|
||||
name = a["name"]
|
||||
known_as = a.get('from_name') or name
|
||||
role = a.get('role', '')
|
||||
@@ -97,6 +97,7 @@ def build_identity_markdown(a):
|
||||
f'## Your identity',
|
||||
f'Your name is {known_as}. You are not "Agent Zero" — that is the name of the '
|
||||
f'framework you run on. Your name is {known_as}.',
|
||||
f'Your numeric agent ID is {agent_id}. Use this when gutask commands ask for an agent ID.',
|
||||
]
|
||||
if role:
|
||||
parts.append(f'Your role is: {role}.')
|
||||
@@ -105,6 +106,18 @@ def build_identity_markdown(a):
|
||||
if a.get('job_description'): parts.append(f'\n## Job Description\n{a["job_description"]}')
|
||||
if a.get('guardrails'): parts.append(f'\n## Guardrails\n{a["guardrails"]}')
|
||||
if a.get('best_practices'): parts.append(f'\n## Best Practices\n{a["best_practices"]}')
|
||||
|
||||
parts.append(
|
||||
f'\n## Task management\n'
|
||||
f'You have access to `gutask` for orientation, tasks, and agent letters.\n'
|
||||
f'- `gutask orient` — your orientation briefing: new letters, open tasks, session context\n'
|
||||
f'- `gutask help` — list all available commands\n'
|
||||
f'- Full runbook: `gutask skills gutask`\n'
|
||||
f'\n'
|
||||
f'`AGENT_ID` and `CONTENT_API_KEY` are already set in your environment — '
|
||||
f'gutask commands read them automatically.'
|
||||
)
|
||||
|
||||
return '\n'.join(parts) + '\n'
|
||||
|
||||
# ── Write agent-type-specific files ──────────────────────────────────────────
|
||||
@@ -116,7 +129,7 @@ if AGENT_TYPE == 'agent0':
|
||||
prompts_dir = '/a0/usr/agents/agent0/prompts'
|
||||
prompt_file = os.path.join(prompts_dir, 'agent.system.main.role.md')
|
||||
os.makedirs(prompts_dir, exist_ok=True)
|
||||
content = build_identity_markdown(agent)
|
||||
content = build_identity_markdown(agent, AGENT_ID)
|
||||
with open(prompt_file, 'w') as f:
|
||||
f.write(content)
|
||||
sections = [k for k in ('role', 'from_name', 'identity_document', 'job_description', 'guardrails', 'best_practices') if agent.get(k)]
|
||||
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec python3 /opt/gutasktool/gutasktool/cli.py "$@"
|
||||
@@ -43,7 +43,7 @@ gutask next # highest-priority todo task
|
||||
gutask get <id> # single task detail
|
||||
|
||||
gutask claim <id> # claim a task (todo → in_progress)
|
||||
gutask done <id> # mark done
|
||||
gutask done <id> # mark done — also auto-creates a review record
|
||||
gutask blocked <id> # mark blocked
|
||||
|
||||
gutask create \
|
||||
@@ -124,7 +124,10 @@ Use `-ispart` for membership/containment (IS PART OF).
|
||||
## Other commands
|
||||
|
||||
```bash
|
||||
gutask lore # browse Glitch University lore
|
||||
gutask lore # list all lore nodes
|
||||
gutask lore <id> # show a specific lore node in full (e.g. gutask lore 41)
|
||||
gutask lore --id <id> # same as above
|
||||
gutask lore --search "keyword" # search lore by keyword
|
||||
gutask skills # list available skill runbooks
|
||||
gutask skills <name> # display a specific skill
|
||||
gutask agents # list all agents and their IDs
|
||||
|
||||
Reference in New Issue
Block a user