DigniLife AI for VS Code
AI-powered coding assistant that works directly in your project with terminal/debug visibility and app sync.
What This Extension Does
DigniLife AI combines chat assistance, agentic tooling, and project context so you can:
- Ask questions about your codebase and get streamed answers.
- Run AI-driven code edits with approval controls.
- Use terminal-aware and debug-aware assistance.
- Keep conversation history synced between VS Code and the DigniLife app.
- Use inline completions, inline edits, composer edits, and background tasks.
Core Features
1) AI Chat + Agent Mode
- Sidebar chat view (
DigniLife AI activity bar container).
- Streaming responses.
- Tool call execution in Agent Mode.
- Three approval modes:
manual: explicit approval for mutations.
supervised: execute with activity notification.
auto: fully automatic execution.
2) Terminal Awareness
- Watches terminal output and command executions.
- Captures command metadata (command, exit code, duration, output preview).
- Syncs terminal tail and build status for better AI diagnosis.
- Supports history persistence with size limits.
3) Debug Awareness
- Captures debug adapter output from active debug session.
- Includes stopped/breakpoint context for troubleshooting.
- Redaction support for sensitive text.
4) Code Editing Flows
Inline Edit (Ctrl+K / Cmd+K) for quick scoped edits.
Composer for multi-file edit plans.
- Apply/deny flow through chat tooling.
5) Inline Completion
- Ghost-text style code completion while typing.
- Toggle via command or setting.
- Syncs conversations/messages via DigniLife backend (
/api/v1/ai-sync/*).
- Supports loading history, pagination, and auto-polling.
7) Background Agent Tasks
- Run long tasks without blocking main chat.
- Status bar + quick pick visibility.
- Results can be routed back into chat.
8) Workspace Intelligence
- File analysis and related-file context.
- Workspace indexing for semantic assistance.
- Environment detection (including virtual environments/interpreter hints).
Requirements
- VS Code
^1.85.0
- A reachable DigniLife backend API
- Valid DigniLife authentication token/session
Quick Start
- Install the extension.
- Set server URL if using local/dev backend:
"dignilife.serverUrl": "http://localhost:8000"
- Run command:
DigniLife: Login
- Open chat:
DigniLife: Open Chat
- Start asking code/project questions.
Commands
From Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
DigniLife: Login
DigniLife: Logout
DigniLife: Open Chat
DigniLife: Ask AI About Selection
DigniLife: Fix Error
DigniLife: Toggle AI Code Completion
DigniLife: Inline Edit (AI)
DigniLife: Open Composer (Multi-file AI Edit)
DigniLife: Save as Notepad
DigniLife: Insert Notepad into Chat
DigniLife: Manage Notepads
DigniLife: Run Task in Background
DigniLife: Show Background Tasks
DigniLife: Sync Chat History
DigniLife: Open Settings
DigniLife: Show Welcome Guide
DigniLife: Create New Terminal
Default Keybindings
Ctrl+Shift+L / Cmd+Shift+L: Open Chat
Ctrl+Shift+D / Cmd+Shift+D: Ask AI About Selection
Ctrl+K / Cmd+K: Inline Edit
Ctrl+Shift+O / Cmd+Shift+O: Open Composer
Ctrl+Shift+N / Cmd+Shift+N: Save as Notepad (when editor has selection)
Ctrl+Shift+B / Cmd+Shift+B: Show Background Tasks
Important Settings
Connectivity
dignilife.serverUrl (default: https://api.dignilife.io)
Agent and Safety
dignilife.allowHighRiskAutoApprove (default: false)
When false, high-risk actions remain constrained even in non-manual modes.
Terminal Context
dignilife.terminalSyncInterval (ms)
dignilife.terminalMaxOutputLines
dignilife.terminalContextLines
dignilife.terminalSyncTailLines
dignilife.terminalPersistHistory
dignilife.terminalHistoryMaxMB
Chat and Context
dignilife.autoSyncChat
dignilife.chatSyncInterval
dignilife.chatCacheMaxAgeMinutes
dignilife.contextBudgetMB
dignilife.workspaceMaxFiles
dignilife.workspaceMaxFileSizeKB
dignilife.workspaceIndexMaxDepth
dignilife.workspaceIndexMaxFiles
dignilife.workspaceIndexMaxFileSizeKB
Command Execution
dignilife.runCommandTimeoutMs (0 = no timeout)
dignilife.runCommandMaxBufferMB
dignilife.runCommandOutputMaxKB (0 = no truncation)
dignilife.terminalCommandWaitTimeoutMs (0 = no timeout)
dignilife.terminalCommandOutputMaxKB (0 = no truncation)
run_command now streams live stdout/stderr chunks to the chat tool-status panel while the command is running.
Completion and Security
dignilife.inlineCompletion
dignilife.redactSensitiveData
Optional MCP Bridge
dignilife.mcpEnabled
dignilife.mcpBridgeUrl
dignilife.mcpBridgeApiKey
Agent Mode Notes
- Use
manual when you want explicit approval on mutations.
- Use
supervised for faster flow with visibility.
- Use
auto only when you trust the task scope and environment.
- Use Plan mode in chat when you want proposal-first behavior.
Environment / Terminal Notes
- For environment-sensitive commands (
python, pip, pytest, etc.), use run_in_terminal flows in agent mode.
- The extension includes environment hints (selected interpreter + venv detection) to reduce wrong-runtime execution.
- If your project uses
.venv, keep it activated in your terminal profile for best results.
- For team onboarding and safe terminal behavior training, use:
Troubleshooting
Extension shows disconnected state
- Confirm
dignilife.serverUrl is correct.
- Re-run
DigniLife: Login.
- Check backend is running and reachable from VS Code host.
Chat history not updating
- Run
DigniLife: Sync Chat History.
- Ensure
dignilife.autoSyncChat is enabled.
Terminal output not reflected
- Confirm commands are executed in VS Code integrated terminal.
- Check terminal sync settings are not overly restrictive.
- Run
list_terminals and verify execution status labels:
[exec:blocked(read-only)] = do not execute there (server/watch terminal)
[exec:busy] = currently running
[exec:ready] = safe for run_in_terminal
Inline completion not appearing
- Ensure
dignilife.inlineCompletion is true.
- Toggle using
DigniLife: Toggle AI Code Completion.
Slow or oversized context
- Reduce
dignilife.contextBudgetMB.
- Tune workspace file/index limits.
Privacy and Safety
- Optional sensitive-data redaction can sanitize likely secrets before context sync.
- Approval controls are built into agent tool execution.
- Review generated changes before applying in critical repositories.
Development (Extension)
From dignilife-vscode/:
npm install
npm run compile
Run quality checks:
npm run test:core
npm run test:runtime -- --output tmp_test_output/runtime_realtime_report.json
npm run test:smoke -- --output tmp_test_output/smoke_report.json
npm run test:preflight -- --output tmp_test_output/preflight_report.json
npm run test:quality
npm run test:backend:e2e -- --base-url http://127.0.0.1:8000 --output tmp_test_output/backend_extension_e2e_report.json
npm run test:ui:e2e -- --output tmp_test_output/extension_host_ui_e2e_report.json
test:runtime and test:smoke can emit JSON reports for CI artifact uploads.
test:preflight emits machine-level required/optional compatibility PASS/FAIL for Windows/Linux/macOS (use --strict to fail on optional capabilities too).
test:backend:e2e exercises backend auth + ai-sync + terminal sync endpoints through extension-oriented payloads.
test:ui:e2e runs extension-host UI smoke (open chat + tool-action event rendering) via @vscode/test-electron.
Credentials can be overridden with DIGNILIFE_TEST_EMAIL and DIGNILIFE_TEST_PASSWORD (env-first precedence).
UI e2e VS Code runtime version can be pinned via DIGNILIFE_UI_E2E_VSCODE_VERSION (default: 1.85.0).
On Windows, if launcher fails with spawn EPERM, set DIGNILIFE_UI_E2E_VSCODE_EXECUTABLE to a trusted Code.exe path for fallback.
Checklist reference: test/core/PREFLIGHT_CHECKLIST.md.
Run extension in VS Code Extension Development Host via F5.
Package VSIX:
npx @vscode/vsce package
Local reinstall (recommended for installed-extension workflow):
npm run reinstall:vscode
License
MIT