dsh-projects
其他 活跃维护

dsh-projects

alwaysmid-19990/dsh-projects

类Cowork/WorkBuddy的多项目协作中心,内置CLAUDE.md记忆同步能力,可统一管理多个开源项目,自动同步协作上下文与配置,无需手动维护记忆文件,降低协作信息差

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
19 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:alwaysmid-19990/dsh-projects
git clone https://github.com/alwaysmid-19990/dsh-projects.git
git clone git@github.com:alwaysmid-19990/dsh-projects.git
README.md main
# 📁 dsh-projects ### *A Project Center for DeepSeek Harness Web — inspired by Cowork & WorkBuddy.* [![DeepSeek Harness](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/badge/DeepSeek%20Harness-plugin-4D6BFE)](https://github.com/deepseek-ai) [![Version](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/badge/version-0.1.0-4D6BFE)](https://raw.githubusercontent.com/alwaysmid-19990/dsh-projects/main/package.json) [![Node.js](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/badge/Node.js-22.19%2B-4D6BFE)](https://raw.githubusercontent.com/alwaysmid-19990/dsh-projects/main/package.json) [![License: MIT](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/badge/license-MIT-4D6BFE)](https://raw.githubusercontent.com/alwaysmid-19990/dsh-projects/main/LICENSE)
📂  Need a persistent **Projects** concept in DSH Web — beyond plain sessions?
🧭  Need each project bound to a real folder with its own instructions and files?
🔄  Need project memory synced to the folder's `CLAUDE.md` so every AI tool sees it?
### ✨ dsh-projects brings Cowork/WorkBuddy-style project management into DSH Web. A sidebar **📁 Projects** entry opens a full-screen project center: card grid, create dialog (name + instructions + folder), and a detail view with editable instructions, folder & file browsing, manual file pins, and two-way `CLAUDE.md` memory sync.
[Features](#features) · [Install](#install) · [Quick start](#quick-start) · [CLAUDE.md sync](#claudemd-sync) · [Data](#data) · [Development](#development) **English** · [简体中文](https://github.com/alwaysmid-19990/dsh-projects/blob/main/README.zh-CN.md)

Features

  • Sidebar entry — a 📁 项目 row injected below the Automations entry (falls back next to the task-board/SSH/skill-explorer family when dsh-automation is not installed).
  • Project grid — searchable card grid (name, description, updated date, folder badge).
  • Create project — name + instructions (the "prompt" telling AI how to work in this project) + link an existing folder or plan a new one.
  • Project detail —
    • editable instructions;
    • related files: live listing of the linked folder + manually pinned files (pick via an in-app file browser — no typing paths);
    • folder is editable (re-browse after change);
    • scheduled tasks / memory placeholders for future automation & mneme integration.
  • CLAUDE.md two-way sync —
    • export: save instructions and (optionally) write them into the folder's CLAUDE.md inside a <!-- dsh-projects:{id} --> fenced section — any AI tool (Claude Code, Cowork, WorkBuddy…) working in that folder reads the project context;
    • import: load the folder's CLAUDE.md back into the instructions (project section preferred, whole file fallback).
  • Persistent & portable — data lives in ~/.dsh/dsh-projects/projects.json (plain JSON, git-friendly). No user path is hard-coded.

Install

The plugin is a standard DSH web plugin bundle. Two ways:

Via GitHub (recommended)

dsh plugin --profile web add github:alwaysmid-19990/dsh-projects

Manual (local copy)

mkdir -p ~/.dsh/plugins
git clone https://github.com/alwaysmid-19990/dsh-projects.git ~/.dsh/plugins/dsh-projects
# register into the web profile:
#   add "dsh-projects": "link:/Users/<you>/.dsh/plugins/dsh-projects" to
#   ~/.dsh/profiles/web/package.json dependencies, and append "dsh-projects"
#   to its dsh.profile.bundles list, then:
#   ln -s ~/.dsh/plugins/dsh-projects ~/.dsh/profiles/web/node_modules/dsh-projects

Then restart DSH Web. The sidebar shows the 📁 项目 entry.

The plugin self-registers through its bundled cordis.patch.yml; no extra
configuration is required.

Quick start

  1. Click 📁 项目 in the sidebar (bottom of the nav group).
  2. Click + 新项目.
  3. Enter a name and instructions, then link an existing folder (e.g. your real
    working directory).
  4. Open the project card → edit instructions, browse folder files, pin key
    files via 📂 选择文件….
  5. Optionally tick sync to CLAUDE.md when saving, or press 📥 载入为项目说明
    to pull the folder's existing CLAUDE.md into the instructions.

CLAUDE.md sync

The sync is opt-in per save (checkbox off by default — editing instructions
never touches the folder unless you ask). When enabled, the host writes a
fenced section into <folder>/CLAUDE.md:

<!-- dsh-projects:p-xxxxxxxx -->
## 项目:My project

Instructions text…
<!-- /dsh-projects:p-xxxxxxxx -->
  • Existing section → replaced in place.
  • No section → appended at the end.
  • No CLAUDE.md → created.

Data

What Where
Project records ~/.dsh/dsh-projects/projects.json
REST API /api/dsh-projects/* (host half, webServer)
Folder listing read-only readdirSync via /api/dsh-projects/browse

Development

node --check lib/index.js    # host half
node --check lib/client.js   # browser half (ModuleLoader format)

Layout:

  • lib/index.js — host half: REST endpoints, JSON persistence, CLAUDE.md sync.
  • lib/client.js — browser half: sidebar entry (self-healing DOM injection),
    project center UI (React without JSX), in-app file picker.
  • cordis.patch.yml — bundle patch that mounts the plugin row.

License

MIT