DimitriLIAN / dsh-habits

목록에 있음

Habits editor for DeepSeek Harness — edit the user-global AGENTS.md from Web settings, injected into every session

main세션 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:DimitriLIAN/dsh-habits

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 f5e9c6f동기화 2026. 8. 18.

dsh-habits

English | 中文

A DeepSeek Harness (DSH) plugin that adds a My Habits editor to the Web settings → General section. The text you save goes to the user-global instruction document $DSH_HOME/AGENTS.md, which the built-in dsh-agent-instructions loader already injects into every session — so your preferences and habits reach the model automatically.

No DSH core is modified: the host half registers a small REST surface on ctx.webServer (/api2/habits/describe + /api2/habits/update), and the browser half registers a settings.general.item row that calls it. This is the same standalone-bundle pattern as dsh-web-plugin-manager.

Install

dsh plugin add --profile web github:<owner>/dsh-habits

Then restart the web profile (dsh --profile web) so the bundle layer loads. Open Settings → General → My habits, write your note, and save. New sessions pick it up immediately; a running session refreshes on its next file touch or resume.

How it works

LayerMechanism
Host halfctx.inject(['webServer'])ctx.webServer.register() for describe/update
ReadreadFileSync($DSH_HOME/AGENTS.md); absence is a blank document, never an error
Writeatomic rename under a 65 536-byte budget, with a SHA-1 expectedRevision conflict refusal
Browser halfsettings.general.item slot (id habits), fetch the REST surface
Injectionthe built-in dsh-agent-instructions loader injects ~/.dsh/AGENTS.md as the workspace-instruction baseline

Build

pnpm install
pnpm run build

build = host tsc + client tsc (declarations) + tsdown (the __ModuleLoader__.load client bundle).

Known limitations

  • Applies to new sessionsdsh-agent-instructions refreshes on the next successful read/write/edit touch, on resume, or when a shadowed baseline re-enters; a mid-conversation save does not rewrite an already-running session immediately.
  • One editor owns the document — concurrent edits are arbitrated by the expectedRevision conflict refusal, not merged.

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 14. 오후 6:00

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.