zoyluoblue/deepseek-harness-rewind ↗★ 0
@zoytown/dsh-rewind
DeepSeek Harness (dsh) plugin that snapshots your workspace at every turn into a shadow git repository, so you can restore the files to any earlier turn. Your own .git is never touched, and plain directories work too.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zoyluoblue/deepseek-harness-rewind说明文档
阅读完整 README ↗Configuration
Edit the dsh-rewind row in your profile's cordis.yml:
- id: dsh-rewind
name: '@zoytown/dsh-rewind'
config:
gitTimeoutMs: 60000
retentionDays: 30
maxSessions: 50
listLimit: 200
exposeTool: 'off'
| Option | Default | Meaning |
|---|---|---|
gitTimeoutMs | 60000 | Deadline for one git command. Raise it for very large workspaces. |
excludes | common dependency and build directories | Extra paths never saved, applied to every workspace on top of your .gitignore. Set to [] to rely on your .gitignore alone. |
retentionDays | 30 | Sessions whose newest snapshot is older than this are dropped. |
maxSessions | 50 | How many sessions to keep per workspace, newest first. |
listLimit | 200 | Most snapshots shown at once. |
exposeTool | 'off' | Whether the model can use rewind. See below. |
Letting the agent rewind itself
exposeTool is 'off' by default, which keeps rewind a human-only capability.
| Value | The agent can |
|---|---|
'off' | nothing — rewind is yours alone |
'read-only' | read its own history (rewind_list) |
'full' | also restore the workspace (rewind_restore) |
'full' is genuinely useful — "this approach is wrong, put the files back and start over" is a recovery
move no amount of prompting replaces — and genuinely risky: an agent that misjudges can discard work you
wanted. Every restore still saves the overwritten state first, so it is reversible, but the decision to
enable it should be yours and deliberate.