last30days-skill-cn
Jesseovo
last30days-cn 是一个 AI Agent 技能(Skill),能够自动搜索中国互联网 8 大主流平台最近 30 天的内容,综合分析后生成有据可查的研究报告。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:EricWang1358/dsh-web-studyhub
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English · 简体中文
StudyHub turns your course materials into practice questions that show where each answer comes from. Add PDFs, slides, notes or lecture recordings. StudyHub drafts questions that cite the source passage, and you review and publish them. SM-2 spaced repetition (the algorithm behind Anki's classic scheduler) then brings each question back when it is due. Your library stays on your computer, and the interface is in English or Chinese.
StudyHub is a plugin for DeepSeek Harness (DSH), an AI agent app. DSH runs as a desktop app or as a web page served from your own computer, and StudyHub opens inside it.
Try the demo · Install guide · Release 2.7.1 · Changelog
The demo runs in your browser with sample questions and prepared AI replies. It needs no install and no key, and your progress there stays in that browser.
| You want to | You need | Cost |
|---|---|---|
| Take the sample course and tour, browse sources, practise existing questions | StudyHub only | Free, no model calls |
| Generate questions, explanations and Help me understand | A model provider key in DSH Settings › Models | Billed by your provider, for example the DeepSeek API |
| Turn recordings into text | A transcription key in StudyHub Settings › Audio transcription | SiliconFlow SenseVoice supports recording transcription. Gemini and Groq availability and allowances depend on the provider |
Install DSH (skip this if you have it). Use the official Windows x64 installer or macOS Apple silicon installer. On any other computer, install Node.js 22.19 or later and run npx @deepseek-ai/dsh web.
Install StudyHub. In DSH, open Plugins, click Add plugin, paste this address and click Enable:
https://github.com/EricWang1358/dsh-web-studyhub/releases/download/v2.7.1/ericwang1358-dsh-daily-flashcard-2.7.1.tgz
Check that the package is @ericwang1358/dsh-daily-flashcard, version 2.7.1. StudyHub then opens by itself. Later, open it from StudyHub in DSH's left sidebar (the session tab and the right sidebar also work); you do not need to send a chat message first.
Take the tour (optional, about 3 minutes). On the welcome page, click Load the sample and start the tour. The 21-step tour moves through sources, generation, practice, mistakes, exams and statistics and points at the real controls. The sample makes no model calls and can be removed with one click.
Add a model. Paste a key in DSH Settings › Models and choose a model in your session. Until then, StudyHub shows Open model settings wherever a step needs a model, instead of letting the step fail later.
Start with your own material. Click Add source and drop several PDFs, slides or notes at once. Then use Generate from sources, review the draft, publish it and practise.
Notes on installing:
.tgz from the release page in your browser and give Add plugin its absolute path. The file must be on the computer or server that runs DSH.ericwang1358-dsh-daily-flashcard-<version>.tgz, and you normally do not need to download it: step 2 pastes its address. The other files are the six separate components, the search extension (StudyHub installs it when you click Install the search extension), the checksum list and two setup guides.Click Add source, choose the course, then drop several files at once or paste text. Recordings go in the Audio / recording tab of the same window.
| Format | Limit | Notes |
|---|---|---|
| 8 MB, 200 pages | Kept as one document that you expand to pages. For bigger books, see below | |
| Word (.docx), PowerPoint (.pptx) | 40 MB | Only text is read. Pictures, charts and SmartArt are skipped, and so are Word text boxes, headers and footers. A .pptx keeps one page per slide, with its speaker notes |
| Markdown, HTML, TXT | 8 MB | |
| JSON deck | 2 MB | Questions you already have, or ones written elsewhere (format) |
| Subtitles (.srt, .vtt) | 8 MB | Needs the audio component |
| Audio (MP3, WAV, M4A, AAC, OGG, FLAC, OPUS, WEBM, AIFF) | 512 MB, 8 hours | See Transcribe recordings |
Old .doc and .ppt files (and .wps, .key, .pages) are not read. Save them as .docx, .pptx or PDF first.
Large textbooks (over 8 MB or 200 pages):
mineru: install it, then download and enable the parsing models in Settings. The PDF stays on your computer. Cloud conversion is temporarily unavailable; use local models first. The cloud option remains available for manual selection after service recovers; it requires your own MinerU token and upload consent.See large textbooks and MinerU conversion.
For another route, open the external Marker guide from Add material, download a script to run yourself, then choose its paginated Markdown output. Install Marker and its models separately; code and model licences apply separately.
To add to an existing deck, choose that deck: approved questions are added, and the old questions and their review progress stay. To bring in questions you already have, use the Import JSON deck tab.
Save a default question type, count, content language, difficulty and focus in Settings › Question defaults; each new request can override them. Questions per batch, parallel batches and the time budget are there too, initially 5, 3 and 20 minutes. Started tasks and continued drafts keep their original choices. See Generation pace.
Today's learning plan connects tasks to the library home. Ask AI for a plan based on real due reviews, weak areas, available materials, unfinished learning flows and accepted tasks. Give feedback to revise it, or accept. Each action has a reason and estimated duration; suggestions become board tasks only after acceptance, with direct start and resume controls.
Today's time budget is separate from your saved weekday/weekend pace; zero minutes supports a rest day. Unfinished actions are allocated within the budget, and completed actions still count toward today's workload. Record actual time after completion. After at least five comparable completed-day records, the median estimates your usual pace; explicitly saved preferences always take priority.
Practice progress counts actual answers, flows use completed steps, and you explicitly mark a reading block complete. Opening content or skipping questions does not count, and completing an action does not establish mastery. AI sees compact titles, progress and exam dates, not full materials. Invalid or unavailable AI results are clearly labelled as local suggestions. Plans are saved by library and date, alongside ordinary board tasks.
When DSH supports local subagents, repeated Help me understand on the same question keeps the same tutor and its conversation, and follow-ups sent together are answered in order. Moving to another question, editing the question or switching model starts a new tutor. A tutor is released after 2 idle minutes or 8 rounds; a new one receives the last 3 answered exchanges. Earlier answers stay saved with the question.
? to see every keyboard shortcut.Generation, explanations and learning help use the model selected in your DSH session. To use a different model for StudyHub, open Settings › Library & model and change Generation model from Follow current session. DSH stores the model credentials.
Setup steps: configure a model provider. For how many tokens each feature uses, see token usage and estimates.
Only transcription uses these keys. Proofreading and translation use your DSH model by default, so their tokens are billed by your model provider and appear under Model usage in Statistics. Live class transcribes in real time and supports only Gemini.
study/audio.json in your DSH home (by default ~/.dsh/study/audio.json), outside the library. The interface shows only whether a key is set and its last 4 characters. Keys never enter library exports or chats. The environment variables GEMINI_FREE_API_KEY, GEMINI_PAID_API_KEY, GROQ_API_KEY and SILICONFLOW_API_KEY fill in a key that is not saved.See audio import and live class.
/study-spar <your question> in a DSH chat. StudyHub files it in your question bank as a flashcard. Add --mq for single choice or --multi for multiple choice; start with --pre to file it as a prerequisite of the question you are working on.DSH plugins do not update themselves, and restarting DSH alone keeps the old version.
SHA256SUMS-x.y.z.txt and hands it to DSH's plugin manager. If background tasks are running, Stop tasks and upgrade stops them and keeps their finished parts. The check sends no study data; switch it off in Settings › About & updates.Then restart DSH. Quit the desktop app fully (including the tray icon) and reopen it, or restart the web service with its original profile and reload the page. A browser refresh alone does not load new plugin code. Your library and settings are kept.
Stays on your computer
study/ in your DSH home (by default ~/.dsh/study/). They never enter the library, exports or backups. DSH keeps the model keys.Leaves your computer only when you use the feature
Backups and older libraries
backups/. It is refused while a generation job is running.study-lib-spar tool, use the same Settings category and choose the folder that holds study-lib.json, nodes/ and quizzes/ (not the tool's source code). The import only reads those files, keeps the due dates, intervals and sources it can parse, and importing again does not overwrite existing progress.The interface starts in Chinese when your browser's first preferred language is Chinese, and in English otherwise. Switch it with Language at the bottom of the sidebar; StudyHub remembers your choice. Buttons, errors, background progress, notifications, messages handed to the chat and new AI explanations follow it.
Switching does not translate what you saved: sources, file names, questions, notes and provider replies stay in their original language. New questions use the interface language unless you choose another in the Language field of Create deck. To read English under a Chinese question while you practise, click EN on the practice toolbar (details). Audio transcripts keep their own source and translation languages.
The complete package installs seven components. DSH's own plugin manager lists them as StudyHub (the main package), StudyHub · Core, StudyHub · Materials, StudyHub · Question bank, StudyHub · Question generation, StudyHub · Practice & review and StudyHub · Audio. Turn each one on or off there. Saved data is kept while a component is off.
Details and safe source deletion: customise components. Command-line installs: install from the command line.
StudyHub is an ES-module DSH plugin built on Cordis, with a React interface bundled by esbuild. Its seven components work together through public plugin APIs; see architecture. The package is named @ericwang1358/dsh-daily-flashcard; the product name is StudyHub.
npm install --legacy-peer-deps
npm run verify # lint, tests and build
npm run test:fast # the tests without browser, ffmpeg and program-starting files, for quick iteration
npm run dev # preview at http://127.0.0.1:4178 (after a build)
npm run build:demo # static demo in output/static-demo-site/dist
npm run release:pack # release packages and SHA256SUMS-<version>.txt in output/release-<version>
npm run dev needs npm run build (or npm run verify) first, because it serves dist/. It uses a throwaway library in output/preview-library and keeps global study files in output/preview-home, never in ~/.dsh. Add -- --library=<dir> to open another library, and set STUDY_FAKE_MODEL=1 for a deterministic fake model.npm run release:pack does not build; run npm run verify first.npm test (and so npm run verify and CI) always runs every test file, starting the longest first from the durations of the last run (cached in node_modules/.cache/studyhub-tests/). Full runs on one machine take turns through a lock file in ~/.cache/studyhub-tests/: a second run prints one line and waits (at most 20 minutes, then it goes ahead with fewer workers); set STUDY_TEST_NO_LOCK=1 to skip the queue. npm test -- tests/<file>.test.mjs runs just those files without queueing.npm run test:fast skips the files named in tests/slow-tests.json: those that launch a browser, run ffmpeg or start another program. tests/slow-tests-list.test.mjs fails when a new test file does one of these and is not listed, so the fast tier stays fast; run npm run verify before a pull request.@deepseek-ai/dsh-tools and @deepseek-ai/dsh-llm (optional peers, >=0.2.0-rc.2 <0.3). Tests that need a missing SDK report an explicit skip.npm ci --legacy-peer-deps and npm run verify on Node 22, on Ubuntu and Windows, for every pull request.Interested in contributing code, testing, improving documentation or sharing feedback? Join the StudyHub QQ group to discuss the project. Scan the code below with QQ, or open the full-size image.
Report a bug or ask a question in GitHub Issues.
MIT License; see LICENSE. The learning-quality and scheduling references are in references/.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: education、spaced-repetition。