Skip to content

[Feature] Replace cloud session sharing with local session export #194

@Astro-Han

Description

@Astro-Han

What task are you trying to do?

Users need a safe way to hand off a PawWork conversation for troubleshooting, record keeping, or sharing with another person without publishing the conversation to a public cloud share service. PawWork should make the default path local and inspectable: export a session log file that stays on the user's machine unless they choose to send it elsewhere.

What do you do today?

The current Share session flow publishes the session to https://opncd.ai/share/<id>. In the current implementation this is backed by the vendored OpenCode share service in packages/opencode/src/share/share-next.ts, with the default base URL set to https://opncd.ai. Sharing creates a remote share record, stores a local session_share row with id, secret, and url, then full-syncs session info, messages, parts, session diffs, and model metadata. Subsequent session updates are incrementally synced to the remote share. This is useful for developer-style debugging, but the product semantics are not reassuring for PawWork users: “share” can sound like copying or exporting, while the actual behavior publishes conversation data to an upstream public web service that PawWork does not control.

What would a good result look like?

Carve out public cloud session sharing from PawWork and replace it with local session export. The main user-facing action should be “Export session log” and produce a local Markdown file first. The export should include the session title, timestamps, PawWork/app version when available, model metadata, user messages, assistant responses, tool-call summaries, errors, and optionally diff summaries. The output should be readable before it is sent anywhere. As a first slice, remove or hide cloud sharing entry points and slash commands so users cannot accidentally publish sessions to opncd.ai; keep any deeper OpenCode runtime code untouched unless needed for a safe runtime guard.

Which audience does this matter to most?

Both

Extra context

This came from inspecting a real shared PawWork session URL: https://opncd.ai/share/RsAziSVy. Local evidence showed session_share stores the share id, secret, and url, and the share data can be read back from the public share data endpoint. The product decision is that cloud publishing is outside PawWork's reassuring local-workbench boundary. If cloud publishing is ever reintroduced, it should be explicit “Publish on web” behavior with clear warning text and PawWork-controlled hosting, not the default share path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priorityappApplication behavior and product flowsenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions