DSH WeCom Archive Search
August 14, 2026 ยท View on GitHub
Self-hosted TypeScript service plus native Cordis plugin for compliant WeCom Conversation Content Archive search and cited todo drafts.
Community submission metadata
| Field | Current value |
|---|---|
| Plugin name | dsh-wecom-archive |
| Repository URL | github.com/kenny245/dsh-wecom-plugin |
| Relationship to DeepSeek | A native Cordis plugin for DeepSeek Harness. This is an integration project; do not present it as an official DeepSeek AI product without explicit approval. |
| Open-source license | MIT |
| Copyright ownership | The current LICENSE names omdsh-dev; confirm the legal copyright holder before public release. |
| Maintenance status | MVP foundation; pre-publication. No primary maintainer has been confirmed yet. |
| Primary maintainer | PRIMARY_MAINTAINER_NAME_TO_BE_CONFIRMED |
The clean, paste-ready Discussion text is in the copy-ready community submission. The submission draft retains its internal posting checklist.
Scope
- Authorized search and todo drafts only; no messages, task creation, media download, MCP adapter, hosted control plane, or archive export.
- The DSH plugin exports native
name/applyand exposes onlysearchanddraftTodos. It never ingests, decrypts, or stores WeCom archives. - The customer deployment keeps all WeCom credentials, RSA private keys, plaintext, and encryption keys. The official Finance SDK is a local sidecar dependency and is not redistributed here.
Controls
- Employee: participating archived conversations only.
- Manager: active permitted-team grant only.
- Compliance admin: active departmental grant and an audit reason.
- External conversation: server-side effective-consent lookup required.
- AES-256-GCM encrypted message payloads, versioned data keys, cursor-safe sync, and HMAC-linked audit events.
Read architecture, threat model, and deployment before deploying.
Installation and usage
The source repository is public, but the plugin is not yet published to a package registry. Install it from a source checkout in the customer-controlled deployment environment. It requires Node 22.19+, Corepack/pnpm, PostgreSQL, and a customer-local WeCom SDK sidecar.
git clone https://github.com/kenny245/dsh-wecom-plugin.git
cd dsh-wecom-plugin
corepack enable
pnpm install --frozen-lockfile
psql "$DATABASE_URL" -f infra/postgres/migrations/001_initial.sql
cp .env.example .env
pnpm run check
pnpm --filter @omdsh/wecom-archive-service start
Never put real secrets in .env.example, Docker Compose, committed config, or
issues.
Cordis wiring
import wecomArchive from '@omdsh/dsh-wecom-plugin'
ctx.plugin(wecomArchive, {
serviceUrl: 'https://archive.internal.example',
audience: 'dsh-wecom-archive',
timeoutMs: 3000,
serviceToken: process.env.DSH_WECOM_PLUGIN_TOKEN!
})
The backend resolves the actor identity from the token; request payloads cannot select a role.
After starting the archive service, use the configured plugin command or its exposed search/todo-draft operation. A todo draft is only a review artifact: the MVP never sends a message, creates a task, or changes WeCom.
Risks, limitations, and compatibility
- This is a pre-publication MVP for compliant WeCom Conversation Content Archive deployments, not unrestricted employee visibility. Customers remain responsible for their archive entitlement, consent, retention, and access policy.
- External conversations are searchable only when the configured consent resolver reports effective archive consent. Missing or incorrect consent data fails explicitly; it does not expand access.
- The service performs a bounded PostgreSQL candidate scan after authorization. It is intentionally conservative but needs additional indexing before use with unbounded archive volumes.
- Attachments/media, automatic task creation, automatic message sending, managed hosting, and MCP are outside the MVP. Todo drafts require human verification.
- Compatibility target: Node.js
>=22.19.0, pnpm>=11.19.0, PostgreSQL, a compatible DeepSeek Harness/Cordis host, and a customer-supplied compatible WeCom archive SDK sidecar. DSH/Cordis and SDK API changes may require updates.
Checks
pnpm run typecheck
pnpm run test
pnpm run build
MIT. See CONTRIBUTING.md and SECURITY.md.