DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
ChatGPT 링크를 PDF·Word·Excel로 변환, 표·코드·LaTeX 수식 그대로 무료
Convert a ChatGPT link to PDF, Word or Excel: paste a share link and get the whole conversation with tables, code and LaTeX math intact. Free to load.
생산성TypeScriptGitHub @xiaobin7060온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Convert public AI chat share links (ChatGPT; Claude & Gemini planned) to Markdown or JSON. Library + CLI, zero dependencies.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Convert a public AI chat share link to Markdown or JSON.
Node.js 18 or newer. No runtime dependencies.
npm install ai-chat-share-export
npx ai-chat-share-export https://chatgpt.com/share/<id>
npx ai-chat-share-export https://chatgpt.com/share/<id> -f json -o chat.json
npx ai-chat-share-export --html share.html
npx ai-chat-share-export --html share.html -f json -o chat.json
-f is md (default) or json. -o writes a file instead of stdout. --html parses a saved page and does not fetch anything; without a URL it assumes ChatGPT. -h prints help. On failure the process prints an error code (INVALID_URL, NOT_FOUND, PARSE_FAILED, FETCH_FAILED, UNSUPPORTED_PROVIDER) and exits non-zero.
https://chat.openai.com/share/<id> is accepted and requested as https://chatgpt.com/share/<id>.
import { exportShare, parseShareHtml, toMarkdown, toJSON, detectProvider } from 'ai-chat-share-export';
import { readFileSync } from 'node:fs';
const conversation = await exportShare('https://chatgpt.com/share/<id>');
console.log(toMarkdown(conversation));
console.log(toJSON(conversation));
const html = readFileSync('share.html', 'utf8');
const offline = parseShareHtml(html, 'https://chatgpt.com/share/<id>');
console.log(toMarkdown(offline, { userLabel: 'You:' }));
detectProvider('https://chatgpt.com/share/<id>'); // 'chatgpt'
CommonJS require('ai-chat-share-export') exposes the same functions.
exportShare(url, opts?) takes timeoutMs (default 15000) and maxBytes (default 5 MiB). A conversation looks like:
{
provider: 'chatgpt',
title: 'Q3销售报告撰写',
url: 'https://chatgpt.com/share/<id>',
messages: [
{ role: 'user', content: '...' },
{ role: 'assistant', content: '...' }
]
}
Assistant Markdown is kept (tables, LaTeX, fenced code). toMarkdown quotes user turns and, when the conversation has a title, shifts headings in answers down so the title stays the only H1. userLabel defaults to You:. Set assistantLabel to prefix answers; otherwise they are unlabeled.
From a saved ChatGPT share of a short Q3 sales report:
# Q3销售报告撰写
> **You:** Write a short Q3 sales report for a fictional coffee chain called Northbean. Include: a one-paragraph summary, a markdown table of revenue by region (4 regions, with Q2, Q3 and growth %), the quarter-over-quarter growth formula in LaTeX, and a short Python snippet that computes growth. Keep it under 250 words.
## Northbean — Q3 2026 Sales Report
### Executive Summary
Northbean delivered strong sales performance in Q3 2026, generating **$5.4 million in revenue**, up **20%** from Q2's $4.5 million. Growth was driven by increased customer traffic, seasonal beverage promotions, and expanded digital ordering. The West region led in revenue, while the South achieved the highest percentage growth. All four regions recorded positive quarter-over-quarter performance, positioning Northbean for continued expansion in Q4.
### Revenue by Region
*All figures are fictional.*
| Region | Q2 Revenue | Q3 Revenue | Growth |
|---|---:|---:|---:|
| North | $1,200,000 | $1,380,000 | +15.0% |
| Provider | Share URL | Status |
|---|---|---|
| ChatGPT | https://chatgpt.com/share/<id>, https://chat.openai.com/share/<id> | Supported |
| Claude | — | Planned |
| Gemini | — | Planned |
Each provider is a separate module (match, normalizeUrl, parseHtml) so another site can be added without changing the CLI.
A ChatGPT share page is server-rendered by React Router. The loader payload is not a JSON script tag. It is a turbo-stream: one or more <script> blocks call streamController.enqueue("..."), and those strings concatenate into a flat value table. This package decodes that table, reads loaderData["routes/share.$shareId.($action)"].serverResponse, and walks linear_conversation (or the mapping tree from current_node) to rebuild the visible user and assistant turns. Hidden system text, reasoning channels, and tool calls are skipped. Older pages that still embed the same object in __NEXT_DATA__ are accepted as a fallback.
Fetching uses the global fetch, a browser User-Agent, a 15 second timeout, and a 5 MiB body limit. Only the canonical https://chatgpt.com/share/<id> URL is requested. Redirects that leave that origin are refused.
*[Image]*. The media pointers are not publicly fetchable.TODOC takes a public ChatGPT share link and exports it to Word, PDF, or Excel, including formulas you can still edit. A browser extension is on the Chrome Web Store.