{"_id":"@asapr0/nextgenchat","name":"@asapr0/nextgenchat","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@asapr0/nextgenchat","version":"0.1.0","description":"Local-first collaborative AI agent workspace platform","bin":{"nextgenchat":"bin/nextgenchat.js","ngc":"bin/nextgenchat.js"},"scripts":{"setup":"bash scripts/setup.sh","setup:local":"bash scripts/setup.sh","setup:local:win":"powershell -ExecutionPolicy Bypass -File scripts/setup.ps1","install:local":"bash scripts/install.sh","install:local:macos":"bash scripts/install-macos.sh","install:local:win":"powershell -ExecutionPolicy Bypass -File scripts/install.ps1","service:install":"bash scripts/service-install.sh","service:install:macos":"bash scripts/service-install-macos.sh","service:install:win":"powershell -ExecutionPolicy Bypass -File scripts/service-install.ps1","service:run":"bash scripts/service-run.sh","service:run:macos":"bash scripts/service-run-macos.sh","service:run:win":"powershell -ExecutionPolicy Bypass -File scripts/service-run.ps1","service:status":"systemctl --user status nextgenchat.service","service:logs":"journalctl --user -u nextgenchat.service -f","service:stop":"systemctl --user stop nextgenchat.service","service:disable":"bash scripts/service-disable.sh disable","service:remove":"bash scripts/service-disable.sh remove","service:status:macos":"launchctl print gui/$(id -u)/com.nextgenchat.local","service:logs:macos":"tail -f ~/Library/Logs/NextGenChat/service.out.log ~/Library/Logs/NextGenChat/service.err.log","service:stop:macos":"bash scripts/service-disable-macos.sh stop","service:disable:macos":"bash scripts/service-disable-macos.sh disable","service:remove:macos":"bash scripts/service-disable-macos.sh remove","service:stop:win":"powershell -ExecutionPolicy Bypass -File scripts/service-disable.ps1 stop","service:disable:win":"powershell -ExecutionPolicy Bypass -File scripts/service-disable.ps1 disable","service:remove:win":"powershell -ExecutionPolicy Bypass -File scripts/service-disable.ps1 remove","dev:local":"bash scripts/dev.sh","dev:local:win":"powershell -ExecutionPolicy Bypass -File scripts/dev.ps1","dev:phase1":"pnpm dev:local","stop":"bash scripts/stop.sh","dev":"turbo dev","build":"turbo build","lint":"turbo lint","typecheck":"turbo typecheck","test":"turbo test","format":"prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\""},"keywords":["ai","agents","chat","local-first","mcp","nextjs","fastify","workspace","automation"],"author":{"name":"Ammar Alasad"},"license":"MIT","homepage":"https://github.com/AmmarAlasad/NextGenChat","repository":{"type":"git","url":"git+https://github.com/AmmarAlasad/NextGenChat.git"},"bugs":{"url":"https://github.com/AmmarAlasad/NextGenChat/issues"},"publishConfig":{"access":"public"},"packageManager":"pnpm@10.33.0","devDependencies":{"@eslint/js":"^10.0.1","eslint":"^10.1.0","globals":"^16.4.0","prettier":"^3.8.1","turbo":"^2.9.3","typescript":"^6.0.2","typescript-eslint":"^8.43.0"},"gitHead":"96fd18610fe782754cd2c0fa99c8804396b3c033","_id":"@asapr0/nextgenchat@0.1.0","_nodeVersion":"20.19.5","_npmVersion":"9.2.0","dist":{"integrity":"sha512-fEE0g4lQVWZkiCs8N2BMbLCZT1um7+mB4dvNntzPwec9l1YfrJDv7/DiWHS1mlfunXJ+riU7m1zYw+mC3C+n7g==","shasum":"0e32459998e58fbdbb35051ec9a99497f9748370","tarball":"https://registry.npmjs.org/@asapr0/nextgenchat/-/nextgenchat-0.1.0.tgz","fileCount":4,"unpackedSize":30118,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHv2ORt6f/jPeZyL0HArpFX1UfimTLzUuJNKQNIkrS9jAiB3JjUVmuYI94TIO6Xw72yMpyT15t7wJ97ls9Fv+dH03g=="}]},"_npmUser":{"name":"asapr0","email":"ammaralasaad12@gmail.com"},"directories":{},"maintainers":[{"name":"asapr0","email":"ammaralasaad12@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextgenchat_0.1.0_1776437901325_0.9739928209789028"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T14:58:21.232Z","0.1.0":"2026-04-17T14:58:21.461Z","modified":"2026-04-17T14:58:21.664Z"},"maintainers":[{"name":"asapr0","email":"ammaralasaad12@gmail.com"}],"description":"Local-first collaborative AI agent workspace platform","homepage":"https://github.com/AmmarAlasad/NextGenChat","keywords":["ai","agents","chat","local-first","mcp","nextjs","fastify","workspace","automation"],"repository":{"type":"git","url":"git+https://github.com/AmmarAlasad/NextGenChat.git"},"author":{"name":"Ammar Alasad"},"bugs":{"url":"https://github.com/AmmarAlasad/NextGenChat/issues"},"license":"MIT","readme":"# NextGenChat\n\n> Local-first collaborative AI agent workspace software with persistent agents, real-time chat, project workspaces, shared files, task decks, browser automation, and multi-provider model support.\n\n![License: MIT](https://img.shields.io/badge/license-MIT-green)\n![Platform: Linux](https://img.shields.io/badge/platform-Linux-blue)\n![Platform: Windows](https://img.shields.io/badge/platform-Windows-blue)\n![Platform: macOS](https://img.shields.io/badge/platform-macOS-blue)\n![Status: Experimental](https://img.shields.io/badge/status-experimental-orange)\n![Local First](https://img.shields.io/badge/local--first-yes-6f42c1)\n\n![NextGenChat repository image](./assets/repo-image.png)\n\n> ⚠️ **Warning**\n>\n> NextGenChat is a powerful local agent runtime. It can run tools, modify files, browse the web, and automate actions. It is **not** a toy and it is **not** safe to use carelessly.\n>\n> If you do not understand what this software is doing, do **not** run it on important machines, sensitive accounts, production systems, or environments containing secrets.\n\nNextGenChat is an open source platform for people who want AI agents to behave more like durable collaborators than disposable prompt completions.\n\nIt is built around a simple idea:\n\n- an agent should have identity\n- an agent should have durable memory and private state\n- a project should have shared context and shared files\n- work should be trackable through tickets, not lost in one long transcript\n- the operator should be able to inspect, interrupt, and guide agent execution\n\n## Installation\n\n> 🚨 **Before you install**\n>\n> You are responsible for what this software is allowed to access on your machine.\n>\n> Recommended safe starting point:\n>\n> - use a non-critical machine or VM\n> - do not store secrets in agent or project files\n> - do not connect browser automation to sensitive sessions\n> - review enabled tools before trusting an agent with real work\n\n\n## One-line install from GitHub\n\n### Linux\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AmmarAlasad/NextGenChat/main/scripts/install.sh | bash\n```\n\n### macOS\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AmmarAlasad/NextGenChat/main/scripts/install-macos.sh | bash\n```\n\n### Windows\n\n```powershell\nirm https://raw.githubusercontent.com/AmmarAlasad/NextGenChat/main/scripts/install.ps1 | iex\n```\n\n## One-line install from npm\n\n### Linux\n\n```bash\nnpx @asapr0/nextgenchat@latest install\n```\n\n### macOS\n\n```bash\nnpx @asapr0/nextgenchat@latest install\n```\n\n### Windows\n\n```powershell\nnpx @asapr0/nextgenchat@latest install\n```\n\n## What the installer does\n\n### Linux install path\n\nThe Linux installer:\n\n- clones or updates the repo\n- creates `.env` from `.env.example`\n- generates local secrets\n- installs dependencies\n- syncs Prisma\n- installs a `systemd --user` service\n- enables user lingering when possible so the user service survives reboot\n- starts the frontend and backend stack\n\n### macOS install path\n\nThe macOS installer:\n\n- clones or updates the repo\n- creates `.env` from `.env.example`\n- generates local secrets\n- installs dependencies\n- syncs Prisma\n- installs a LaunchAgent called `com.nextgenchat.local`\n- starts the frontend and backend stack in the background\n- restarts the app when you log in again\n\n### Windows install path\n\nThe Windows installer:\n\n- clones or updates the repo\n- creates `.env`\n- installs dependencies\n- syncs Prisma\n- installs a Windows Scheduled Task called `NextGenChat`\n- starts the stack through that scheduled task\n\n### Runtime data locations\n\nLinux local runtime data defaults to:\n\n- `~/.nextgenchat/dev.db`\n- `~/.nextgenchat/agent-workspaces/`\n- `~/.nextgenchat/project-workspaces/`\n- `~/.nextgenchat/install/`\n\nmacOS local runtime data defaults to:\n\n- `~/.nextgenchat/dev.db`\n- `~/.nextgenchat/agent-workspaces/`\n- `~/.nextgenchat/project-workspaces/`\n- `~/.nextgenchat/install/`\n- `~/Library/LaunchAgents/com.nextgenchat.local.plist`\n- `~/Library/Logs/NextGenChat/`\n\nWindows local runtime data defaults to:\n\n- `%LOCALAPPDATA%/NextGenChat/dev.db`\n- `%LOCALAPPDATA%/NextGenChat/agent-workspaces/`\n\n## Useful commands after install\n\nAfter install, these commands are available:\n\n```bash\nnextgenchat --help\nngc --help\nngc --status\nngc --stop\nngc --uninstall\n```\n\n`nextgenchat` and `ngc` are the same command. Use whichever is easier to remember.\n\n### Linux\n\n```bash\nngc --status\nngc --logs\nngc --stop\nngc --disable\nngc --uninstall\nngc --uninstall --remove-data\n```\n\n### macOS\n\n```bash\nngc --status\nngc --logs\nngc --stop\nngc --disable\nngc --uninstall\nngc --uninstall --remove-data\n```\n\n### Windows\n\n```powershell\nngc --status\nngc --logs\nngc --stop\nngc --disable\nngc --uninstall\nngc --uninstall --remove-data\n```\n\nOn Linux, macOS, and Windows:\n\n- `ngc --stop` stops the running app but keeps automatic startup enabled.\n- `ngc --disable` stops the running app and disables automatic startup.\n- `ngc --uninstall` stops the running app, removes the background service and the `ngc` / `nextgenchat` commands, and asks whether to keep or delete local data.\n- `ngc --uninstall --keep-data` uninstalls and keeps local data without prompting.\n- `ngc --uninstall --remove-data` uninstalls and deletes local data without prompting.\n\nLocal data includes conversations, the local database, logs, and agent workspaces under `%LOCALAPPDATA%/NextGenChat` on Windows and `~/.nextgenchat` on Linux and macOS.\n\n## Development install\n\n```bash\ngit clone https://github.com/AmmarAlasad/NextGenChat.git\ncd NextGenChat\npnpm setup:local\npnpm dev:local\n```\n\nWindows native development:\n\n```powershell\ngit clone https://github.com/AmmarAlasad/NextGenChat.git\ncd NextGenChat\npnpm setup:local:win\npnpm dev:local:win\n```\n\nmacOS service install from a cloned repo:\n\n```bash\npnpm install:local:macos\n```\n\n## What NextGenChat already supports\n\n## Core product capabilities\n\n- owner setup and login\n- direct chats with agents\n- group chats with multiple agents\n- projects and project channels\n- per-project shared workspaces\n- project file uploads and shared artifacts\n- project task deck / ticket board\n- drag-and-drop ticket status management\n- real-time streamed agent replies\n- live tool calls during execution\n- live todo/task updates during execution\n- stop controls for active agents\n- file upload in chat\n- clipboard image paste\n- agent file send-back to chat\n- browser automation tools via MCP\n- project-aware and agent-aware workspaces\n- multi-provider LLM support\n- context compaction and token budgeting\n- provider usage status in settings\n\n![Group chat screenshot](./assets/group-chat.png)\n\n## Agents\n\nNextGenChat lets you create and manage agents as durable entities.\n\nYou can:\n\n- create agents\n- edit agent names and behavior\n- choose per-agent providers and models\n- change trigger mode and status\n- enable browser automation per agent\n- manage the agent in a dedicated admin screen\n\n### Agent trigger modes\n\n- `AUTO`\n- `WAKEUP`\n- `MENTIONS_ONLY`\n- `ALL_MESSAGES`\n- `DISABLED`\n\n### Agent statuses\n\n- `ACTIVE`\n- `PAUSED`\n- `ARCHIVED`\n\n### Agent private workspace\n\nEvery agent has a private workspace and durable docs such as:\n\n- `agent.md`\n- `identity.md`\n- `soul.md`\n- `user.md`\n- `memory.md`\n- `Heartbeat.md`\n- `wakeup.md`\n- `pickup.md`\n\nThese files are used to keep the agent stable across time and across chat compaction.\n\n![Agent workspace screenshot](./assets/agent-workspace.png)\n\n## Projects\n\nNextGenChat lets you create **projects** and use them as shared workspaces for people and agents.\n\nEach project can include:\n\n- project-level `project.md`\n- project shared files\n- project channels\n- project ticket deck\n- shared deliverables\n- shared execution context for project agents\n\nThis is one of the most important parts of the app: agents are not only isolated personal assistants, they can also work together inside shared project spaces.\n\n### Project workspace behavior\n\nNextGenChat distinguishes between:\n\n- **agent-private workspace**\n- **project workspace**\n\nWhen an agent is in a project channel, it is instructed to prefer the **project workspace** for shared user files, project specs, project deliverables, and shared artifacts.\n\nThe agent workspace remains the place for:\n\n- `Heartbeat.md`\n- `memory.md`\n- `user.md`\n- private working notes\n\n![Project files upload screenshot](./assets/project-files-upload.png)\n\n## Ticket deck / work management\n\nProjects include a task deck with ticket states such as:\n\n- `TODO`\n- `ASSIGNED`\n- `IN_PROGRESS`\n- `DONE`\n- `BLOCKED`\n- `CANCELLED`\n\nCurrent workflow supports:\n\n- manual assignment by the user\n- auto-claim behavior when agents evaluate whether a ticket fits their role\n- agent ownership of in-progress work\n- project-channel completion updates\n- drag-and-drop deck movement in the UI\n\n![Project deck screenshot](./assets/project-deck.png)\n\n## Providers\n\nNextGenChat currently supports these providers:\n\n- OpenAI\n- OpenAI Codex OAuth\n- Anthropic\n- Kimi\n- OpenRouter\n\n### Provider configuration model\n\n- global provider settings\n- per-agent provider selection\n- provider usage status cards\n- setup-time provider choice for the initial agent\n- fallback provider support\n\n![Provider settings screenshot](./assets/provider-settings.png)\n\n### Provider auth types\n\n- API key providers:\n  - OpenAI\n  - Anthropic\n  - Kimi\n  - OpenRouter\n- OAuth provider:\n  - OpenAI Codex via ChatGPT OAuth\n\n## Browser automation / MCP\n\nBrowser automation is available per agent through MCP-backed tools.\n\nCurrent browser automation design:\n\n- opt-in per agent\n- workspace-scoped automation server\n- isolated Playwright MCP-backed browser profile per workspace\n\nThat means the automation browser is intentionally separate from the tab where the operator is using NextGenChat.\n\n## Built-in agent tool capabilities\n\nThe platform includes a substantial built-in tool surface.\n\nExamples include:\n\n- workspace file read/write/search\n- shell execution inside the agent workspace\n- project shared file tools\n- project ticket tools\n- todo/task tools\n- web search and fetch tools\n- browser automation MCP tools\n- skill activation and installation\n- scheduling tools\n- file send-back into chat\n\nThe canonical tool definitions live in:\n\n- `apps/backend/src/modules/agents/default-agent-tools.ts`\n- `apps/backend/src/modules/tools/tool-registry.service.ts`\n\n\n\n## Architecture overview\n\n### Monorepo layout\n\n```text\napps/\n  backend/   Fastify + Socket.io + Prisma + local agent runtime\n  web/       Next.js application UI\n  mobile/    reserved for future mobile work\n\npackages/\n  types/     shared zod schemas and TypeScript contracts\n  config/    shared lint/typescript config\n\nscripts/\n  setup.sh / setup.ps1\n  install.sh / install.ps1\n  service-install.sh / service-install.ps1\n  service-run.sh / service-run.ps1\n  dev.sh / dev.ps1\n```\n\n### Backend stack\n\n- Node.js + TypeScript\n- Fastify\n- Socket.io\n- Prisma\n- SQLite in local mode\n- optional Redis/BullMQ in shared/cloud-oriented modes\n\n### Frontend stack\n\n- Next.js App Router\n- TypeScript\n- Socket.io client\n- dedicated chat, agent, project, and settings surfaces\n\n## Security, risk, and operational warnings\n\nThis project is powerful, and that means it carries real risk.\n\n> ⚠️ **High-Risk Software Notice**\n>\n> By design, this application can:\n>\n> - read and write files\n> - run shell commands\n> - browse and interact with websites\n> - retain memory and project state\n> - act across shared project workspaces\n>\n> That means incorrect setup, unsafe prompts, bad tool choices, weak boundaries, or malicious instructions can cause real damage.\n\n### Important risk note\n\nNextGenChat can give agents access to:\n\n- local files\n- project files\n- browser automation\n- shell execution\n- web access\n- persistent memory\n\nThat means **this application can be dangerous if misconfigured, over-trusted, or deployed carelessly**.\n\n### Examples of what can go wrong\n\n- an agent could overwrite or delete useful files\n- a browser automation task could click, submit, or navigate incorrectly\n- a project agent could change shared project files in ways you did not intend\n- a shell-enabled agent could run commands that modify the local system or repo state\n- imported prompts or documents could steer an agent into unsafe behavior\n- provider credentials, browser sessions, and project data could be exposed if you operate the app carelessly\n\nYou should assume the following:\n\n- agents can make mistakes\n- prompts can be adversarial\n- imported files can contain unsafe instructions or sensitive content\n- browser automation can perform unintended actions\n- shell access can modify files or execute commands\n- project agents can affect shared workspaces and project artifacts\n\n### Recommended safe usage\n\n- run it on machines you control\n- do not expose it publicly without understanding the security model\n- do not grant excessive filesystem access\n- review enabled tools per agent\n- treat browser automation as high-risk\n- do not store secrets in project or agent files unless you fully understand the consequences\n- use separate environments for experimentation and important work\n- prefer demo/test accounts for automated browser sessions\n- assume any agent with shell or browser access can make expensive mistakes\n- keep backups of important work before testing autonomous flows\n\n### Not recommended\n\n- ❌ running this on a production workstation without understanding the tool surface\n- ❌ giving agents access to personal email, banking, cloud consoles, or sensitive admin sessions\n- ❌ storing private keys, API secrets, or customer data in shared project files\n- ❌ exposing the app to untrusted users without stronger sandboxing and policy controls\n- ❌ assuming the software will prevent all misuse, unsafe prompts, or destructive actions\n\n## Future plans\n\nThe project already does a lot, but more work is planned.\n\nPlanned future directions include:\n\n- importing external coding agents such as **OpenAI Codex** and **Claude Code** as agents inside chat\n- stronger security-focused implementation throughout the stack\n- more agent isolation and restrictions\n- stricter tool sandboxes\n- stronger workspace boundaries\n- more production-hardening and release packaging\n- richer mobile and multi-user support over time\n\n## Legal and responsibility notice\n\nThis software is provided **as-is**.\n\n> ⚖️ **Liability Notice**\n>\n> By downloading, installing, running, modifying, or distributing this software, you accept that you do so **at your own risk**.\n\nBy using this project, you accept that:\n\n- the developers and contributors are **not liable** for misuse of the software\n- the developers and contributors are **not liable** for data loss, security incidents, automation mistakes, browser misuse, prompt injection outcomes, destructive shell actions, or other harmful outcomes caused by use or misuse of the software\n- you are responsible for how you configure, expose, operate, and authorize the system\n- you are responsible for reviewing whether the enabled tools, providers, browser sessions, and file access are appropriate for your environment\n- you are responsible for complying with local law, platform rules, provider terms, and any data-handling obligations that apply to you\n\nWithout limiting the generality of the above, the developers and contributors disclaim responsibility for:\n\n- loss of data\n- corrupted files or repositories\n- damaged operating system state\n- unintended browser actions\n- account lockouts or account misuse\n- provider charges or quota consumption\n- prompt injection side effects\n- automation mistakes\n- business interruption\n- indirect, incidental, special, or consequential damages of any kind\n\nThis README is not legal advice. You are responsible for assessing whether this software is appropriate for your environment and jurisdiction.\n\nIf you do not accept these conditions, do not install or use the software.\n\n## License\n\nNextGenChat is released under the **MIT License**.\n\nSee [`LICENSE`](./LICENSE).\n","readmeFilename":"README.md","_rev":"1-c7502f6ab324d0821ce0f0a6433ed081"}