Skip to content

v0.25.0

Choose a tag to compare

@fvarrui fvarrui released this 18 Oct 22:33
· 21 commits to main since this release

Extensions can use remote services, and agents suggest the extensions their people need. The documentation is now in Spanish too, under /es/.

New features

  • Remote MCP servers (#61). An installed extension's .mcp.json may declare type: "http" (or "sse") servers with a url and headers: nothing runs on the computer, its options (${user_config.KEY}) and the agent's variables are filled in when the session opens, and the address must be https (http only on localhost). Each gets a session name of its own, <extension>-<server>, so it never signs in with the runner's own Claude Code tokens. See A remote server.
  • Signing in from the chats. A remote server behind OAuth shows as needing sign-in in /extensions; /extensions sign-in <name> (the chat controller's signInExtension()) gives the person the link and says when it's done, a callback address pasted from another computer finishes it, and /extensions sign-out <name> clears it. It uses the SDK's sign-in methods, which aren't in its typings yet: the kit calls them only when they exist (ADR-028).
  • Installing, extension info, the catalog and catalog.json (remote) name the hosts an extension talks to.
  • The agent as an advisor on extensions (#64). With awareness and a folder for extensions, the agent has extensions_catalog (read-only): what's installed and how it stands, what its catalogs offer (from their copies, filtered by catalogTopics), and with refresh what's new online. Asked for something its tools don't do well, it suggests a fitting extension in one sentence and goes on without it; it never installs one itself. An extensions skill helps with installed ones, their options and why one is off. See The agent's own suggestions.
  • The documentation in Spanish: every guide, the homepage and the site's interface, with a language selector; the API reference stays English.
  • New exports: isRemoteServer(), remoteHosts(), remoteServerName(), LocalServer, RemoteServer, ExtensionAuth, SignIn, McpAuthentication; buildSessionOptions() returns extensionAuth; extensionCatalog() takes a language.
  • @falkenslab/agent-kit-catalog 0.4.0 writes remote into catalog.json.

Fixes

  • The docs name the marketplace's new repository, falkenslab/agent-extensions.
  • The site's footer is Falken's Lab's signature alone.

Breaking changes

  • PluginServer is LocalServer | RemoteServer: code that reads a server's command checks isRemoteServer() first.
  • addExtension(), installFromMarketplace() and installExtension() also return remote (the hosts); CatalogEntry has remote.
  • A remote extension's changed option opens the session again (restartExtension() returns false for it): the SDK fixes a remote server's URL and headers when the session opens.

Captain Whiskers

Captain Whiskers 0.6.0, the example agent built on agent-kit 0.25.0, as a Windows app: download the installer. It's unsigned, so SmartScreen warns about it; it asks for a Claude key on first start and keeps everything in ~/.captain-whiskers. New: he suggests an extension of his shipyard when you ask for what it does, and his drawer says which service an extension talks to.