- Fixes some OpenAPI schemas in the server.
- Ollama and local models are integrated as providers and marked as experimental. For more information, see the usage guide on https://docs.nolita.ai.
- Our object generation logic and all our CLI utilities have been rewritten.
- We no longer render emails and
mailto:
links as clickable in the aria tree. This is to prevent mail clients popping open emails when using Nolita to collect addresses. - Breaking:
apiCompletionBuilder
, largely an internal class, is no longer available. We advise usingmakeAgent
, instead, also available as an export.
- Fixes an issue with dependency resolution leading to crashes on 2.1.2 and 2.1.1, which were unpublished.
- Fixes an issue where setting the agent model with
npx nolita auth
was setting the wrong value. - Fixes an issue where class declarations were not properly being exported.
- Re-push.
- Updates our example files.
- Cleans up packages to remove security vulnerability.
- Fixes an issue where inventory was not always provided when using Page.browse().
- Fixes an issue with the Anthropic API where consecutive user messages would cause a crash.
- Adds a
followRoute
method to thePage
API which allows for deterministic execution of previous runs. - Adds
replay
andrecord
flags tonpx nolita
for retaining session IDs and replaying them from the index later. - Our chat completion API has been completely rewritten, and we now support Claude 3.5. This also opens the door for local models in future updates.
npx nolita auth
is now the global key storage command for Nolita tasks and projects. If not specified when using any Nolita API, runner or server, Nolita will look for its model and HDR keys and fall back to them. This greatly simplifies what information needs to be passed to Nolita, as you only authenticate once.- For example,
npx nolita serve
payloads no longer need amodel_config
or any HDR configuration. - Additionally,
npx nolita create
projects can simply omit the calls to environment variables and fall back to Nolita's default keys.
- For example,
- Fixed an issue where pre-installed Chrome on Linux machines would prevent running Nolita, due to an incorrect PATH check.
- Fixed an issue where users without a GitHub account could not run
npx nolita create
.
- Adds
npx nolita auth
for securing API keys to the memory index. - Adds
npx nolita help
for an overview of commands.
- Breaking: Browser is now instantiated with
Browser.launch()
, not.create()
. - Added
Page
class for granular, natural language navigation API per "tab" of a Browser session.- For an example, see our updated findEmail example code.
- Added a general
Nolita
class for an equivalent API of our generalnpx nolita
task runner in Node scripts, without needing to wrangle classes. For granular usage, you should still create Browser sessions and drill down into Page navigation. - The Nolita server has been expanded to work in sessions and Pages. The new flow involves creating a browser session, then creating a page within that session, then navigating, providing objectives, or step-by-step natural language navigation. High-level documentation pending on such functionality, but API schema documentation is available at
localhost:3000/doc
when you runnpx nolita serve
. - Added documentation strings and automated documentation export across the codebase.
- Removed a console.log in the
npx
default runner.
- Redeploy due to missing dependency.
- Improves finding routes before sessions.
- Adds collective memory configuration to the server endpoint.
- Note: While there are no interface changes in this package itself, the collective memory endpoint itself has interface changes that necessitate using this version. Please update if you are using 1.2.0 or below. When in doubt,
npx nolita@latest
.
- Agents can now search for routes before starting a free browsing session
- Memory API is now much more stable
- Added comments to ./examples/shopping.ts for how to set memory
- Fixed an issue where the ARIA tree was being badly truncated
- Incorporates the ability to pass in HDR keys for using collective memory.
- Fixes an error during the
create
process.
@hdr/browser
is nownolita
!- Introduced several breaking changes to the type system in the underlying engine -- specifically in the structure of responses. All are streamlined, but you may see different structure coming back from the output.
- We now have several commands you can run:
nolita
works the same as before, running a quick session in-terminal to solve a task. It's been rewritten to be cleaner and more friendly.nolita serve
lets you run a server for running objectives in a sandboxed local Chrome instance.--port
will let you set a custom port. Documentation is provided.nolita create
lets you bootstrap a full-stack agentic application in one command.
- Added collective memory retention of browsing sessions.
- Added the ability to serve the browser automation framework as a server. For example, by running
npm run server
you can then incorporate tasks from other codebases by running requests against your local machine. Documentation is located at/doc
when the server is started. - Refactored to accomodate model agnosticism wherever the browser is exposed (
npx
, server, module). Please note that due to upstream dependencies, Anthropic models newer than Claude 2.1 currently do not work correctly. Theoretically, any provider can be written and incorporated by specifying aCustomProvider
, but this requires importing@hdr/browser
as a module. You can find more in code until we provide further documentation.
- Fixed an issue where inventories were not always passed to agents.
- Added the ability to incorporate "inventories," pieces of personal data you'd like agents to have access to for completing tasks.
- Initial release.