Repository navigation
v0.10.0
Added
-
Jina Reader ships as a built-in skill. Mention
$jina-readerwith a
public webpage or PDF URL to read it through Jina Reader using curl. It
covers Markdown, text, HTML, JSON and screenshot links, works without a key
for basic access, and supports optionalJINA_API_KEYauthentication. Like
skill-creator, it is installed on first launch, preserves local edits and
can be disabled through/skills; custom skill-directory overrides remain
untouched. Loading the skill itself makes no network request
(docs/skills.md). -
The agent knows which user it runs as. The environment block in its
system prompt gains aUserline —User root,User linuztx— so it
knows whether it is root before it reaches forsudo. Root is decided by
the user id, never by a name: a root account under another name reads
toor (root), a leftover$USER=rootcannot make an ordinary user look
like root, and an account with no name readsuid 1000. Subagents carry
the same line (docs/environment.md).
Changed
- Shorter, clearer skill-tool guidance. The description tells the model
to load a matching or mentioned skill once and reuse its instructions while
they remain in context. It removes conflicting advice that required another
tool call whenever mentioning a skill.
Fixed
- Repeated skill calls no longer duplicate instructions in context. The
executor returns a short "already loaded" reminder without rereading
SKILL.mdor appending its body, even when the model repeats a call within
the same batch. Detection follows each agent's actual context across turns,
resumed sessions, and subagent continuations; each new subagent can load
its own copy. Compaction, clearing, or backtracking permits a fresh load
when the original instructions are gone. Failed loads remain retryable,
disabled skills remain unavailable, and name aliases, hook-rewritten calls,
and secret-masked directory headers are handled (docs/skills.md). - Each account gets its own temp directory where
/procis missing.
The session's scratchpad and background output live under
alter-zero-{uid}, and the uid was read from/proc/self, which answered
0 wherever/procis absent: on a Linux sandbox without it every account
shared/tmp/alter-zero-0, where a second account could not create its
session. The uid now comes from the kernel's effective uid on every
platform (docs/background.md).
Full changelog: v0.9.0...v0.10.0