Back to home

AgentConnect

dsh-awiki

AWiki identity and messaging plugin for DeepSeek Harness

Stars
2
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026

Introduction

dsh-awiki

AWiki identity and messaging for DeepSeek Harness. The package installs one Host service, its production TypeScript SDK provider, the model tools, and a Web client with a draggable AWiki Me launcher.

中文说明

Features

  • Register one deployment-level AWiki identity from the Web UI.
  • Reuse that identity across the root Agent and its subagents.
  • Direct-message and existing-group conversation lists, unread counts, latest-message previews, and persisted display names.
  • Text messages plus one attachment per message, with image previews and SHA verification.
  • A draggable circular launcher, adaptive popup placement, dark mode, and remembered active conversation.
  • An AWiki page in DSH Settings for a durable, validated default Handle domain.
  • Five approval-aware Agent tools: identity status, conversations, history, text send, and attachment send.

The first release does not implement end-to-end encryption, multiple identities, group administration, realtime push, or multiple attachments in one message.

Install

The repository is directly installable as a DSH plugin because built artifacts are committed:

pnpm add github:AgentConnect/dsh-awiki

Apply the package after the normal DSH base and Web app bundles. Its cordis.patch.yml adds the Host service and provider; DSH discovers and injects the browser client through the package metadata.

Configuration

The plugin works against the public awiki.ai tenant without environment configuration. Set these variables only when a deployment needs an override:

VariablePurposeDefault
DSH_AWIKI_USER_SERVICE_URLAbsolute AWiki user-service URLhttps://awiki.ai
DSH_AWIKI_USER_SERVICE_DOMAINComposition default for the Handle provider domainawiki.ai
DSH_AWIKI_MESSAGE_SERVICE_URLMessage-service URL called by the Hosthttps://awiki.ai
DSH_AWIKI_MESSAGE_SERVICE_DIDAuthoritative message-service DIDdid:wba:awiki.ai
DSH_AWIKI_MESSAGE_SERVICE_PUBLIC_URLPublic endpoint written to protocol recordshttps://awiki.ai
DSH_AWIKI_ALLOWED_ATTACHMENT_ORIGINSJSON array of extra exact HTTPS origins[]
DSH_AWIKI_STATE_PATHPrivate identity state file$DSH_HOME/awiki/identity.json or ~/.dsh/awiki/identity.json
DSH_AWIKI_POLL_INTERVAL_MSOpen-dialog polling interval5000
DSH_AWIKI_ATTACHMENT_MAX_BYTESDecoded attachment limit10485760

The default Handle provider domain is awiki.ai. A local user can override it from Settings → AWiki; DSH persists that choice in its settings document and applies it after the next Harness restart. The setting affects future identity registration and completion of short Handles. It does not rewrite an already registered DID or Handle.

The provider domain and message-service DID are protocol identifiers. Do not infer them from an API hostname. Production service URLs must use HTTPS. The identity state file contains access material; keep it outside the repository, restrict filesystem access, and protect the underlying disk and backups.

For the default 10 MiB decoded attachment cap, configure a reverse-proxy request limit of at least 14 MiB to account for base64 and JSON overhead.

Development

Requirements: Node.js 22.19+ (or 24+) and pnpm 11.7.

pnpm install --frozen-lockfile
pnpm run verify
pnpm pack --dry-run

@anp/typescript-sdk@0.2.0 is not yet available from npm, so this repository temporarily carries a reviewed source snapshot under vendor/. The production Host bundles that SDK; consumers do not need a second checkout. See THIRD_PARTY_NOTICES.md for provenance and licensing.

The checked-in Typert Host/Remote artifacts were generated from the same Host contract. pnpm check:generated pins their complete twelve-method surface until the standalone Typert generator supports root-level packages.

Security

Do not commit OTPs, access tokens, private keys, identity state, .env files, or remote-test reports. pnpm check:public enforces the public-tree guard before verification and packaging.

License

The plugin is MIT licensed. Vendored third-party material remains subject to its own retained notices and licenses.