weike-zhang/architecture-canvas
weike-zhang/architecture-canvas has 160 GitHub stars and 12 forks. GitHot measured 0 stars in 24 hours, -3 in 7 days, and 0 in 15 days. Last checked 2026-11-11 04:29 UTC. Last push 2026-10-03.
Chat with your documents to create and refine editable architecture diagrams. Local workspace, Excalidraw canvas, optional Tavily search.
Measured star growth
- in 24h
- 0
- in 7 days
- -3
- in 15 days
- 0
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.en.md
OriginalArchitecture Canvas
An AI conversation workspace for creating and refining editable architecture diagrams. Upload documents or images, discuss the requirements, and keep editing the same canvas.
Run locally · Try without a key · 中文 · Engineering decisions

Actual workspace with the offline sample. Editing and export need no key. The diagram is hand-authored, not an LLM quality result.
The custom React workspace and Excalidraw editor use DeepSeek Harness for model/tool execution and context compaction. Connect a tool-capable Chat Completions endpoint; image inputs require a vision-capable model.
中文 · Integration · Tests · Third-party notices
Licensed under Apache-2.0. This is a local Alpha application.
Move and label the generated shapes, then continue the conversation on the same diagram. Review AI change proposals before applying them. See architecture and tradeoffs for the implementation and regression tests.
Run locally
Python 3.10+, Node.js 22.12+, and npm are required.
git clone https://github.com/weike-zhang/architecture-canvas.git
cd architecture-canvas
python3 start.py
Open http://127.0.0.1:5093 and configure the model in Settings. Entered API keys stay in server process memory. For restart persistence, configure the ignored llm.env file using llm.env.example.
Edit a diagram without an API key
Run python3 demo.py --output demo-session.json. In the workspace, open 上下文 (Context), choose 导入会话备份 (Import session backup), and select that file. Move a module, edit a label, then export SVG or PNG. This hand-authored sample makes no model or search request. Configure a model to continue editing through conversation. The application UI currently uses Chinese.
Features and boundaries
- Conversation-driven diagram creation and incremental edits, cancellation and retries.
- Local parsing of text/code, DOCX, XLSX, PPTX, and PDF; common image formats become vision input. Scanned PDFs require optional Tesseract OCR (Chinese requires
chi_sim). - Per-session messages, files, current diagram, and 12 diagram revisions in
.workspace/(override withARCH_DATA_DIR). - File preview and selection, editable requirements summary, fresh context retaining the canvas and chosen files.
- Native canvas editing and SVG, PNG, editable-file exports.
- Custom diagram/document tools with shell tools excluded. Base plugins load when a runtime starts; the Tavily tools support runtime enable, disable and replacement.
After a service restart, the app reconstructs model context from saved visible messages and the requirements summary. It does not restore the SDK's internal tool transcript. Warm sessions retain their native runtime and compaction plugins.
Uploads are limited to 20 files/session and 25 MB/file. Extracted text is limited to 300,000 characters, PDFs to 100 pages, spreadsheets to 20 sheets/2,000 rows/100 columns. Extraction limits produce notices. Legacy DOC/XLS/PPT must be converted. Office embedded images, formula recalculation, audio/video, multi-user hosting and collaboration are out of scope.
The diagram engine targets small layered/module/deployment overviews, usually up to 22 components, rather than sequence or ER diagrams. Dense column diagrams show a small set of adjacent-module relationships while retaining detailed edges in the semantic structure. New nodes may require manual layout. Review model output before use.
Selected images, read document excerpts, messages and diagram structures are sent to the configured model provider. Local files remain on the host. Disabling a file prevents future tool reads; start a fresh context to remove its earlier conversational influence.
Consistent icons
UI and diagram icons use Lucide 0.468.0, with 32 official architecture icons vendored in icons/lucide.json. Diagrams embed SVG assets for offline editing and export. Chinese node labels reserve icon space instead of hiding icons. Rebuild the vendored subset with python3 sync_icons.py after installing editor dependencies.
Development
python3 -m unittest discover -s tests -v
npm --prefix editor test
python3 manage.py build
python3 manage.py bundle --output /tmp/architecture-assistant-source.zip
The source bundle excludes credentials, session data, dependencies and build outputs. The legacy Python server.py remains the host platform's generation adapter; use the Node command for the standalone workspace.
0.2 Alpha readiness update
Run python3 start.py for local setup and startup; use --check to inspect dependencies. Existing-diagram AI updates require explicit Apply/Discard. Selection-scoped edits, position pins, manual node/arrow synchronization, source-line links, conversation backup/import/delete, a 120,000-character history budget, idle runtime cleanup, and model tool-call diagnostics are available. PDF extraction now uses pypdf and pypdfium2. diagram_sdk.py is the stateless Python API; mcp_server.py exposes local stdio tools with optional root-restricted document reading.
See release readiness for validation boundaries.
Optional web search
Configure your own Tavily key in settings. Search results, extracted page snapshots and verified line citations feed the architecture conversation. Keys remain in process memory. The shared module also runs as a standalone authenticated HTTP service or DeepSeek Harness plugin, with runtime enable/disable, key replacement and request cancellation. See module integration.
Explore related projects
affaan-m/ECC
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
301,430 starsNousResearch/hermes-agent
The agent that grows with you
262,755 starsmultica-ai/andrej-karpathy-skills
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
232,254 starsfirecrawl/firecrawl
Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥
200,932 stars