Collaborate with an agent
Choose the circular Collaboration button in the bottom-right corner of a world. Chats contains your hosted conversations. Proposals contains suggested and applied changes from all chats and external agents. Use Settings in the sidebar for external-agent setup, permissions, and hosted allowance details. Connecting an external agent does not stop the hosted assistant.
Ask the hosted assistant
Section titled “Ask the hosted assistant”Hosted AI runs on the server. You do not need a separate AI account, CLI, or local process. Relevant world content and conversation are sent to the displayed provider, currently OpenAI. Sending a request starts generation automatically.
Choose New chat, or select an existing conversation under Chats. Chats are named from their first request and show their creation date. All chats returns to the list. Starting another chat preserves earlier conversations and lets their work continue. You can return to any open chat and send more requests.
Select entities in the world, or use Add context in the composer, then describe what you want. For example, select a tavern and ask for three barkeep alternatives. Sending saves the selection and viewed world time with the request. Browsing elsewhere afterward does not change that context.
Use Discuss request to clarify a request. Review proposal opens that alternative in Proposals, where Discuss lets you send feedback. The × button beside the discussion target starts a New request. Messages are saved when sent. Chat drafts stay while switching chats or closing the panel, but do not survive a refresh. In chat, press Enter to send and Shift+Enter for a new line. Proposal feedback uses Send feedback.
The chat shows remaining tokens. Settings → Hosted AI shows the daily allowance and reset time in your local time. Usage is shared across your projects; the daily window resets at midnight UTC. Reserved capacity and uncertain usage from interrupted work reduce the remaining amount. A global service limit can also reduce available capacity. If hosted AI is unavailable or capacity is exhausted, sending is disabled. Normal world editing and external-agent access remain available.
Connect an external agent
Section titled “Connect an external agent”External agents run independently, using their own model access and tools. Unseen Lands does not launch them or keep them running.
- Install the
unseen-landsCLI. From a source checkout, usejust cli-install. - Open Settings → External agents in the sidebar, choose Copy setup instruction, and paste it into your agent. Use View instruction to inspect or copy the text manually.
- Your agent runs
unseen-lands skillto read the skill built into the CLI, then runs the included connection command for this application and world. No skill file or separate skill installation is required. - The CLI opens your browser. Sign in if needed, check the connection code, choose the world and access mode, then choose Connect.
The command saves scoped access and exits. Your agent can then read the world,
submit work, and check feedback. It does not need a request in the hosted chat.
A later session connect reuses valid access. Expired or revoked access needs
browser approval again. Cancel grants no access; connection links expire after
ten minutes.
Choose permissions
Section titled “Choose permissions”- Propose changes lets the agent read this world and submit change sets for your review. It cannot apply changes or accept its own proposals.
- Apply changes also lets the agent apply change sets immediately. Applied work appears in the same history. This permits creating and editing entities without waiting for your approval.
Access lasts 24 hours and is limited to the selected world. Multiple external agents can have separate connections. Select one under Agent access in Settings to manage its permissions. Review its work in Collaboration → Proposals. Change Access mode, then choose Save access mode, or choose Revoke access. Permission changes take effect for subsequent commands. Revoking access preserves submitted proposals, feedback, and applied changes. World content may be sent to the external agent’s model provider.
Review proposals and changes
Section titled “Review proposals and changes”Open Proposals to see work from hosted chats and external agents, including work submitted without a chat request. Needs review filters pending proposals; All proposals also includes applied work, decisions, and previous revisions. Each entry shows its source, date, and status. Open an entry to inspect it. Hosted proposals also have Open chat to return to their conversation. Pending proposals appear first, with an amber highlight and Needs review badge, even after you have viewed them. Within pending proposals and history, the newest entries appear first.
A badge on the bottom-right button counts unviewed proposals. Unviewed entries are labeled New. Opening an individual proposal marks it viewed; opening the panel or list does not. Viewing does not accept or reject anything. Viewed state is saved for your account and world in this browser. A new revision is a separate unviewed entry.
Expand Review changes to inspect new nodes, text, properties, relationships, edits, existing references, and invented facts. Each change set is applied as a whole. Configured reciprocal relationships are included in creation previews; editing a reciprocal relationship’s base properties updates both directions.
- Accept applies the entire proposal. For a hosted request, it also closes the request and marks its other alternatives as not selected. Independent external proposals remain independently reviewable.
- Revise requires feedback. The agent submits a complete replacement revision; the previous version remains in history.
- Reject leaves the world unchanged and preserves the proposal in history.
- Applied identifies work already applied by an external agent with Apply access.
Change sets support new nodes with text, relationships between new or existing nodes, renaming existing nodes, and replacing base property maps. New node and relationship type names are registered when the change set is applied. Property definitions must already exist. Changes to dated property versions, existing text, entity deletion, calendars, and layouts are not part of this change-set interface. Use normal world editing for those operations.
Dates are explicit in each proposal. Viewing a date does not automatically make it the start date of new content. A changed dependency or schema causes a conflict and applies nothing. Ask for a revision using fresh context. Validation errors also leave the whole change set unapplied; there is no partial acceptance.
Use Discuss on an open proposal to leave feedback. The external agent reads it when it next checks the API. Sending feedback does not start an external agent. Its skill can wait for feedback while its own session is active.
Recover or finish
Section titled “Recover or finish”Hosted work shows Queued, Working, Completed, Stopped, or Failed. Stop generating preserves the request. Retry starts another attempt after a stop or failure. A new discussion message or revision request supersedes current work for that request. Invalid responses publish no partial message or proposal.
The panel reports omitted older conversation or optional neighbors when context is too large. Selected entities and the proposal being revised are kept. If required context is too large, start a narrower request. Interrupted calls can still consume provider usage; uncertain usage remains held against the allowance.
Requests, messages, proposals, and decisions survive refreshes. If a response is lost, use Retry pending action to recover the original result without applying changes twice. Resolve the pending action before sending another.
In hosted chat, Request details → Cancel request prevents further submissions and acceptance for that request. End chat stops that chat’s work and makes its proposals read-only. Closing the panel or browser does not stop hosted generation. Use All chats to revisit older conversations or New chat to start another. External-agent permissions remain independent of hosted chat sessions.
Use the CLI directly
Section titled “Use the CLI directly”unseen-lands session connect --name "Worldbuilding agent"unseen-lands session inspectunseen-lands session context --node NODE_UUIDunseen-lands session propose --file changes.json --command-id COMMAND_UUIDunseen-lands session wait --after SEQUENCE --timeout 30session apply --file changes.json --command-id COMMAND_UUID requires Apply
access. Reuse the same command ID and exact file after an uncertain response.
Use a new ID after revising the content. session wait returns events and the next
cursor, or a timeout, without starting a model. session watch remains available
for continuous event consumers.
Session commands use a separate agent profile. For other read/query commands,
pass the same --config path returned by connection. Use distinct profiles for
concurrent connections. unseen-lands skill prints the skill, and unseen-lands openapi provides the current change-set schema.