Skip to main content

task-passport

9Stars2Forks1Issues0Watchers

Provides a relaying task state passport for AI harnesses like DSH, Claude Code, and Codex, enabling cross-machine and cross-person task handover without transferring chat logs.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
License
MIT
Branch
main
agent-memoryai-agentai-agent-infrastructureclaude-codecodebuddycodexcross-harnessdeepseek-harness

Install

cmdweb profile
$ dsh plugin --profile web add task-passport

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin dongsheng123132/task-passport for me: review the repository at https://github.com/dongsheng123132/task-passport first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

Provides a "Task Passport" for AI programming tools like DeepSeek Harness, Claude Code, and Codex — storing the current task state, verified facts, decision rationale, and next steps as inheritable persistent records, enabling different tools to pass the baton on the same work without having to transfer the previous AI's chat history.

Core Capabilities

  • List brief metadata for all task passports on the machine (title, goal, status version, last tool that advanced it)
  • Open a specific passport by short ID (e.g., TP-7K4M-9D2Q), returning complete status and handoff instructions
  • Create a new passport, generate a stable short ID, and write initial goal, status, and next steps
  • Validate version number before writing changes; if another tool has written first, conflicts are rejected instead of silently overwritten
  • Package a passport into a self-contained file (TaskPack) to send to a colleague or another machine, who receives it via land
  • The same package runs as a DSH plugin, a general-purpose CLI, and an MCP service, with all three reading the same passport

Technical Implementation

  • Language: JavaScript (ESM, "type": "module")
  • Key Dependencies: @deepseek-ai/cordis (host framework), @deepseek-ai/dsh-tools (defineTool tool registration), @deepseek-ai/schemastery (configuration Schema)
  • Architecture Pattern: Cordis plugin; export inject = ['tools', 'systemPrompt'], in apply(ctx, config) four DSH tools are registered via ctx.tools.register, and a system prompt section with order=113 is injected via ctx.systemPrompt.section for "How to Use Passports Correctly"
  • Entry Files: index.js (DSH plugin entry), cli.js (task-passport / taskpack CLI entry), mcp.js (stdio MCP service)

Use Cases

When switching between DSH, Claude Code, and Codex to advance the same development task, this plugin enables each session to "continue from the previous state" rather than switching context back to the previous AI's chat history. It's suitable for long-span tasks (like "releasing a plugin" that takes several days and gets interrupted multiple times), and for handing off tasks to colleagues — just send them one file.

Prerequisites & Compatibility

DependencyMinimum VersionDescription
Node.js>=20Required, uses ESM and built-in modules like node:fs/promises
@deepseek-ai/cordis>=4.0.1Only required when running as DSH plugin, marked as optional peer
@deepseek-ai/dsh-tools>=0.1.0-rc.5Introduces defineTool for tool registration
@deepseek-ai/schemastery>=3.18.1Used for declaring configuration Schema
PlatformWindows / macOS / LinuxU-King auto-discovery only automatically detects %LOCALAPPDATA%\u-king\u-king-mini.exe on Windows; other platforms require manual ukingExecutable configuration or switching to directory Provider

Installation

dsh plugin --profile web add task-passport

Configuration Options

ConfigTypeDescriptionDefault
ukingExecutablestringAbsolute path to U-King executable; leave empty for auto-discovery via Windows default install directory or TASK_PASSPORT_UKING / UKING_EXECUTABLE environment variables""
storeDirectorystringRoot directory for local directory Provider storage; when set, U-King is bypassed and JSON files with file locking are used directly for read/write; all Harnesses on the same machine should point to the same directory""
allowCheckpointbooleanWhether to allow creating new passports and writing changes; when set to false, task_passport_new and task_passport_checkpoint will reject calls, making passports read-onlytrue

FAQ

Q: Does this plugin copy the previous AI's chat history?

A: No. Passports only carry goals, current state, verified facts, decision rationale, and next steps. They don't inherit the previous AI's conversation history, nor do they automatically guess "just-modified tasks" as the current task.

Q: Where is data stored by default?

A: On Windows, U-King's default install directory is auto-discovered; other platforms prioritize reading TASK_PASSPORT_UKING or UKING_EXECUTABLE environment variables; if neither exists, it falls back to directory storage Provider (specify storeDirectory in config).

Q: How to hand off a task to another AI tool?

A: Use CLI's pack subcommand to generate a TaskPack file (zip or pure JSON), send it to the recipient, then use land subcommand to land it; TaskPack is a pure data format, the recipient can also throw it to their own AI for parsing.

Q: Can writing be disabled?

A: Yes. Set config option allowCheckpoint to false, and the two write tools task_passport_new and task_passport_checkpoint will directly reject calls, preventing accidental writes.

Q: What if npm packages can't be installed due to mainland China network issues?

A: Add --registry https://registry.npmmirror.com before npx / npm commands to switch mirrors; include this line when handing off passports to colleagues, otherwise they may get stuck at the first step.

Q: Will the same task conflict between DSH and Claude Code?

A: Two passports with the same name will be created. All Harnesses must point to the same authoritative storage (same U-King or same storeDirectory), otherwise they will read different states.

Learning Curve

Beginner — CLI has only 7 subcommands (list / open / new / checkpoint / pack / land / conformance), zero-config on Windows by default, other platforms only need to specify one path or environment variable.

Known Issues & Limitations

  • Writing is controlled by allowCheckpoint config, enabled by default; if read-only is desired in certain scenarios, explicitly set to false (index.js:123,145).
  • The same task must point to the same authoritative storage across all Harnesses, otherwise two passports with the same name will be created, each unable to see the other's state (emphasized in README).
  • U-King's auto-discovery logic only works on Windows; other platforms must explicitly configure ukingExecutable or use directory Provider (core.js:19-32).
  • Passports don't carry project body text; long content should be stored in Git / shared directory / object storage, with passports only recording precise paths or URLs (README design boundary).
  • No TODO/FIXME comments; source code doesn't declare unresolved bugs.

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/dongsheng123132/task-passport)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory