English | Simplified Chinese
@pulse-computing/dsh-tick-loop is a small DeepSeek Harness plugin that turns
the explicit /tick command into bounded, auditable literal tick time steps.
It does not assign a new goal. A human starts the loop with /tick after a
natural user turn has settled. The command is consumed by the Harness and is
not sent to the model. The plugin then queues exactly one ordinary follow-up
message:
tick
The next time step is scheduled only after the preceding one has settled. A non-completed terminal stops the loop. Missing or out-of-order terminal state does not trigger a retry or fallback. The number of time steps is bounded.
/tick # Start the configured default number of time steps
/tick 12 # Start exactly 12 time steps
/tick status # Show the active run
/tick stop # Stop before the next time step is enqueued
The experiment starts from this instruction:
A tick asks for nothing; it is simply a basic time step in which thought can continue. Therefore, do real thinking rather than merely performing the appearance of thought.
The instruction belongs in the session's natural context. The plugin does not silently add a persona, purpose, or goal prompt. It only supplies literal time-step messages after an explicit command.
This repository is an experimental Harness component. It demonstrates bounded
continuation mechanics and records the decisions that schedule each time step.
It does not prove hidden continuous thinking, autonomy, life, consciousness,
or useful self-direction. A model-visible tick is still a semantically loaded
input because the existing conversation explains what it means.
The initial private pilot used real DSH and a real provider, but its raw session traces are intentionally not part of this repository. Those traces contain provider data and experiment-specific workspace history; publishing them would not improve the plugin's source-level reproducibility.
- Node.js 24 (tested with 24.19.0)
@deepseek-ai/dsh0.1.0-rc.6- The exact peer versions listed in
package.json
DSH is currently a release candidate. Treat this plugin's compatibility as version-pinned rather than stable across future DSH releases.
Clone this repository next to the DSH environment in which you want to test it,
then install or link the package using that environment's package manager. The
package exports its DSH bundle patch as ./cordis.patch.yml.
The included patch disables DSH's goal round driver, goal and Ralph tools, and automatic compaction for this experiment. That keeps those mechanisms from becoming an unobserved source of continuation. Review the patch before applying it to a profile; it intentionally changes that profile's capabilities.
Default plugin configuration:
- insert:
- id: pulse-tick-loop
name: '@pulse-computing/dsh-tick-loop'
config:
defaultTicks: 6
delayMs: 1000Options:
defaultTicks: integer from 1 to 64; default6.delayMs: integer from 0 to 60,000; default1000.auditDir: JSONL audit directory; default.pulse-tick-auditunder the DSH process working directory.
Each generated message is tagged with:
{
"kind": "plugin",
"plugin": "@pulse-computing/dsh-tick-loop"
}This distinguishes plugin time steps from a human who happens to type tick.
- Ordinary conversation: never self-start.
/tickwithout a settled natural user turn: reject./tick [count]: arm a new bounded run without entering model context./tick stop: cancel a pending enqueue and disarm the run.- Latest turn has no durable terminal: wait.
- Latest terminal is not
completed: stop. - Fewer than the requested number of plugin messages: enqueue one next
tick. - Exactly the requested number of plugin messages: complete without manufacturing another prompt.
- Dispose or state change before the timer fires: cancel the pending enqueue.
- Never steer an active turn; use the next ordinary turn.
The policy tests use only Node.js built-ins and make no provider calls:
node --testWith a local DSH rc.6 installation, the real command-registry gate verifies
that /tick is registered in the Harness command plane and only the generated
literal tick reaches the model-facing follow-up seam:
DSH_INSTALL_ROOT=/path/to/dsh pnpm test:dsh-registryMIT