opencui
AI coding chat sidebar for VS Code.
Install / Use
claude mcp add arthurzengg -- npx -y github:arthurzengg/opencuiIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Skill content
View source on GitHub{
"$schema": "https://json.schemastore.org/package.json",
"name": "opencui",
"displayName": "OpenCode Panel",
"description": "OpenCode Panel: opencode-powered AI assistant with a modern React chat UI",
"version": "1.11.1",
"private": true,
"publisher": "haoyangzeng",
"license": "MIT",
"engines": {
"vscode": "^1.95.0"
},
"icon": "media/icon.png",
"categories": [
"AI",
"Chat",
"Other"
],
"keywords": [
"ai",
"chat",
"opencode",
"copilot",
"assistant",
"agent",
"code-generation",
"react"
],
"homepage": "https://github.com/arthurzengg/opencui#readme",
"bugs": {
"url": "https://github.com/arthurzengg/opencui/issues"
},
"galleryBanner": {
"color": "#0b1115",
"theme": "dark"
},
"activationEvents": [],
"main": "./dist/extension.js",
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "opencui",
"title": "OpenCode Panel",
"icon": "media/icon.svg"
}
]
},
"views": {
"opencui": [
{
"id": "opencui.chat",
"name": "Chat",
"type": "webview"
}
]
},
"commands": [
{
"command": "opencui.chat.focus",
"title": "OpenCode Panel: Focus Chat"
},
{
"command": "opencui.chat.new",
"title": "OpenCode Panel: New Chat"
},
{
"command": "opencui.conversation.select",
"title": "OpenCode Panel: Select Conversation"
},
{
"command": "opencui.inlineEdit",
"title": "OpenCode Panel: Inline Edit"
},
{
"command": "opencui.selectAgent",
"title": "OpenCode Panel: Select Agent"
},
{
"command": "opencui.selectModel",
"title": "OpenCode Panel: Select Model"
},
{
"command": "opencui.manageMcp",
"title": "OpenCode Panel: Manage MCP Servers"
},
{
"command": "opencui.manageProviders",
"title": "OpenCode Panel: Manage AI Providers"
},
{
"command": "opencui.server.restart",
"title": "OpenCode Panel: Restart Backend"
},
{
"command": "opencui.showLogs",
"title": "OpenCode Panel: Show Logs"
}
],
"keybindings": [
{
"command": "opencui.chat.focus",
"key": "cmd+l",
"mac": "cmd+l",
"win": "ctrl+l",
"linux": "ctrl+l"
},
{
"command": "opencui.inlineEdit",
"key": "cmd+k",
"mac": "cmd+k",
"win": "ctrl+k",
"linux": "ctrl+k",
"when": "editorTextFocus"
}
],
"configuration": {
"title": "OpenCode Panel",
"properties": {
"opencui.binaryPath": {
"type": "string",
"default": "opencode",
"description": "Path to opencode binary"
},
"opencui.serverPort": {
"type": "number",
"default": 0,
"description": "Port for the opencode server (0 = auto)"
},
"opencui.model": {
"type": "string",
"default": "",
"description": "Default model id (provider/model)"
},
"opencui.opencodeConfigMode": {
"type": "string",
"enum": ["isolated", "user"],
"enumDescriptions": [
"Ignore the user's opencode config and plugins — use an empty config for predictable extension behavior.",
"Load the user's normal opencode config, agents, and plugins from disk."
],
"default": "isolated",
"description": "Whether the opencode server started by OpenCode Panel loads the user's opencode config or runs with an empty isolated config."
},
"opencui.context.enabled": {
"type": "boolean",
"default": true,
"description": "Attach automatic workspace context (open tabs, diagnostics, git diff, recent edits, docs, symbols) to each prompt. Disable to send only the user's text + mentions."
},
"opencui.context.maxBytes": {
"type": "number",
"default": 300000,
"description": "Approximate cap (UTF-8 bytes) on the total context attached to a single prompt. The manifest reports this as budgetBytes."
},
"opencui.context.maxAutoBytes": {
"type": "number",
"default": 120000,
"description": "Cap on automatic-context bytes (open tabs, diagnostics, git diff, recent edits, docs, symbols). Lower-priority blocks are dropped first when the budget bites."
},
"opencui.context.maxMentionBytes": {
"type": "number",
"default": 200000,
"description": "Cap on bytes read from manual @-file mentions. Files past this cap are skipped and shown as 'skipped' in the manifest."
},
"opencui.context.showManifest": {
"type": "boolean",
"default": true,
"description": "Show the context-manifest pill under each user message in the chat panel."
},
"opencui.indexing.semantic.enabled": {
"type": "boolean",
"default": false,
"description": "Enable the optional semantic codebase index. Phase 6 ships an in-memory scaffold; a real embedding provider must be configured separately."
},
"opencui.indexing.semantic.provider": {
"type": "string",
"enum": ["none", "openai", "local", "opencode-plugin"],
"default": "none",
"description": "Embedding provider for the semantic index. none keeps the index in text-search mode. Other providers ship via follow-up PRs."
},
"opencui.indexing.maxFileBytes": {
"type": "number",
"default": 500000,
"description": "Skip files larger than this when building the semantic index."
},
"opencui.indexing.maxFiles": {
"type": "number",
"default": 50000,
"description": "Hard cap on the number of files the index scanner will enumerate."
},
"opencui.indexing.includeGlobs": {
"type": "array",
"items": { "type": "string" },
"default": ["/*"],
"description": "Globs the semantic index should consider. Combined with the workspace finder."
},
"opencui.indexing.excludeGlobs": {
"type": "array",
"items": { "type": "string" },
"default": [
"/{node_modules,.git,dist,build,out,coverage,.next,.turbo,.cache}/**"
],
"description": "Globs the semantic index must never read. Always applied even when includeGlobs would otherwise match."
}
}
}
},
"scripts": {
"compile": "bun run build:webview && node esbuild.js",
"watch": "node scripts/watch.mjs",
"package": "bun run build:webview && node esbuild.js --production",
"build:webview": "cd webview && bun install --frozen-lockfile --silent && bun run build",
"check-types": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:integration": "tsc -p test/integration/tsconfig.json && vscode-test",
"vscode:prepublish": "bun run package",
"publish:marketplace": "vsce publish --no-dependencies"
},
"dependencies": {
"@opencode-ai/sdk": "^1.17.9"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@types/react": "^18",
"@types/react-dom": "^18",
"@types/vscode": "^1.94.0",
"@vitest/coverage-v8": "^4.1.5",
"@vscode/test-cli": "^0.0.12",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.9.1",
"esbuild": "^0.25.3",
"jsdom": "^29.1.1",
"mocha": "^11.7.5",
"react": "^18",
"react-dom": "^18",
"typescript": "^5.8.3",
"vitest": "^4.1.5"
},
"packageManager": "bun@1.3.13",
"repository": {
"type": "git",
"url": "https://github.com/arthurzengg/opencui.git"
}
}
Related Skills
momen-cursurrules-prompt-file
40.6kCursor rules for building custom frontends with Momen.app as headless BaaS with GraphQL API, actionflows, AI agents, and Stripe integration.
semiotic-react-dataviz-cursorrules-prompt-file
40.6kCursor rules for Semiotic data visualization library with 30+ chart types, MCP server, and AI-assisted chart generation.
Agent-Reach
71.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
67.8k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Security Score
Audited on Invalid Date
