能力标签
代码工作流AI
⚙️
Agent工作流

代码工作流AI

基于 TypeScript · 无代码搭建完整 AI 自动化流程
英文名:dvalincode
⭐ 9 Stars 🍴 2 Forks 💻 TypeScript 📄 MIT 🏷 AI 8.0分
8.0AI 综合评分
aiclitypescript工作流
✦ AI Skill Hub 推荐

代码工作流AI 是 AI Skill Hub 本期精选Agent工作流之一。综合评分 8.0 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。

📚 深度解析

代码工作流AI 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

代码工作流AI 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 8.0 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

代码工作流AI 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 9
开发语言
TypeScript
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
MIT
AI 综合评分
8.0 分
工具类型
Agent工作流
Forks
2

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

代码工作流AI 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:npm 全局安装
npm install -g dvalincode

# 方式二:npx 直接运行(无需安装)
npx dvalincode --help

# 方式三:项目依赖安装
npm install dvalincode

# 方式四:从源码运行
git clone https://github.com/arthurpanhku/dvalincode
cd dvalincode
npm install
npm start
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
dvalincode --help

# 基本用法
dvalincode [options] <input>

# Node.js 代码中使用
const dvalincode = require('dvalincode');

const result = await dvalincode.run(options);
console.log(result);
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# dvalincode 配置说明
# 查看配置选项
dvalincode --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export DVALINCODE_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 40/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<p align="center"> <img src="assets/logo.png" alt="DvalinCode" width="480"> </p>

<p align="center"> <b>English</b> · <a href="README.zh-CN.md">中文</a> · <a href="https://dvalincode.dev">🌐 dvalincode.dev</a> </p>

<p align="center"> <a href="https://github.com/arthurpanhku/dvalincode/releases/latest"><img src="https://img.shields.io/github/v/release/arthurpanhku/dvalincode?style=for-the-badge&color=818cf8&label=Release" alt="Release"></a> <a href="https://github.com/arthurpanhku/dvalincode/releases"><img src="https://img.shields.io/github/downloads/arthurpanhku/dvalincode/total?style=for-the-badge&color=blue&label=Downloads" alt="Downloads"></a> <a href="#-tests"><img src="https://img.shields.io/badge/Tests-584%20%2F%20584%20%E2%9C%93-success?style=for-the-badge" alt="Tests"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License"></a> <a href="https://scorecard.dev/viewer/?uri=github.com/arthurpanhku/dvalincode"><img src="https://api.scorecard.dev/projects/github.com/arthurpanhku/dvalincode/badge" alt="OpenSSF Scorecard"></a> <a href="#-quick-install"><img src="https://img.shields.io/badge/Platforms-macOS%20·%20Windows%20·%20Linux-blue?style=for-the-badge" alt="Platforms"></a> <a href="#-providers"><img src="https://img.shields.io/badge/LLM-OpenAI%20·%20Claude%20·%20DeepSeek%20·%20Ollama%20·%20Groq-7C3AED?style=for-the-badge" alt="LLM Support"></a> <a href="README.zh-CN.md"><img src="https://img.shields.io/badge/i18n-EN%20·%20中文-orange?style=for-the-badge" alt="English / 中文"></a> </p>

<p align="center"> <b>Open security engineering for code written by humans and AI agents.</b><br> <b>Every repair carries its own proof.</b> </p>

When an agent fixes a security finding, someone has to decide whether the fix worked. Almost every tool asks the model that wrote it — which is the one question a model cannot answer against its own interest.

Dvalin decides instead, and hands you the proof. It re-scans, runs your project's own tests itself, and reads the exit codes from processes it started. Who wrote the repair — our agent, Claude Code, Codex, Copilot, a person — is recorded and never consulted. The result is a Verified Fix Record: a small JSON file anyone can re-check offline, on a laptop with no network and no Dvalin state.

dvalin verify-fix fix-record.json
Fix record 2c9d71ac03e0 · VERIFIED · scan-and-checks
  executor: claude-code (recorded, not consulted)
  targets: 1 before · 0 remaining
  coverage: complete → complete
  introduced: 0 (gate high/new)
  outcome: verified
  ✓ test: npm run test (exit 0)
  audit: run verify-36509f42 @ 414644c75af0

That record says something narrow on purpose: these findings were gone, and these checks were observed to pass. It is not a claim that your code is safe, and Dvalin will not let it be read as one — every record carries what the scan actually covered, and a repair no check could confirm does not pass. The open profile →

A repair is a change, and a change can add as well as remove. So the record also carries what the re-scan saw that the first scan did not, and the gate threshold the verdict was reached under: a fix that removes an eval and introduces an SQL injection is recorded as regressed and does not verify. Neither does a record whose issuer never looked — introduced: not determined fails, because a verifier that skips the question must not score better than one that asks it and finds something.

Dvalin is the independent security runtime between code generation and merge. Humans, coding agents, and CI call the same versioned contract for discovery, remediation, and verification. It runs independently, or interoperates with specialist systems such as Codex Security through portable SARIF. Its built-in coding capability is a remediation executor — not the trust boundary, and not an attempt to compete with every general-purpose coding agent. See the security-agent strategy.

---

⭐ What's New in v0.14.0 — Dvalin security engineering

- Home unifies Chat and Cowork — the GUI now has a single Home workspace with read-only Ask and approval-gated Collaborate intents, while keeping the same project and conversation context. - Code is focused again — the old Security and Routines panels have been removed from Code so its sidebar is dedicated to projects and autonomous implementation. - Dvalin is a first-class workspace — orchestrate the built-in scanner plus installed Semgrep CE, Trivy, and OSV-Scanner; import SARIF; score and triage findings; persist remediation cases; and create isolated repair worktrees. - One flow from evidence to draft PR — selected findings can launch an evidence-backed Agent fix, run focused tests/typecheck/build and a fresh scan, review the diff, and explicitly publish a draft PR without automatic merge. - Agent loops converge sooner and cost less — investigation-before-edit and stall detection reduce repeated failed actions, general tool output is bounded, prompts remain append-only for cache reuse, and provider usage now accounts for cache hits/misses. - Provider and evaluation upgrades — native Anthropic prompt caching and cache accounting are supported, and the SWE-bench Docker harness reports official scores, policy violations, stalls, and token/cache metrics.

---

⭐ What's New in v0.12.4 — finish the task before stopping

- Process narration no longer ends a task — responses such as “let me verify the file” are recognized as pending work, and the agent immediately continues with the promised action instead of treating them as a final answer. - Truncated responses automatically recover — provider finish reasons are preserved, so output cut off by a token limit triggers another model step. - Normal coding turns get room to finish — the per-turn action limit is now an emergency 100-action guard rather than a routine 15-action stopping point; stricter organization policy limits still take precedence. - Completion is explicit — Code mode is instructed to return a tool-free answer only after the requested work and focused validation are complete.

---

⭐ What's New in v0.12.3 — resilient long-running Code mode

- Long coding turns keep going — Code mode now compacts context during an active tool loop, accounts for the full provider request when estimating tokens, and raises the default iteration checkpoint from 10 to 40. - Interruptions are resumable — completed tool state is persisted when a turn is interrupted or its connection closes, so a follow-up continue resumes from the actual workspace progress. - Visible, quieter agent activity — running sessions show a sidebar loading state, each response reports elapsed work time, and its Action timeline is available on click while raw Tool Calls stay collapsed by default. - GitHub workflows from Code mode — network-aware git and GitHub CLI (gh) operations now support pull, push, PR creation, and Actions/repository commands through the governed shell approval path. - Safer releases — package and CLI versions are synchronized, and prepublishOnly runs the build, typecheck, and test suite before publishing. - Simple tasks stay simple — the Action budget is enforced across the whole turn instead of resetting on every model iteration, and Code mode is prompted to take the shortest direct path and stop when focused validation passes.

---

⭐ What's New in v0.12.2 — 🖥️ Desktop app milestone: it just works

- 🖥️ The native desktop app now works out of the box on macOSDvalinCode.app opens a real dock window (WKWebView, no Electron) over the embedded engine. Two threading bugs that shipped in every earlier desktop build are fixed: the blocking webview loop no longer starves the embedded server (blank window), and the webview runs on the main thread as macOS requires (no window at all) — the server now lives in a child process of the same binary. - 📦 The one-line installer installs the app — on macOS, curl … install.sh | bash now also puts DvalinCode.app (with the DvalinCode icon) into /Applications, so the desktop window launches straight from Launchpad after a CLI install. Opt out with DVALINCODE_NO_APP=1; pin with DVALINCODE_GUI_VERSION. - ✅ Desktop is no longer "experimental" on macOS — the window and the embedded server are verified working; Windows and Linux desktop builds are cross-compiled and remain a preview.

<details> <summary>v0.9.0 — 🛡️ Secure remediation · Skills · CodeQL hardening</summary>

- 🛡️ Secure remediation workflow — run a built-in local scan or import SARIF from CodeQL, GitHub Code Scanning, Semgrep, and compatible scanners; findings become local remediation cases with source context, verification guidance, and isolated worktree repair tasks. - 📚 Skills — upload, download, inspect, and reuse local skill bundles. DvalinCode now ships built-in secure-code-scan and secure-code-remediation skills, plus agent tools for listing skills, reading instructions, scanning, listing remediation cases, and preparing remediation worktrees. - 🔐 CodeQL path hardening — user-controlled workspace, remediation, and skill paths now go through explicit root-containment checks, with regression tests covering traversal-safe resolution and skill import boundaries. - 🎨 App icons — dark and light theme application icons now ship with the web bundle and desktop build inputs.

</details>

<details> <summary>v0.8.0 — 🔒 Governance: controllable · transparent · auditable</summary>

  • 🔒 Org policy — a dvalin.policy.json lets a company, not the developer, bound the agent: which modes, shell commands, file paths, tools, and models are allowed. Two layers (machine ~/.dvalincode/policy.json + repo) resolve by narrowing — a repo policy can only ever make the machine policy stricter, never widen it. With no policy file, behavior is identical to before. Enforced at a single chokepoint; every denial is an inline ⛔ Blocked by policy plus a policy_violation audit event. Policy reference →
  • 🔎 dvalincode trust — prints this install's live security posture in one command — active policy + source hashes, audit status, runtime, dependencies — so a reviewer can verify what the agent may and may not do directly, instead of taking claims on trust. --json for tooling.
  • dvalincode policy check — validates dvalin.policy.json against the schema, prints the resolved policy + canonical hash (after narrowing with the machine layer), and exits non-zero on failure — for CI and policy authoring. Policy reference →
  • 🧾 Policy-aware audit — every run records the hash of the governing policy (and which files contributed) in run_start, so the tamper-evident log proves which rules were in force.
  • 📐 Approvability plan — the through-line is documented in docs/APPROVABILITY-PLAN.md: make DvalinCode trivially approvable by any company — controllable, transparent, auditable.

</details>

<details> <summary>v0.7.0 — 🧪 Desktop app (beta)</summary>

  • 🧠 Portable memory & full data export/import — the upgraded local memory mechanism, plus every session, config, profile, and audit log, can now be bundled into a single file and restored on another machine. Migrate your whole setup in one step: dvalincode export / dvalincode import, or the Export / Import buttons in the GUI Settings panel.
  • 📝 Download any AI interaction as Markdown — every conversation can be saved as a clean Markdown transcript (user turns, assistant replies, tool calls + results, decisions — all inline). Use the download icon on any session in the sidebar, dvalincode session md <id>, or GET /api/sessions/:id/markdown.
  • 🖥️ Native desktop app — a real application window (not a browser tab) over the same engine: DvalinCode.app on macOS, plus Windows/Linux builds. Built with webview-bun using the OS-native webview (WKWebView / WebView2 / WebKitGTK) — no Electron, stays a small self-contained binary.
  • 🧩 A third frontend, one core — the desktop app, terminal UI, and web GUI all drive the same shared turn-runner. The current dvalincode binary is now positioned purely as the CLI (terminal + serve).
  • Status: the desktop binaries are experimental / unverified — grab them from the latest pre-release and please report how the window behaves on your OS.

</details>

<details> <summary>v0.6.0 — terminal agent · <code>serve</code> · shared turn-runner</summary>

  • 🖥️ Terminal agent — run dvalincode bare for an interactive terminal coding agent, Claude-Code-style: streaming responses, inline [y/N] write approvals with red/green diffs, /mode · /clear · /git · /plan · /compact · /undo · /help, Ctrl-C to interrupt, and a guided first-run provider setup. Defaults to read-only Chat, switchable live.
  • 🌐 dvalincode serve — the web GUI now lives behind a command, so the same binary deploys headless on a server: dvalincode serve --host 0.0.0.0 --no-open.
  • 🧩 One engine, two frontends — the terminal UI and web GUI both drive a shared, transport-agnostic turn-runner (src/agent/session.ts), keeping them at feature parity.

</details>

<details> <summary>v0.5.0 — security-grade audit trail · Run Report · theme switcher</summary>

- 🛡️ Security-grade audit trail — every Cowork/Code run writes a tamper-evident, hash-chained JSONL log to ~/.dvalincode/audit/ (run_start, every tool_call / file_* / shell_exec / approval, run_end). The hash chain makes any after-the-fact edit detectable. No local coding agent ships verifiable behavior logs. Format + threat model → - 📋 Run Report + dvalincode report CLI — a Markdown summary of each run (files read/changed, commands, decisions, test result), rendered as a collapsible card in the GUI and from the CLI:

  dvalincode report --last           # render the most recent run
  dvalincode report <run-id> --format json
  dvalincode report verify <run-id>  # ✓ chain intact / ✗ broken at seq N
  
- 🎨 Theme switcher — choose dark / light / system in Settings. system follows your OS live; the choice persists across sessions.

</details>

<details> <summary>v0.4.0 — <code>/compact</code> · <code>dvalin.json</code> team playbook · self-contained binaries</summary>

  • /compact — LLM-based context compaction: replaces conversation history with a structured five-section summary (Goal / Completed / Decisions / Current State / Pending). A divider in the chat thread shows the token reduction (e.g. 8,412 → 1,203 tokens −85%).
  • dvalin.json team playbook — commit a shared set of automation prompts to your repo. The sidebar loads them automatically and lets teammates run the same one-click routines without any manual setup. Export button converts your personal routines to dvalin.json in one click.
  • Self-contained binaries — single ~25 MB executable per platform; no Node, no Python, no Docker. Auto-opens your browser on launch. Built with bun --compile so the web UI is bundled alongside the server binary.

</details>

<details> <summary>v0.3.0 — Mode-aware sidebar · one-line installer · multi-profile LLM config</summary>

  • Mode-aware sidebar — Chat shows quick-prompt Templates, Cowork shows a Projects folder tree, Code shows custom Routines (one-click commands like "Run tests" / "Git status" / "Type check"). Add your own routines from the sidebar — they persist in localStorage.
  • One-line installercurl … | bash auto-detects your OS + arch, drops the binary into ~/.dvalincode/, and patches your PATH. No package manager dependencies.
  • Multi-profile LLM config — save named (provider, model, API key) sets and switch in one click from the sidebar; live per-session cost counter in the topbar so you can compare providers on the fly.

</details>

---

✨ Features

CategoryFeatureNotes
**Modes**Home / Code / DvalinHome contains read-only Ask and approval-gated Collaborate; Code is focused autonomous development; Dvalin is the scan-to-fix security workspace
**Code permissions**Ask Permissions / Plan Mode / Auto Mode / Bypass permissionsVerified behavior: Ask requests approval before writes/commands, Plan is read-only and does not write files, Auto runs operations automatically, Bypass runs without confirmation prompts
**Workspaces**Open folder / Import Git / Add worktreeCowork and Code can switch to a local folder, clone a Git project, or create a Git worktree from the UI
**Governance**OpenSSF Scorecard / ISO 42001 AIMS alignmentScorecard, CodeQL, Dependabot, pinned Actions, AI impact assessment, risk register, and review cadence are documented under docs/security/ and docs/governance/
**Secure remediation**Built-in + Semgrep CE + Trivy + OSV-Scanner / SARIF / cases / worktrees / tests / draft PRDvalin detects installed engines, normalizes SARIF, scores risk, persists cases, drives evidence-backed fixes, verifies changes, and publishes only after an explicit user action
**Skills**Upload / download / built-in security skillsSkills live under ~/.dvalincode/skills; built-ins guide security scanning and remediation with dedicated agent tools. [Format →](docs/SKILLS.md)
**Composer**@ file referencesType @ for a fuzzy file search; selected files get inlined into the prompt
/ slash commands/clear /compact /git /plan /undo /help
Multiline + interrupt<kbd>Shift</kbd>+<kbd>Enter</kbd> for newline, stop button to abort mid-stream
**Tool UI**Inline diffsedit_file and write_file results render as red/green unified diff, default folded
Approval dialog with diffCowork mode shows the diff *before* the change is applied
Live tool counter + token + costTopbar shows session totals in real time
**Agent**LLM-based context compaction/compact summarises into Goal / Completed / Decisions / Pending
Persistent undo stack/undo [N] reverses the last N tool calls
Run ReportMarkdown summary per run (files, commands, decisions, test result) — GUI card + dvalincode report
Git awarenessBranch name in topbar; git_status tool; git context auto-injected into prompt
AGENTS.md project memoryPer-repo persistent instructions, auto-loaded each turn
**Security**Tamper-evident audit trailHash-chained JSONL per run in ~/.dvalincode/audit/; dvalincode report verify detects edits
macOS shell sandboxsandbox-exec denies network; allows writes only inside cwd + /tmp
.dvalincodeignoregitignore-style exclusion; blocks read_file / list_files / search_text
Per-action approvalApprove/deny each write / delete / shell call in Cowork mode
**Appearance**Theme switcherDark / light / system, persisted; system follows the OS live
**Providers**OpenAI-compatible endpointsDeepSeek · OpenAI · Groq · OpenRouter · Ollama · custom
Multi-profile configSave and switch between named (provider, model, API key) sets
**Sessions**Auto-save + restoreAll sessions persisted to ~/.dvalincode/sessions/ as JSON
LLM summary memoryCross-session summary keeps the agent oriented after restart
**Memory**Local user/project memorySearchable facts, preferences, and decisions in ~/.dvalincode/memory/; import from Claude/Hermes/Markdown
**Data portability**Export / import all dataOne bundle of memory + sessions + config + audit — dvalincode export / import, or GUI Settings → Export / Import
Markdown transcriptDownload any conversation as Markdown — sidebar download icon, dvalincode session md <id>, or /api/sessions/:id/markdown

---

⏱️ 30 seconds, no install, no API key

```sh npx dvalincode security scan .

After installing the package: dvalin scan .


That is the whole thing. It runs the built-in rules for injection, hardcoded
secrets, XSS, `eval`, and unsafe shell use against the current directory and
prints what it found. No account, no model, no config, no code leaves your
machine. The default policy runs only Dvalin Built-in, so the first scan always
works. Add optional engines explicitly, or inspect their fixed install commands:
sh dvalin scanners list dvalin scanners install semgrep # review the command dvalin scanners install semgrep --yes # execute it under Dvalin policy

For an incremental “no new high-risk findings” gate, commit the policy and
baseline with the repository:
sh dvalin init dvalin baseline dvalin scan ```

This creates dvalin.security.json and .dvalin/baseline.json. Suppressions require a reason and may have an owner and expiry date. Scan output is a versioned envelope with a deterministic gate result and a resumable workflow ID.

Or put it on every pull request — nothing to install at all

```yaml

🚀 Quick Install

🎬 First-time setup

Terminal (default): run dvalincode. On first launch it walks you through a one-time provider setup (pick a provider, paste your API key, choose a model) and saves it to ~/.dvalincode/config.json. Then you're at the prompt — type to chat, /mode to switch between Chat / Cowork / Code / Dvalin, /help for commands. In the GUI, Chat and Cowork are grouped under Home.

Web GUI: run dvalincode serve and:

  1. The server starts on http://localhost:3000 and your browser opens automatically.
  2. Click LLM Configuration in the sidebar (bottom-left).
  3. Pick a provider, paste your API key, choose a model, hit Save.
  4. Optional: save the current config as a named profile (e.g. fast, cheap, local-ollama) to switch quickly later.

Both share the same config and sessions in ~/.dvalincode/.

---

🏗️ Build from source

Requires Bun (curl -fsSL https://bun.sh/install | bash).

git clone https://github.com/arthurpanhku/dvalincode
cd dvalincode
npm install
npm run dev:all                 # start backend (3001) + Vite (5173)

Build release binaries for every platform:

bash scripts/build-release.sh   # → release/ with tar.gz / zip + SHA256SUMS.txt
bash scripts/build-release.sh darwin    # macOS only
bash scripts/build-release.sh windows   # Windows only

Before publishing a release:

(cd release && shasum -a 256 -c SHA256SUMS.txt)
unzip -l release/dvalincode-v*-windows-x64.zip | grep 'web/dist/index.html'
tar tzf release/dvalincode-v*-macos-arm64.tar.gz | grep 'DvalinCode.app/Contents/Resources/AppIcon.icns'

Windows smoke test: unzip dvalincode-v*-windows-x64.zip on Windows and run start.bat from the extracted folder. The server should open http://localhost:3000. If it reports an ENOENT path under B:\~BUN\root\web\dist, the compiled Bun virtual path detection has regressed; the packaged binary must resolve `w

.github/workflows/security.yml

permissions: contents: read security-events: write steps: - uses: actions/checkout@v5 with: fetch-depth: 0 # so the scan can reach the base commit - uses: arthurpanhku/dvalincode@v0.18.0 with: fail-on: high diff: true # only report on what this PR changed ```

Findings land inline on the pull request diff and in your Security tab. No API key, no secrets, no model — the scan is deterministic and local to the runner. Full example →

diff: true reports only on lines the pull request changed, so the gate blocks what this change adds instead of everything the repository already carried. That is what makes the check adoptable on a codebase that was not clean to begin with. Drop it to scan the whole repository.

Every comment states what the scan coveredcomplete, partial, or unknown — beside the result, because "no findings" from a run where half the engines were missing is not the same answer as "no findings" from a complete one.

🧩 Integration support

Code written with an AI assistant passes through four sets of hands before it merges: the agent that writes it, the editor the developer reads it back in, the pull request that gates it, and the reviewer who has to believe the result. A security answer that exists in only one of those places is not a gate — it is a suggestion the next stage is free to ignore.

Dvalin is one MCP server and one deterministic scan behind all four, so the answer does not change depending on who asks it.

Stage of the loopWhere you areHow Dvalin gets thereStatus
**Writing the code**Claude Code[dual plugin](integrations/dvalin-security/) · claude mcp add · mcp-install claude-code✅ session verified
Codex[dual plugin](integrations/dvalin-security/) · codex mcp add · [SARIF interop](integrations/codex-security/)✅ session verified · capture pending
Cursordvalincode mcp-install cursor⚙️ config verified
Windsurf · Zedstdio MCP through their own settings⚙️ documented, unverified
Any MCP clientregistry io.github.arthurpanhku/dvalincode⚙️ published
**Reading it back**VS Codemcp-install vscode · [extension](editors/vscode/) for Problems, coverage and gate status✅ editor verified
**Gating the merge**GitHub Actions[Marketplace action](https://github.com/marketplace/actions/dvalin-security-scan) — findings on the diff, fix records re-derived on the runner✅ runs on this repository's own CI
Any CIdvalin scan . --fail-on high, SARIF out for code scanning✅ the exit code is the contract
**Believing the result**anyone, offlinedvalin verify-fix record.json✅ no workspace, no network, no Dvalin state

means a real client was driven end to end and the tool call was observed. ⚙️ means the configuration is generated and its shape is tested, but no session has been captured. The difference is not smoothed over here, because a config file that loads is not evidence that a tool was ever called.

🎯 aiskill88 AI 点评 A 级 2026-06-24

高质量的开源AI工作流项目,值得关注

📚 实用指南(长尾问题)
适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 跨境业务、多语言内容运营团队
最佳实践
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 本地部署优先选 GGUF 量化模型,节省显存并保持响应速度
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • 显存不足直接 OOM — 优先降低 context 或换更小的量化模型
部署方案
  • Docker:dvalincode 提供官方镜像,docker compose up 一键启动
  • CLI:直接 npm install -g / pip install,命令行调用
  • 本地部署:CPU 8GB 起,GPU 推荐 16GB+ 显存
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台
相关搜索
dvalincode 中文教程dvalincode 安装报错怎么办dvalincode Docker 部署dvalincode Agent 工作流dvalincode 与同类工具对比dvalincode 最佳实践dvalincode 适合谁用

⚡ 核心功能

👥 适合谁
  • 构建多智能体协作系统的 Agent 开发者
  • 跨境业务、多语言内容运营团队
⭐ 最佳实践
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 本地部署优先选 GGUF 量化模型,节省显存并保持响应速度
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • 显存不足直接 OOM — 优先降低 context 或换更小的量化模型

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +MIT 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐

📚 相关教程推荐
📰 相关 AI 新闻
🍿 AI 圈相关吃瓜
🗺️ 相关解决方案
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

dvalincode 是一款TypeScript开发的AI辅助工具。开源AI工作流:Local-first CLI agent for coding workflows. Provider-neutral, zero runtime deps,。⭐9 · TypeScript 主要应用场景包括:自动化代码编写和工作流管理。
💡 AI Skill Hub 点评

经综合评估,代码工作流AI 在Agent工作流赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ MIT 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 代码工作流AI
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 dvalincode
原始描述 开源AI工作流:Local-first CLI agent for coding workflows. Provider-neutral, zero runtime deps,。⭐9 · TypeScript
Topics aiclitypescript工作流
GitHub https://github.com/arthurpanhku/dvalincode
License MIT
语言 TypeScript
🔗 原始来源
🐙 GitHub 仓库  https://github.com/arthurpanhku/dvalincode

收录时间:2026-06-24 · 更新时间:2026-06-26 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。

📺 订阅 AI Skill Hub Daily Telegram 频道
每天 8 条精选 AI Skill、MCP、Agent 与自动化工具推送
加入频道 →