/install deepseek-dev-assistant
DeepSeek Dev Assistant
Trigger when user shares a DeepSeek chat link and wants to continue the work from that conversation.
Trigger
Match these URL patterns:
https://chat.deepseek.com/share/*https://chat.deepseek.com/a/chat/*
Also trigger on phrases like "deepseek聊天记录", "deepseek chat link", "继续开发 deepseek".
Workflow
1. Read the chat
DeepSeek share pages are JS-rendered — static web_fetch returns an empty shell. Must use the headless browser.
Locate the browser skill — it lives at ~/.openclaw/workspace/skills/browser/index.js (a Puppeteer script).
Check puppeteer is installed before first use:
cd ~/.openclaw/workspace/skills/browser && node -e "require('puppeteer')" 2>&1 || npm install puppeteer
Read the page:
cd ~/.openclaw/workspace/skills/browser && node index.js read "\x3Curl>" 2>/dev/null
Timeout 60s — the page is JS-heavy and may take a while to render. If output is ~800 chars or just "DeepSeek
", the page didn't render → retry once.
2. Clean the raw output
The browser returns all visible text, including page chrome (headers, disclaimers, "本回答由 AI 生成" etc). Strip trailing boilerplate. Common tail markers to trim after:
本回答由 AI 生成内容仅供参考和 DeepSeek 继续聊
3. Multi-turn priority: read from the end
Users iterate in DeepSeek until satisfied — later turns contain improved code. When the same file path appears in multiple turns, keep only the latest version (closest to end of output). Work backwards through the chat, skip earlier duplicates.
4. Detect project structure
Look for an ASCII tree near the top of the output:
项目结构
WatchDose/
├── Shared/
│ ├── Models/
│ │ └── Foo.swift
...
This tells you what files to expect and where they belong. Compare extracted files against this tree to spot missing ones.
5. Parse extracted text into files
DeepSeek's code blocks render as HTML — innerText strips \``` markers. Use these boundary patterns instead:
Pattern A — Explicit file headers (multi-file Swift/Go/Rust/Java projects):
文件:Path/To/File.swift
swift ← UI button text, discard
复制 ← UI button text, discard
下载 ← UI button text, discard
import Foo ← actual code starts here
...
文件:Path/To/Next.swift ← next file boundary
Split on ^文件: lines. Strip leading swift/复制/下载 boilerplate from each file. Save to paths matching the header.
Pattern B — Single-file HTML (common for web projects):
sed -n '/\x3C!DOCTYPE html>/,$p' /tmp/raw.txt | sed '/\x3C\/html>/q' > output.html
Pattern C — No file markers (snippet-only chats):
Save code blocks to extracted/\x3Cdescriptive-name>.ext. Infer filename from surrounding text.
6. Detect code fragments
When DeepSeek runs out of space, it outputs fragments labeled with:
关键代码片段精简/实现要点由于长度限制参考 XXX 的结构自行实现
These are NOT complete files. Write them to FRAGMENTS_TODO.md with the target file they belong to, rather than as standalone .swift files.
7. Write files
- Respect the project tree from step 4.
- Deduplicate: if the same path appeared in multiple turns, write only the last version.
- Complete files → write to their path. Fragments → write to
FRAGMENTS_TODO.md. - Follow the same code style, naming, and patterns as existing code in the chat.
- If the chat references a local repo, write files there. Otherwise create under a new project dir.
8. Write a README summary
Save \x3Cproject-dir>/README.md with: source link, extraction time, file list (complete vs fragment), tech stack, feature checklist, completion status.
9. Report
Show a summary:
📋 Extracted from DeepSeek chat:
- N turns
- N complete files: \x3Clist>
- N fragments: \x3Clist> → FRAGMENTS_TODO.md
- N missing (in tree but not output): \x3Clist>
- Goals: \x3Csummary>
- Status: ~X% complete
Then proceed to implement the next unfinished task.
Edge cases
| Case | Action |
|---|---|
| Link expired / private | Ask for a new share link |
| Chat is discussion-only (no code) | Report: "No code found — this conversation is discussion-only." |
| Multi-turn: same file in multiple turns | Keep only the last version (closest to end) |
| Very long chat (>100 turns) | Read from end; focus on most recent + code-heavy sections |
| Multiple links provided | Process sequentially; cross-reference if same project |
| Code is snippet-only (no file paths) | Save to extracted/, flag as incomplete, ask user |
| Code fragments ("关键代码片段") | Write to FRAGMENTS_TODO.md, not as standalone files |
puppeteer not found |
Run npm install puppeteer in the browser skill directory |
| Page blocked / anti-bot | Ask user to copy-paste the chat content manually |
| Boilerplate "swift/复制/下载" in output | Strip from start of each extracted file (see Phase 5) |
| Project tree present but files missing | List missing files in report, flag as incomplete |
Notes
- The DeepSeek chat is the source of truth — don't override chat decisions with personal preferences.
- Cache extracted content per URL to avoid re-reading within the same session.
- Append new work to
memory/YYYY-MM-DD.mdso context persists across sessions.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install deepseek-dev-assistant - After installation, invoke the skill by name or use
/deepseek-dev-assistant - Provide required inputs per the skill's parameter spec and get structured output
What is 你聊我干?
Read DeepSeek chat share links and continue development from extracted code and docs. It is an AI Agent Skill for Claude Code / OpenClaw, with 36 downloads so far.
How do I install 你聊我干?
Run "/install deepseek-dev-assistant" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is 你聊我干 free?
Yes, 你聊我干 is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does 你聊我干 support?
你聊我干 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created 你聊我干?
It is built and maintained by fhekg (@fhekg); the current version is v1.0.0.