# Publishing and search checklist This file keeps the repository discoverable and gives copy-paste commands for the first release. ## 1. Owner The repository owner is `leeyoung1`. If you fork or rename the repo, replace `leeyoung1` in: - `package.json` (`repository`, `homepage`, `bugs`) - `README.md` / `README.zh.md` clone URL - `CONTRIBUTING.md` clone URL - `lib/index.js` header comment ## 2. Create the GitHub repository This directory is already `git init`-ed and staged. The first release was committed with the public identity: ```bash git config user.name "leeyoung1" git config user.email "leeyoung1@users.noreply.github.com" git commit -m "feat: add OpenCode Go session-header patch for DSH web_search" gh repo create dsh-web-search-opencode-go \ --public \ --source . \ --push \ --description "Fix DSH web_search through OpenCode Go / Zen: auto-inject x-opencode-session. Drop-in patched fork of @deepseek-ai/dsh-web-search-deepseek." ``` ## 3. Set the search topics ```bash gh repo edit --add-topic dsh \ --add-topic deepseek-harness \ --add-topic deepseek \ --add-topic opencode \ --add-topic opencode-go \ --add-topic opencode-zen \ --add-topic web-search \ --add-topic websearch \ --add-topic dsh-plugin \ --add-topic x-opencode-session \ --add-topic MissingSessionID \ --add-topic cross-platform \ --add-topic windows \ --add-topic macos \ --add-topic linux ``` ## 4. Optional: publish to npm The package name `dsh-web-search-opencode-go` was unclaimed when this repo was prepared; re-check before publishing. ```bash npm login npm publish --access public ``` After publishing, users can install with: ```bash npx dsh-web-search-opencode-go # restart dsh web ``` ## 5. Search keywords covered by this repo The README and package metadata intentionally contain the exact phrases people search for: - `dsh web_search` / `dsh web search` - `DeepSeek Harness web_search` - `OpenCode Go web search` - `OpenCode Zen web search` - `x-opencode-session` - `MissingSessionID` - `Request is missing x-opencode-session and cannot be routed efficiently` - `@deepseek-ai/dsh-web-search-deepseek` - `web-search-deepseek` - `dsh Windows` / `dsh macOS` / `dsh Linux` (the installer works on all three) Keep those strings in the README when editing; they are what makes the repo findable from an error message. ## 6. DSH plugin market (awesome-dsh-plugin) DSH Market (`dshmarket`) does **not** take submissions in its own repo. Its catalog comes from [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) via [awesome-dsh-plugin.com/plugins.json](https://awesome-dsh-plugin.com/plugins.json), which is rebuilt from `data/plugins/*.yml` after each merge. To list this plugin there: 1. Keep the `dsh.bundle` manifest in `package.json` — already present (`./cordis.patch.yml`). This is the requirement most submissions miss. 2. Add the `dsh-plugin` topic: ```bash gh repo edit leeyoung1/dsh-web-search-opencode-go --add-topic dsh-plugin ``` 3. The repo must be at least **1 day old** (checked automatically). This repo was created `2026-09-10T15:58Z`, so submit after `2026-09-11T15:58Z`. 4. Fork `awesome-dsh-plugin/awesome-dsh-plugin` and add exactly one file named `data/plugins/leeyoung1__dsh-web-search-opencode-go.yml`. The ready-to-copy content lives in [`docs/marketplace-entry.yml`](./marketplace-entry.yml): ```bash gh repo fork awesome-dsh-plugin/awesome-dsh-plugin --clone=true cd awesome-dsh-plugin mkdir -p data/plugins cp /path/to/dsh-web-search-opencode-go/docs/marketplace-entry.yml \ data/plugins/leeyoung1__dsh-web-search-opencode-go.yml git checkout -b add-dsh-web-search-opencode-go git add data/plugins/leeyoung1__dsh-web-search-opencode-go.yml git commit -m "Add leeyoung1/dsh-web-search-opencode-go" git push -u origin add-dsh-web-search-opencode-go gh pr create --repo awesome-dsh-plugin/awesome-dsh-plugin \ --title "Add leeyoung1/dsh-web-search-opencode-go" \ --body "Adds a web_search provider that fixes MissingSessionID when DSH search is routed through OpenCode Go / Zen by injecting x-opencode-session / x-opencode-client. It keeps the official DeepSeek provider behavior and adds only the OpenCode Go session routing headers, with configurable headers/session id. The repo declares dsh.bundle and installs with dsh plugin add. Tested on DSH 0.1.1-rc.2 with a live OpenCode Go search; CI runs on macOS, Linux, and Windows." ``` 5. Open the PR; do not edit the generated READMEs by hand. Reviews read the target repo and verify the description against the code. After merge, the site and DSH Market pick it up automatically, usually within a day. If npm publication is skipped, the market install command falls back to a GitHub source install; publishing to npm gives shorter commands and faster installs.