makecindy / makecindy/cindy

feat(docs): support SSH-remote document workflows and mobile artifact delivery

Open
#3,321 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

## Context

PR #3049 adds the local, no-plugin cindy_docs tool surface for PDF / Word / PowerPoint / Excel. The tool server receives remoteHostId and deliberately fails closed today because its workingDir then names a directory on another machine; treating it as a local path could read or write an unrelated local directory.

## Current gap

- SSH workspaces return REMOTE_SESSION_UNSUPPORTED for all six document tools.
- The Desktop Session has structured four-format artifact cards, but Mobile does not yet project the same document metadata/card or provide equivalent file-open/download behavior.
- Device-link control of a local Desktop task can still ask the local Agent to generate documents, but this is not SSH execution parity or Mobile artifact-card parity.

## Required design

- Define a host-owned remote file capability for bounded stat/read, exclusive or atomic write, and path confinement, backed by the existing remote-file-service / cc-manager channel. Do not let @cindy/mcps interpret remote path strings with local fs.
- Decide the execution location per format: pure JS DOCX/PPTX/XLSX generation and sheet parsing; HTML/PDF rendering that remains in the local isolated Chromium host; PDF inspection that remains in a memory/time-bounded process.
- Transfer inputs and outputs with explicit byte limits, timeouts, cancellation, and atomic no-overwrite semantics.
- Add Mobile presentation for the same real artifact metadata and a device-link-backed open/download path; do not invent QA or acceptance states.

## Acceptance matrix

- Claude Code, Codex, and Pi SSH sessions can generate and read each supported format without reading a same-named local path.
- Remote output uses the same default no-overwrite behavior as local output, including concurrent writers.
- HTML/PDF resources cannot escape the remote workdir or cause local network/session access.
- Mobile can display and retrieve the same four-format artifact delivery represented on Desktop.
- Disconnect, timeout, cancellation, oversized input, and partial upload tests leave no half-written output.

This is intentionally separate from #3049 because it crosses remote-file-service, cc-manager, device-link, Mobile, and the PDF host boundary; implementing it as an inline review fix would broaden the local document-tool PR into a new multi-end transport feature.

Contributor guide

Open the contributing guide

Research direction

Start by mapping the existing remote-file-service and cc-manager channel, the six document tools, Desktop Session artifact cards, and the Mobile device-link flow. Use the acceptance matrix to define the boundaries for remote execution, transfer safety, isolation, cancellation, and artifact retrieval. Done means all listed SSH, mobile, concurrency, and failure-mode cases work without local-path access or partial output.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
backend, desktop-dev, distributed-systems, mobile-dev, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.