mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
WeChat needs a QR-paired path instead of bot-token setup, so the adapter layer now includes the iLink protocol calls, desktop pairing UI, server-side bind/unbind APIs, and shared IM command behavior. Empty project history falls back to the user's default work directory so mobile /new works without pre-opening a desktop project. Constraint: Tencent iLink login returns a URL that the desktop UI must render as a QR image locally Constraint: IM adapters should keep /new, /projects, status, permission, and default workdir behavior consistent across WeChat, Feishu, and Telegram Rejected: Require users to paste absolute project paths for first WeChat sessions | mobile onboarding should work from the default user working directory Confidence: high Scope-risk: moderate Directive: Do not change WeChat polling back to overlapping intervals; getupdates is a long-poll endpoint and must remain serialized Tested: Real WeChat QR scan, inbound /status, outbound reply, and unbind E2E Tested: bun run check:adapters Tested: bun run quality:pr Not-tested: Re-scan live WeChat after the default-workdir fallback tweak; covered by adapter config tests and PR gate
108 lines
2.8 KiB
JSON
108 lines
2.8 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/nicegui/nicegui/main/nicegui/static/tauri-capabilities-schema-v2.json",
|
|
"identifier": "default",
|
|
"description": "Default capabilities for Claude Code Desktop",
|
|
"windows": ["main"],
|
|
"permissions": [
|
|
"core:default",
|
|
"core:window:allow-close",
|
|
"core:window:allow-minimize",
|
|
"core:window:allow-start-dragging",
|
|
"core:window:allow-toggle-maximize",
|
|
"shell:allow-open",
|
|
{
|
|
"identifier": "shell:allow-execute",
|
|
"allow": [
|
|
{
|
|
"args": [
|
|
"server",
|
|
{ "validator": "regex", "value": "^(--port|--host|--config)=.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"adapters",
|
|
{ "validator": "regex", "value": "^(feishu|telegram|wechat|lark|slack)(:.+)?$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"cli",
|
|
{ "validator": "regex", "value": "^.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"identifier": "shell:allow-spawn",
|
|
"allow": [
|
|
{
|
|
"args": [
|
|
"server",
|
|
{ "validator": "regex", "value": "^(--port|--host|--config)=.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"adapters",
|
|
{ "validator": "regex", "value": "^(feishu|telegram|wechat|lark|slack)(:.+)?$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"cli",
|
|
{ "validator": "regex", "value": "^.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"identifier": "shell:allow-kill",
|
|
"allow": [
|
|
{
|
|
"args": [
|
|
"server",
|
|
{ "validator": "regex", "value": "^(--port|--host|--config)=.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"adapters",
|
|
{ "validator": "regex", "value": "^(feishu|telegram|wechat|lark|slack)(:.+)?$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
},
|
|
{
|
|
"args": [
|
|
"cli",
|
|
{ "validator": "regex", "value": "^.+$" }
|
|
],
|
|
"name": "binaries/claude-sidecar",
|
|
"sidecar": true
|
|
}
|
|
]
|
|
},
|
|
"dialog:allow-open",
|
|
"dialog:allow-save",
|
|
"notification:default",
|
|
"process:allow-exit",
|
|
"process:allow-restart",
|
|
"updater:default"
|
|
]
|
|
}
|