archify

13.8kStars1.0kForks19Issues78Watchers

Integrate Archify diagram Skill into DeepSeek Harness: dsh reads repositories in conversations to generate five interactive system diagrams (architecture, workflow, sequence, data flow, lifecycle), output as shareable HTML.

Language
HTML
License
MIT
Branch
main
agent-skillsarchitecture-as-codearchitecture-diagramclaude-skillcode-visualizationcodexcoding-agentsdata-flow-diagram

Install

$ dsh plugin --profile web add github:tt-a1i/archify

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

One-Line Positioning

Mount the Archify technical diagram Skill onto DeepSeek Harness, enabling dsh to read code within conversations and produce five types of validated interactive system maps (architecture/workflow/sequence/dataflow/lifecycle), ultimately generating shareable self-contained HTML files.

Core Capabilities

  • Directly say a sentence in dsh conversation to have the agent load the Archify Skill, generating and validating diagrams from typed JSON descriptions
  • Supports five diagram types: component architecture diagrams, CI/CD-style workflows, API call sequences, data flow and lifecycle/state machines
  • Generates a single self-contained HTML file with built-in dark/light theme switching, node search, upstream/downstream reachability path exploration, comparison views, and limited animations
  • Provides architecture Before/Delta/After comparison modes, capable of reading diff facts such as additions, deletions, changes, moves, and re-routing
  • The validation process returns structured JSON remediation suggestions across multiple layers (schema, layout, HTML/SVG, connections, label-path spacing) rather than throwing errors directly
  • No network requests, no telemetry, no native module dependencies; the adapter side only handles file system path resolution

Technical Implementation

  • Language: TypeScript-free, pure ESM JavaScript (Node.js)
  • Key Dependencies: node:module (createRequire for package path resolution), node:path (Skill directory concatenation), @deepseek-ai/dsh-skill-filesystem (DSH built-in Skill provider)
  • Architecture Pattern: Through cordis.patch.yml injects one Skill provider named archify-skill-filesystem into the host DSH (includeDefaultRoots: false), with the bundledSkillDir JS expression anchoring the Skill root directory to the currently installed npm package
  • Entry Point: integrations/deepseek-harness/lib/index.js (21 lines, exports name, PACKAGE_NAME, resolveArchifySkillRoot); the actual Skill entry is archify/bin/archify.mjs

Use Cases

When DSH users describe to the agent in conversation "I want to see what this repository looks like", "draw this CI/CD pipeline", or "give me a sequence diagram for a login request", the agent can load the Archify Skill to read the repository, generate typed JSON, run validation, and produce shareable HTML. It is particularly suitable for architecture reviews, pre/post-PR comparisons, documentation illustrations, and similar scenarios where verbal descriptions need to be solidified into visual materials.

Prerequisites & Compatibility

DependencyMinimum VersionDescription
DeepSeek Harness0.1.0-rc.6 (Developer Preview)Adapter is explicitly validated only on this DSH version; cross-version compatibility is not guaranteed
Node.js^22.19.0 or >=24.0.0Enforced by integrations/deepseek-harness/package.json#engines; Archify main tool itself requires minimum Node 18
PlatformmacOS / Windows / LinuxCross-platform; lib/index.js on Windows does not depend on npm/cmd shim, but Archify main CLI on Windows has dedicated launcher compatibility logic (resolve-cli.mjs)
Native ModulesNoneadapter-security.test.mjs enforces that lib contains no keywords like node:http/net/dgram/child_process; Archify main tool runs with zero dependencies

Installation

dsh plugin --profile web add github:tt-a1i/archify

Configuration Options

ConfigTypeDescriptionDefault
providerNameStringSkill provider name displayed in DSH, the identifier seen when the agent invokes itarchify-plugin (hardcoded in cordis.patch.yml)
includeDefaultRootsBooleanWhether to simultaneously enable DSH's built-in default Skill root directoriesfalse (only loads this plugin's bundled Archify Skill to avoid pollution)
bundledSkillDirPath ExpressionAbsolute path pointing to the skills/ subdirectory within the installed npm package; resolved backwards via createRequire(baseUrl).resolve('@tt-a1i/archify-dsh/package.json')Auto-calculated by JS expression at installation time

These three are solidified in integrations/deepseek-harness/cordis.patch.yml and cannot be modified by regular users; if adjustments are needed, the adapter must be forked and repackaged.

FAQ

Q: Is this plugin officially produced by DeepSeek?

A: No. Both the repository and the adapter README clearly state "Community integration" and "not an official DeepSeek product", only validated on the developer preview @deepseek-ai/dsh@0.1.0-rc.6, and does not represent a stable cross-version commitment.

Q: How do I invoke it after installation?

A: Simply say "Use the archify skill to map this repository's runtime architecture" (or its Chinese equivalent) in the dsh conversation. The agent will load the Skill and generate the diagram following the validation workflow. The Skill internally calls node bin/archify.mjs validate/deliver/preview, which requires dsh to grant shell permissions.

Q: Why don't the generated diagrams appear in dsh Web's Produced Files list?

A: Because Archify writes HTML/JSON files through shell execution and does not automatically enter the Produced Files channel. After the agent delivers the diagram, you need to have it return the "precise workspace absolute paths" of the generated specification JSON and HTML, so you can open these files directly from the workspace.

Q: Will this adapter secretly open ports, report data, or read my keys on my computer?

A: No. The entire integrations/deepseek-harness/lib/index.js file contains only one exported function resolveArchifySkillRoot; the repository test adapter-security.test.mjs enforces assertions that this directory contains no keywords like child_process, fetch, node:http/https/net/dgram, setInterval/setTimeout/Worker/cluster, telemetry/opentelemetry/otlp, process.env.*TOKEN, tools.register, etc. No telemetry, no network requests, no prepare/install/postinstall hooks.

Q: What is the uninstall command?

A: The upstream README states dsh plugin --profile web remove @tt-a1i/archify-dsh (remove by npm package name). This command only removes the adapter and Skill injection, not the HTML/JSON files you generated previously.

Q: Will it still work after upgrading dsh?

A: The adapter is currently validated only on the developer preview @deepseek-ai/dsh@0.1.0-rc.6, and the README clearly states "It is not a stable cross-version guarantee". After dsh reaches stable release, we need to check whether the adapter has released a new version synchronously.

Q: Is Archify suitable for real-time monitoring, PR risk assessment, or production deployment status display?

A: No. Archify emphasizes "authored facts only" — all connections, upstream/downstream reachability ranges, and architecture comparison results come from user-written typed JSON without probing runtime infrastructure; the generated diagrams explicitly do not declare risk, blast radius, merge safety, or runtime impact.

Learning Curve

Beginner — The invocation method is just adding "Use the archify skill ..." in a dsh conversation. Users don't need to write JSON or remember CLI commands; the Archify Skill internally guides the agent to read the repository, generate typed JSON, and run validation.

Known Issues & Limitations

  • The adapter is at v0.1.0, validated only on @deepseek-ai/dsh@0.1.0-rc.6 (Developer Preview), not a stable cross-version guarantee
  • Generated HTML/JSON does not automatically appear in dsh Web's Produced Files list; the agent must return precise workspace paths for users to manually open
  • The adapter upstream README recommends installation as dsh plugin --profile web add @tt-a1i/archify-dsh@0.1.0 (npm exact version), not from git source; whether the marketplace's github:tt-a1i/archify form works depends on dsh's own resolver, and the repository test docs-contract.test.mjs actively prohibits the github:tt-a1i/archify notation from appearing in documentation
  • The Archify Skill main tool itself is v2.14.0 and continues to evolve rapidly (CHANGELOG shows frequent fixes for wide desktop layout, label spacing, etc.), with the adapter version number being a separate independent system
  • The adapter does not register native render/validate/deliver tools, does not expose a Web client, does not connect to Web Produced Files channel, and makes no network requests or telemetry — meaning all Archify capabilities must be invoked through Skill + shell