Skip to content

chat: reply by default, and let packages give the computer skills - #81

Open
paulsonnentag wants to merge 6 commits into
mainfrom
chat-skills-plugins
Open

paulsonnentag wants to merge 6 commits into
mainfrom
chat-skills-plugins

Conversation

@paulsonnentag

Copy link
Copy Markdown
Contributor

The computer now responds to every message once it's in a chat. /computer nosey toggles back to only-when-mentioned, and that choice is stored on the chat doc (computerQuiet) so every tab agrees on it.

Skills are llm:skill plugins, ported from the agent-chat branch: any package can register one with instructions and optional tools. A skill is active when the focused doc's type matches, when it's enabled with /plugin, or when the model calls load_skill or reads a matching doc. The momputer persona moves out of ChatRoot into a skill chat ships with (chat/src/skills), registered like anyone else's.

The computer now responds to every message once it's in a chat.
`/computer nosey` toggles back to only-when-mentioned, and that choice
is stored on the chat doc (computerQuiet) so every tab agrees on it.

Skills are `llm:skill` plugins, ported from the agent-chat branch: any
package can register one with instructions and optional tools. A skill
is active when the focused doc's type matches, when it's enabled with
/plugin, or when the model calls load_skill or reads a matching doc.
The momputer persona moves out of ChatRoot into a skill chat ships with
(chat/src/skills), registered like anyone else's.
Now that the computer replies to everything by default, nosey and quiet
each set one mode explicitly instead of nosey toggling.
@patchcrow

patchcrow commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Patchwork glance ready

https://patchwork-preview-81--patchwork-base.netlify.app

Patchwork from inkandswitch/patchwork.inkandswitch.com, packages from this PR at 78966c3.

build-info.json

@paulsonnentag
paulsonnentag marked this pull request as ready for review October 9, 2026 14:02
The bootloader reads `plugins` by importing the package in a module worker,
which has no importmap. features.ts statically imported the selection-mention
feature, a Solid component, so the entry pulled in `solid-js/web` and the
whole package failed to load there (surfacing as "window is not defined"
from Vite's preload helper).

Feature metadata and registry descriptions now live in feature-descriptions.ts,
which has no runtime imports; slots load behind `load()`.
@chee

chee commented Oct 12, 2026

Copy link
Copy Markdown
Member

nosey by default makes sense in Watercooler, but i'm not sure it makes sense in a normal chat.

i'd prefer if the LLM skills thing were added via the chat's own plugins system, if possible, and if not, to figure out why that's not possible and make the plugin system better.

what do you think

Computer messages go through marked + DOMPurify instead of the chat syntax,
with fenced code still on the streaming shiki CodeBlock and <think> still
collapsible. Human messages keep the chat syntax, where *x* is bold. The
system prompts tell the model its replies render as GitHub-flavoured Markdown.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants