-
Notifications
You must be signed in to change notification settings - Fork 0
feat: add local VL model directory support for PaddleOCR native backend #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
3001aa5
e4cae4c
aeb3182
ee868a5
ef4545e
dff6c28
5d6d5d0
61cf6e3
2e1c0d1
7a6f100
19847d8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,244 @@ | ||
| { | ||
| "version": "1.0.0", | ||
| "lastScanned": 1772269310504, | ||
| "projectRoot": "/Users/hubo/.superset/worktrees/screentranslate/featadd-translate-engine", | ||
| "techStack": { | ||
| "languages": [], | ||
| "frameworks": [], | ||
| "packageManager": null, | ||
| "runtime": null | ||
| }, | ||
| "build": { | ||
| "buildCommand": null, | ||
| "testCommand": null, | ||
| "lintCommand": null, | ||
| "devCommand": null, | ||
| "scripts": {} | ||
| }, | ||
| "conventions": { | ||
| "namingStyle": null, | ||
| "importStyle": null, | ||
| "testPattern": null, | ||
| "fileOrganization": null | ||
| }, | ||
| "structure": { | ||
| "isMonorepo": false, | ||
| "workspaces": [], | ||
| "mainDirectories": [ | ||
| "docs" | ||
| ], | ||
| "gitBranches": { | ||
| "defaultBranch": "main", | ||
| "branchingStrategy": null | ||
| } | ||
| }, | ||
| "customNotes": [], | ||
| "directoryMap": { | ||
| "Build": { | ||
| "path": "Build", | ||
| "purpose": "Build output", | ||
| "fileCount": 1, | ||
| "lastAccessed": 1772269310491, | ||
| "keyFiles": [] | ||
| }, | ||
| "ScreenTranslate": { | ||
| "path": "ScreenTranslate", | ||
| "purpose": null, | ||
| "fileCount": 0, | ||
| "lastAccessed": 1772269310492, | ||
| "keyFiles": [] | ||
| }, | ||
| "ScreenTranslate.xcodeproj": { | ||
| "path": "ScreenTranslate.xcodeproj", | ||
| "purpose": null, | ||
| "fileCount": 1, | ||
| "lastAccessed": 1772269310492, | ||
| "keyFiles": [ | ||
| "project.pbxproj" | ||
| ] | ||
| }, | ||
| "ScreenTranslateTests": { | ||
| "path": "ScreenTranslateTests", | ||
| "purpose": null, | ||
| "fileCount": 5, | ||
| "lastAccessed": 1772269310493, | ||
| "keyFiles": [ | ||
| "KeyboardShortcutTests.swift", | ||
| "README.md", | ||
| "ScreenTranslateErrorTests.swift", | ||
| "ShortcutRecordingTypeTests.swift", | ||
| "TextTranslationErrorTests.swift" | ||
| ] | ||
| }, | ||
| "docs": { | ||
| "path": "docs", | ||
| "purpose": "Documentation", | ||
| "fileCount": 6, | ||
| "lastAccessed": 1772269310493, | ||
| "keyFiles": [ | ||
| "README.md", | ||
| "api-reference.md", | ||
| "architecture.md", | ||
| "components.md", | ||
| "developer-guide.md" | ||
| ] | ||
| }, | ||
| "skills": { | ||
| "path": "skills", | ||
| "purpose": null, | ||
| "fileCount": 0, | ||
| "lastAccessed": 1772269310494, | ||
| "keyFiles": [] | ||
| }, | ||
| "tasks": { | ||
| "path": "tasks", | ||
| "purpose": null, | ||
| "fileCount": 6, | ||
| "lastAccessed": 1772269310494, | ||
| "keyFiles": [ | ||
| "prd-.md", | ||
| "prd-macos-screentranslate.md", | ||
| "prd-screencoder-kiss-translator.md", | ||
| "prd-screencoder.md", | ||
| "prd-text-translation.json" | ||
| ] | ||
| }, | ||
| "ScreenTranslate/App": { | ||
| "path": "ScreenTranslate/App", | ||
| "purpose": "Application code", | ||
| "fileCount": 2, | ||
| "lastAccessed": 1772269310495, | ||
| "keyFiles": [ | ||
| "AppDelegate.swift", | ||
| "ScreenTranslateApp.swift" | ||
| ] | ||
| }, | ||
| "ScreenTranslate/Models": { | ||
| "path": "ScreenTranslate/Models", | ||
| "purpose": "Data models", | ||
| "fileCount": 23, | ||
| "lastAccessed": 1772269310495, | ||
| "keyFiles": [ | ||
| "Annotation.swift", | ||
| "AppLanguage.swift", | ||
| "AppSettings.swift" | ||
| ] | ||
| }, | ||
| "ScreenTranslate/Services": { | ||
| "path": "ScreenTranslate/Services", | ||
| "purpose": "Business logic services", | ||
| "fileCount": 26, | ||
| "lastAccessed": 1772269310495, | ||
| "keyFiles": [ | ||
| "AccessibilityPermissionChecker.swift", | ||
| "AppleTranslationProvider.swift", | ||
| "ClaudeVLMProvider.swift" | ||
| ] | ||
| } | ||
| }, | ||
| "hotPaths": [ | ||
| { | ||
| "path": "ScreenTranslate/Services/PaddleOCREngine.swift", | ||
| "accessCount": 17, | ||
| "lastAccessed": 1772277198204, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Services/Security/KeychainService.swift", | ||
| "accessCount": 14, | ||
| "lastAccessed": 1772277575721, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Models/AppSettings.swift", | ||
| "accessCount": 13, | ||
| "lastAccessed": 1772277135092, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Resources/en.lproj/Localizable.strings", | ||
| "accessCount": 6, | ||
| "lastAccessed": 1772277251555, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Services/PaddleOCRVLMProvider.swift", | ||
| "accessCount": 6, | ||
| "lastAccessed": 1772277354512, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Features/Settings/SettingsViewModel.swift", | ||
| "accessCount": 5, | ||
| "lastAccessed": 1772277092578, | ||
| "type": "directory" | ||
| }, | ||
|
Comment on lines
+153
to
+175
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
部分文件路径被标记为
这是 🤖 Prompt for AI Agents |
||
| { | ||
| "path": "ScreenTranslate/Resources", | ||
| "accessCount": 4, | ||
| "lastAccessed": 1772271181502, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Features/Settings/EngineSettingsTab.swift", | ||
| "accessCount": 4, | ||
| "lastAccessed": 1772274724758, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Resources/zh-Hans.lproj/Localizable.strings", | ||
| "accessCount": 4, | ||
| "lastAccessed": 1772277283269, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Features/TranslationFlow/TranslationFlowController.swift", | ||
| "accessCount": 3, | ||
| "lastAccessed": 1772270086752, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate", | ||
| "accessCount": 3, | ||
| "lastAccessed": 1772271133277, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Features/Capture/ScreenDetector.swift", | ||
| "accessCount": 3, | ||
| "lastAccessed": 1772277067534, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Features/Capture/CaptureManager.swift", | ||
| "accessCount": 2, | ||
| "lastAccessed": 1772277030873, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "", | ||
| "accessCount": 1, | ||
| "lastAccessed": 1772269949125, | ||
| "type": "directory" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Errors/ScreenTranslateError.swift", | ||
| "accessCount": 1, | ||
| "lastAccessed": 1772269960584, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Models/VLMProviderType.swift", | ||
| "accessCount": 1, | ||
| "lastAccessed": 1772269960585, | ||
| "type": "file" | ||
| }, | ||
| { | ||
| "path": "ScreenTranslate/Services/ScreenCoderEngine.swift", | ||
| "accessCount": 1, | ||
| "lastAccessed": 1772270035460, | ||
| "type": "file" | ||
| } | ||
| ], | ||
| "userDirectives": [] | ||
| } | ||
|
Comment on lines
+1
to
+244
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check if .gitignore exists and contains .omd rules
echo "=== Checking .gitignore ==="
if [ -f .gitignore ]; then
echo ".gitignore exists. Checking for .omd rules:"
grep -n "\.omd\|omd" .gitignore || echo "No .omd rules found"
else
echo ".gitignore does not exist"
fi
echo -e "\n=== Checking if .omd directory exists ==="
if [ -d .omd ]; then
echo ".omd directory exists. Contents:"
find .omd -type f | head -20
else
echo ".omd directory does not exist"
fi
echo -e "\n=== Checking file details ==="
if [ -f .omd/project-memory.json ]; then
echo ".omd/project-memory.json exists"
wc -l .omd/project-memory.json
echo -e "\nFirst 10 lines:"
head -10 .omd/project-memory.json
fiRepository: hubo1989/ScreenTranslate Length of output: 687 🏁 Script executed: #!/bin/bash
# List all top-level files to see what's actually in the repo
echo "=== Top-level files/directories ==="
ls -la | head -20
echo -e "\n=== Check git status if in a repo ==="
if [ -d .git ]; then
echo "Repository found. Checking git status:"
git status --short | head -20
fiRepository: hubo1989/ScreenTranslate Length of output: 1355 🏁 Script executed: #!/bin/bash
# Check if .omd files are staged or tracked in git
echo "=== Check if .omd files are tracked/staged in git ==="
git ls-files .omd 2>/dev/null || echo "No .omd files tracked in git"
echo -e "\n=== Check git status for .omd directory ==="
git status .omd 2>/dev/null || echo "Not in git tracking"
echo -e "\n=== Check .gitignore content ==="
cat .gitignoreRepository: hubo1989/ScreenTranslate Length of output: 1409 不应将
建议将 # Development tools (Claude Code specific)
.claude/
.specify/
+ .omd/
.ralph-tui/🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| { | ||
| "session_id": "0c203f54-c10d-4417-8115-005c18e9036b", | ||
| "ended_at": "2026-02-28T09:01:44.054Z", | ||
| "reason": "other", | ||
| "agents_spawned": 0, | ||
| "agents_completed": 0, | ||
| "modes_used": [] | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
硬编码的本地路径泄露了开发者环境信息。
projectRoot包含完整的本地用户目录路径/Users/hubo/.superset/worktrees/...,这属于敏感的开发环境信息,不应出现在公开仓库中。🤖 Prompt for AI Agents