DeepShian

image English | [简体中文](README.zh.md) ![DSH]() ![Obsidian]() ![TypeScript](https://img.shields.io/badge/TypeScript-5.4-blue?style=flat-square&logo=typescript&logoColor=white) DeepShian brings [DeepSeek Harness](https://www.deepseek.com/harness/) into Obsidian's right sidebar. There is no cloud API: it talks to the `dsh` already installed on your machine, so you get the full agent experience — streaming answers, thinking steps, tool-call cards — and it can read and edit your vault files directly. ## Features - 🔒 Fully local: answers, tool calls, and file operations are all driven by your local `dsh`. - ✨ Model picker: choose any model, just like in dsh web. - 💬 Conversation sync: the DeepShian workspace syncs with dsh web, including conversation history, archive, and deletion. - 🔐 Access control: choose the agent's access mode like in dsh web — **Read Only** or **Workspace Write**. - 📎 File references: type `@` in the input to pick a file or folder from your vault — the agent reads it with full context. - 🎨 Chat experience: the same chat experience as dsh web, including streaming output, thinking steps, tool calls, and more. - 🌐 Multilingual: fully bilingual UI (中文 / English) that follows your Obsidian language. ## Requirements | Dependency | Version | Notes | | --------------------- | --------- | ---------------------------------------------- | | **Obsidian** | ≥ 1.5.7 | Desktop only | | **Node.js** | ≥ 18 | Runtime for the `dsh` command | | **DeepSeek Harness** | / | Installed globally so that `dsh` is available | ```bash # Verify dsh is installed dsh --version ``` ## Quick Start ### 1 Install into Obsidian **Option A: Install from the community plugin store** Open Obsidian → **Settings → Community plugins → Browse** → search **deepshian** → **Install** → **Enable**, then click the 🤖 icon in the left sidebar to open chat. **Option B: Download from Releases** Go to the [Releases page](https://github.com/zhenghaoyang24/obsidian-plugin-deepshian/releases) and download these three files from the latest release: `main.js`, `manifest.json`, `styles.css`. Put them into the vault's plugin folder `/.obsidian/plugins/deepshian/`. Then: **Settings → Community plugins → Enable DeepShian** → click the 🤖 icon in the left sidebar to open chat. ### 2 Build from source ```bash npm install npm run build # type-check and bundle into build/ (main.js + manifest.json + styles.css) npm run dev # optional: watch-mode incremental builds ``` The output lands in `build/` — the same three files (`main.js`, `manifest.json`, `styles.css`) — copy them into the vault's plugin folder. ### 3 Plugin settings | Setting | Default | Description | | ----------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------- | | **Plugin language** | Auto | UI language (settings page included): Auto follows Obsidian — Chinese for zh, English otherwise — or force 中文 / English | | **dsh command** | `dsh` | Full path if `dsh` is not on PATH | | **Bridge profile** | `deepshian` | Profile passed as `--profile`; auto-installed on first run | | **Reinstall bridge profile** | — | Auto-installs on first run (dialog) or repairs the profile path on this machine (e.g. when dsh was installed after the plugin) | | **Start read-only** | Off | Every new sidebar starts in read-only mode | | **On open** | Start new conversation | Whether opening the sidebar starts a new conversation or resumes the most recent one for this vault | | **Debug logging** | Off | Log unparsed stdout lines and harness stderr to the developer console | ## License This project is open source under the [MIT License](LICENSE). ## Contributing Issues and Pull Requests are welcome. 1. Fork the repository and create your feature branch (`git checkout -b feature/your-feature`). 2. Commit your changes (`git commit -m 'feat: add some feature'`). 3. Push to the branch (`git push origin feature/your-feature`). 4. Open a Pull Request. --- Powered by DeepSeek Harness.