- name
- nocobase-app-plugin-agent-sessions
- description
- Register the Agent Sessions plugin in a NocoBase App so people talk in the browser with the coding agents on their own computers (Codex, Claude Code, Gemini CLI, GitHub Copilot, Cursor, OpenCode and more, on macOS, Linux or Windows; `<cli> acp service install` or `acp start`), route its page, tie the App's records to sessions with a link kind (registerLinkKind) that people can also mention with `#`, let sessions work for the App's projects (registerProjects), tell the agents how to work (registerInstructions), notify the owner (registerNotices), work out why a computer is offline, an agent is unavailable or a session's agent cannot reach the tools.
- metadata
- short-description: Browser sessions with the agents on people's own computers
Agent Sessions App Plugin
Use this Skill when an App lets people hold conversations in its pages with the coding agents on their own computers, keeping the transcripts and the work those conversations create in the App. Do not use it for agents that run the team's work on runners; that is nocobase-app-plugin-agents.
The package README is the full reference: read it at node_modules/@nocobase/app-plugin-agent-sessions/README.md (in this repository, packages/plugins/app-plugin-agent-sessions/README.md).
Key rules
- A session is its owner's alone. Every route answers only the signed-in person about their own computers and sessions; there is no permission to grant and no administrator view.
- The App needs the authentication plugin and its CLI built with
@nocobase/app-cli-client, which hasacp start. Pass the CLI's name and install command toagentSessionsRoute({ cli, install })so the page can tell people how to connect a computer. - The plugin knows no business of its own. The App ties its records to sessions through
agentSessionsToken:registerLinkKind(kind, { resolve, start, search, progress })says how a record stands for a viewer, starts its work, finds the records a person mentions with#, and tells the agent how each is going (thesession workCLI command);registerProjects({ list })names the projects a session may work for;registerNotices({ send, settle })tells the App what the owner should hear of while not looking at a session (the agent waits for permission, a turn ended or failed), for its inbox;registerInstructions(text)tells every session's agent how the App wants it to work, such as recording development as issues instead of doing it, in its first message and again when the text changes. Do all of it from a service provider'sboot. - A link's
statusgivesicon(backlog,started,blocked,review,done,closed) andneedsYou(what it waits on the viewer for) besidelabelandtone, so the page draws the App's own status shapes and counts what waits.agentSessionsRoute({ cli, linkPanels: { <kind>: Component } })opens a kind's records beside the conversation (LinkPanelProps,?<kind>=<refId>in the address) instead of at their .