- ホーム
- プラグイン
- モデルとプロバイダー
- parallel-npm-packages
parallel-npm-packages
parallel-web/parallel-npm-packages
Parallel Search provider for DeepSeek Harness
インストール
dsh plugin --profile web add github:parallel-web/parallel-npm-packagesREADME
@parallel-web npm packages
Monorepo for @parallel-web npm packages.
Packages
@parallel-web/ai-sdk-tools- AI SDK tools for Parallel Web@parallel-web/dsh-web-search- Parallel Search provider for DeepSeek Harness@parallel-web/opencode-plugin- Opencode plugin for Parallel Web@parallel-web/pi-extension- pi agent extension for Parallel Web@parallel-web/oauth- Internal, unpublished shared PKCE OAuth helper. Bundled into the opencode plugin and pi extension at build time (noExternal), so it is never installed by consumers and is intentionally markedprivate.
Development
This is a pnpm monorepo requiring Node >= 22.13. The pnpm version is pinned by
the packageManager field in package.json, so use corepack rather than a
globally installed pnpm:
corepack enable
Setup
Install dependencies:
pnpm install
With Nix (optional)
A flake provides Node and a corepack-backed pnpm matching CI:
nix develop
pnpm install
With direnv, echo "use flake" > .envrc && direnv allow
enters the shell automatically. .envrc is gitignored, so this stays per-developer.
Commands
# Build all packages
pnpm build
# Run tests
pnpm test
# Run tests in CI mode (no watch)
pnpm test:ci
# Lint
pnpm lint
# Fix linting issues
pnpm lint:fix
# Format code
pnpm format
# Check formatting
pnpm format:check
# Type check
pnpm typecheck
# Clean build artifacts
pnpm clean
Workspace Commands
To run a command in a specific package:
pnpm --filter @parallel-web/ai-sdk-tools build
pnpm --filter @parallel-web/ai-sdk-tools test
Adding a New Package
- Create a new directory in
packages/ - Add a
package.jsonwith the package name@parallel-web/package-name - Set up TypeScript config extending from root
- Add build configuration appropriate for the package
- Implement your package
Publishing
Each package is versioned, tagged, and released independently. Releases are PR-driven:
a local script opens a version-bump PR, and merging it publishes to npm. See
PUBLISHING.md for the full guide.
git checkout main && git pull
# Release candidate (1.2.0 -> 1.3.0-rc.1, or bump an existing rc)
./scripts/release.sh ai-sdk-tools rc
# Promote the current RC to stable (1.3.0-rc.2 -> 1.3.0)
./scripts/release.sh ai-sdk-tools stable
# Explicit version
./scripts/release.sh opencode-plugin 2.0.0
The script bumps the version, opens a release/<package>-vX.Y.Z PR, and on merge the
Release workflow (.github/workflows/release.yml) builds/tests the package, publishes to
npm, and creates the per-package git tag <package>-vX.Y.Z plus a GitHub Release.
- RC support:
x.y.z-rc.Nversions publish under thercnpm dist-tag; stable versions underlatest. Sonpm install @parallel-web/<package>gets the latest stable, and@rcopts into pre-releases. - Per-package tags: tags are namespaced per package and never collide.
- Trusted publishing: uses npm OIDC trusted publishing — no npm token is stored in the repo.
License
MIT