<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Toy/scripts, branch llm</title>
<subtitle>Become the plaything of your own virtual mistress.</subtitle>
<id>http://git.randomdan.homeip.net/repo/toy/atom?h=llm</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/toy/atom?h=llm'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/'/>
<updated>2026-06-20T18:04:56Z</updated>
<entry>
<title>Remove unnecessary markup around block chat messages</title>
<updated>2026-06-20T18:04:56Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-20T18:04:56Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=2efc7078d8bdddfac7ad03aedeac1a80bc7a14fd'/>
<id>urn:sha1:2efc7078d8bdddfac7ad03aedeac1a80bc7a14fd</id>
<content type='text'>
Including the rogue semicolon that gets picked up and repeated.
</content>
</entry>
<entry>
<title>Replace += with .add for messages in summon</title>
<updated>2026-06-20T18:03:11Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-20T18:03:11Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=34e296b7897edd39c3a00b0999180097aebaee6d'/>
<id>urn:sha1:34e296b7897edd39c3a00b0999180097aebaee6d</id>
<content type='text'>
Fixes the issue where the message log changes were not propagate back
out of the function resulting in no summoning state and a repetition of
the relationship statement.
</content>
</entry>
<entry>
<title>Replace the remaining legacy image stuff</title>
<updated>2026-06-20T17:38:59Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-20T17:38:59Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=e42487bbe44eaebfd68114e28f74f17f62d4603d'/>
<id>urn:sha1:e42487bbe44eaebfd68114e28f74f17f62d4603d</id>
<content type='text'>
Generalises the textMatcher for any purpose, including its original use
of selecting an image for some text. Then replaces the legacy outfit
selector with an LLM based one using it.
</content>
</entry>
<entry>
<title>Remove more of the tag based image selection</title>
<updated>2026-06-19T18:08:33Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-06-19T18:08:33Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=856384857c861317ca1551e388b7516873ec28b3'/>
<id>urn:sha1:856384857c861317ca1551e388b7516873ec28b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace the tag based image selector with a caption based one</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-19T16:38:47Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=717e3ccc16c197ce578cf60e9517dfba0789b7a1'/>
<id>urn:sha1:717e3ccc16c197ce578cf60e9517dfba0789b7a1</id>
<content type='text'>
In most places. Images are selected now by passing the LLM a list of
photo captions and the words spoken, and asking it which image best fits
the sentiment.
</content>
</entry>
<entry>
<title>Improve the handling of the dismissal process</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-19T11:49:22Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=fe8f3a00a2750be614f82514fb6f9c3ca3028148'/>
<id>urn:sha1:fe8f3a00a2750be614f82514fb6f9c3ca3028148</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tidy callAPI_chatJSON and improve error handling</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-19T11:38:36Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=035c46062fa0ddc98b00ae12c802b4460c313f86'/>
<id>urn:sha1:035c46062fa0ddc98b00ae12c802b4460c313f86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow modules to inject into the system and user intro prompts</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-19T11:35:58Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=57a32392a5b9ce7d99eaae0f4a3edbb5d244fc35'/>
<id>urn:sha1:57a32392a5b9ce7d99eaae0f4a3edbb5d244fc35</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Keep modules in global scope</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-18T12:37:21Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=5f649909de9abb5b21d24650d92b229ea50cac4a'/>
<id>urn:sha1:5f649909de9abb5b21d24650d92b229ea50cac4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial dirty commit replacing most the back end with an LLM</title>
<updated>2026-06-19T16:41:01Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-06-18T11:47:33Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/toy/commit/?id=71c6c1e99e93607cdfb26de6e4d11a6bf52ca427'/>
<id>urn:sha1:71c6c1e99e93607cdfb26de6e4d11a6bf52ca427</id>
<content type='text'>
Removes almost all the code for explicit activities and drops in calls
to an OpenAI compatible API.
Lots of pending stuff to restore a lot of functionality and leverage
better use of the LLM, but a basic summon/session loop functions.
</content>
</entry>
</feed>
