{"id":23302256,"url":"https://github.com/hdresearch/nolita","last_synced_at":"2025-08-22T07:32:09.320Z","repository":{"id":226642720,"uuid":"757248346","full_name":"hdresearch/nolita","owner":"hdresearch","description":"A full-stack framework for building agentic applications","archived":false,"fork":false,"pushed_at":"2024-05-01T01:25:29.000Z","size":308,"stargazers_count":48,"open_issues_count":6,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-05-01T13:55:11.145Z","etag":null,"topics":["agent-based-framework","browser-automation","llm-agent","web-browsing"],"latest_commit_sha":null,"homepage":"https://nolita.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hdresearch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-14T05:09:40.000Z","updated_at":"2024-05-04T22:30:42.273Z","dependencies_parsed_at":"2024-05-04T22:30:26.323Z","dependency_job_id":"73fefd15-fb6d-4136-8dee-92955dc6bde6","html_url":"https://github.com/hdresearch/nolita","commit_stats":null,"previous_names":["hdresearch/hdr-browser","hdresearch/nolita"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdresearch%2Fnolita","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdresearch%2Fnolita/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdresearch%2Fnolita/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdresearch%2Fnolita/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hdresearch","download_url":"https://codeload.github.com/hdresearch/nolita/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230568957,"owners_count":18246437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-based-framework","browser-automation","llm-agent","web-browsing"],"created_at":"2024-12-20T10:19:43.683Z","updated_at":"2024-12-20T10:19:44.353Z","avatar_url":"https://github.com/hdresearch.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"**As of October 2024, this repository is no longer maintained.**\n\n# Nolita\n\nA web-enabled agentic framework by [High Dimensional Research](https://hdr.is). \n\nInteract with the web with an AI model of your choice and build quick runners, pipe into your scripts, or scaffold full-stack applications.\n\nNolita uses a sandboxed, on-device Chrome instance and supports a variety of AI models, with more on the way.\n\n## Use for quick tasks\n\nIf you if you have [Node.js installed](https://nodejs.org/en), it's as easy as running\n\n```sh\nnpx nolita\n```\n\n![](https://content.hdr.is/runner.gif)\n\nIf you don't include information, we will prompt you for it as we go. The flags you can provide to omit these steps include the following:\n\n- `--startUrl` dictates where we start the session.\n- `--objective` specifies what we want our agent to accomplish for us.\n- `--agentProvider` sets who is providing the LLM for the task (currently supporting `anthropic` and `openai`).\n- `--agentModel` specifies the model in question by the provider.\n- `--hdrApiKey` takes your HDR key for persistent memory integration, improving the performance and reliability of tasks.\n- `--headless` specifies whether you want the browser to run in headless mode or not. We default to `true`, but you can set it to `false` to see the browser run.\n- `--config` takes a JSON file with the previous flags, if you want to provide them. You can also specify an **inventory** of personal data to use for the objective, like usernames and passwords.\n\n```json\n{\n  \"agentProvider\": \"openai\", // or process.env.HDR_AGENT_PROVIDER\n  \"agentModel\": \"gpt-4\", // or process.env.HDR_AGENT_MODEL\n  \"agentApiKey\": \"sk-*********\", // or process.env.HDR_AGENT_API_KEY\n  \"inventory\": [\n    {  \n      \"value\": \"student\", \n      \"name\": \"Username\", \n      \"type\": \"string\" \n    },\n    { \n      \"value\": \"Password123\",\n      \"name\": \"Password\",\n      \"type\": \"string\" }\n    ]\n}\n```\n\n## Use as part of your stack\n\n```sh\nnpx nolita serve\n```\n\n![](https://content.hdr.is/serve.gif)\n\nRuns a local API for objective-first agentic navigation of a local Chrome instance. \n\nThe server is set up with all keys first initialized with `npx nolita auth`. After starting the server, you can see the `/doc` folder for the expected JSON payload.\n\nUse `--port` to customize the port.\n\n## Build an app\n\n```sh\nnpx nolita create\n```\n\n![](https://content.hdr.is/create.gif)\n\nBootstraps a template application built on Express, React, TypeScript, and the core Nolita framework for making a user-facing, web-enabled, agentic product. For more information on using the template, see [its documentation](/docs/src/create.md).\n\n## How does it work?\n\nNolita drives a Puppeteer installation using local Chrome and parses the accessiblity tree, preprocessing ARIA nodes to add additional accessibility information when necessary.\n\nAt the core of the framework is a state machine between Puppeteer and your model that enforces action steps with [Zod](https://github.com/colinhacks/zod).\n\nSince we enforce types at runtime, you can also customize the typed response you get from the navigation process! For more about that, see \"[Specifying types](/docs/src/create/types.md).\"\n\n## Documentation and examples\n\nTo read the complete documentation for Nolita, you can go to the `docs` folder in this repository or access [docs.nolita.ai](https://docs.nolita.ai). \n\nThere are also various examples of usage in the [examples folder](/examples/).\n\n## Contributing\n\nBefore contributing to this project, please review [CONTRIBUTING](/CONTRIBUTING).\n\n### Building from source\n\nIf you want to work from this repo, you can build Nolita with [pnpm](https://github.com/pnpm/pnpm):\n\n```sh\npnpm i\npnpm run build\n```\n\nThe build outputs to the `dist` folder.\n\n### Community server\n\nTo connect with others building with Nolita, feel free to join our [Discord community](https://discord.gg/SpE7urUEmH).\n\n## Other licenses\n\nBy default, Nolita sends anonymised, abstracted telemetry to our [collective memory](https://hdr.is/memory), which is governed [by its own license agreement](https://hdr.is/terms) and our [privacy policy](https://hdr.is/privacy).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdresearch%2Fnolita","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhdresearch%2Fnolita","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdresearch%2Fnolita/lists"}