Private Git-backed, rollback-safe sync for AI coding resources across Codex, Claude Code, Cursor, Windsurf and OpenCode. 私有、安全、可回滚的 AI Coding 资源同步工具。
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 25 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
add_external_skill
-
add_mcp_server
-
asset_action_apply
-
asset_action_plan
-
asset_batch_apply
-
asset_batch_plan
-
asset_content_diff
-
asset_inventory
-
asset_reconcile_context
-
cc_port_doctor
-
cc_port_status
-
check_items
-
collect_resource
-
export_plugin
-
import_local_resource_tool
-
operation_detail
-
plan_resource_install
-
publish_local_skill
-
registry_repair_apply
-
registry_repair_plan
-
remove_skill
-
set_skill_visibility
-
skill_status
-
sync_skills
-
update_skill
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit b7098c2 · analyzer v33 · 1w ago
skills & prompt files 4
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 173
filesystem 96
- fs (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/mcp_roundtrip.py :10
import shutil - fs (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/preflight.py :14
from pathlib import Path - fs (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/test_real_claude_marketplace.py :17
from pathlib import Path - fs (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/test_remaining_scope_live.py :8
from pathlib import Path - fs (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/validate_evidence.py :12
from pathlib import Path, PureWindowsPath - fs Ling-ye-cc-port-b7098c2/src/cc_port/agent/contracts.py :15
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/agent_providers.py :5
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/claude_plugins.py :14
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/config.py :12
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/ownership.py :9
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/platforms.py :17
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/registry.py :9
from pathlib import Path
show 28 more
- fs Ling-ye-cc-port-b7098c2/src/cc_port/core/resource_detection.py :8
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/resource_files.py :5
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/core/validator.py :7
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/infrastructure/git_ops.py :12
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/cli.py :6
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/desktop_api.py :17
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :13
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/ai_integration.py :16
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/approval.py :22
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/asset_reconcile.py :16
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/asset_sync.py :10
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/claude_plugin_installer.py :13
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/env_manager.py :10
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/install_planner.py :6
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/installer.py :5
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/linker.py :11
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/local_path_probe.py :9
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/local_resources.py :7
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/local_transaction.py :7
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/mcp_installer.py :20
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/operation_history.py :7
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/operation_state.py :10
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/plugin_management.py :9
import shutil - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/publisher.py :10
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/registry_audit.py :11
from pathlib import Path, PurePosixPath - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/resource_binding.py :7
from pathlib import Path - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/resource_commit.py :8
from pathlib import Path, PurePosixPath - fs Ling-ye-cc-port-b7098c2/src/cc_port/services/resource_discovery.py :7
from pathlib import Path
56 more not shown — this panel samples each group; the count above is the real total.
shell / exec 23
- shell (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/preflight.py :11
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/test_real_claude_marketplace.py :14
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/test_remaining_scope_live.py :6
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/.agents/skills/cc-port-live-e2e/scripts/validate_evidence.py :10
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/infrastructure/git_ops.py :13
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/ai_integration.py :18
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/asset_sync.py :11
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/claude_plugin_installer.py :14
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/doctor.py :6
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/linker.py :66
import subprocess - shell Ling-ye-cc-port-b7098c2/src/cc_port/services/plugin_management.py :10
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_agent_smoke.py :4
import subprocess
show 11 more
- shell (weak) Ling-ye-cc-port-b7098c2/tests/test_asset_sync.py :6
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_build_agent.py :4
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_git_ops.py :4
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_project_identity.py :4
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_registry_audit.py :4
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_resource_commit.py :4
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_resource_sync.py :5
import subprocess - shell (weak) Ling-ye-cc-port-b7098c2/tests/test_state_lock.py :4
import subprocess - shell Ling-ye-cc-port-b7098c2/tools/packaging/agent/build_agent.py :8
import subprocess - shell Ling-ye-cc-port-b7098c2/tools/packaging/agent/smoke_agent.py :8
import subprocess - shell Ling-ye-cc-port-b7098c2/tools/packaging/sidecar/build_sidecar.py :30
import subprocess
network 9
- net Ling-ye-cc-port-b7098c2/src/cc_port/core/models.py :7
from urllib.parse import urlparse - net Ling-ye-cc-port-b7098c2/src/cc_port/core/resource_detection.py :10
from urllib.parse import quote, urlparse - net Ling-ye-cc-port-b7098c2/src/cc_port/infrastructure/git_ops.py :19
from urllib.parse import urlparse, urlunparse - net Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/cli.py :3932
import urllib.parse - net Ling-ye-cc-port-b7098c2/src/cc_port/services/claude_plugin_installer.py :18
from urllib.parse import urlparse - net Ling-ye-cc-port-b7098c2/src/cc_port/services/plugin_management.py :15
from urllib.parse import urlparse - net Ling-ye-cc-port-b7098c2/src/cc_port/services/resource_binding.py :8
from urllib.parse import unquote, urlparse - net Ling-ye-cc-port-b7098c2/src/cc_port/services/resource_repo.py :7
from urllib.parse import urlparse - net (weak) Ling-ye-cc-port-b7098c2/tests/test_documentation_contract.py :5
from urllib.parse import unquote
tool registrations 25
- cc_port_status Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :650
- cc_port_doctor Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :671
- asset_inventory Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :818
- asset_reconcile_context Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :857
- asset_content_diff Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :902
- asset_action_plan Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :923
- asset_action_apply Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :977
- asset_batch_plan Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1058
- asset_batch_apply Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1093
- registry_repair_plan Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1231
- registry_repair_apply Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1254
- operation_detail Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1383
show 13 more
- publish_local_skill Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1398
- set_skill_visibility Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1476
- add_external_skill Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1495
- collect_resource Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1564
- import_local_resource_tool Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1598
- export_plugin Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1643
- add_mcp_server Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1657
- check_items Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1722
- remove_skill Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1755
- sync_skills Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1779
- plan_resource_install Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1833
- update_skill Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1887
- skill_status Ling-ye-cc-port-b7098c2/src/cc_port/interfaces/mcp_server.py :1915
declared dependencies 20
- fastmcp@>=3.4,<4
- typer@>=0.12
- rich@>=13.7
- pydantic@>=2.6
- PyYAML@>=6.0
- PyGithub@>=2.3
- python-frontmatter@>=1.1
- tomli@>=2.0; python_version <
- pytest@>=8.0
- pytest-xdist@==3.8.0
- ruff@>=0.5
- pyinstaller@>=6.0
show 8 more
- Pillow@>=10.0
- tauri-build@2
- serde@1
- serde_json@1
- tauri@2
- tauri-plugin-clipboard-manager@2
- tauri-plugin-dialog@=2.7.2
- tauri-plugin-opener@2