ఫీచర్లు
తనిఖీ చేయడం, సరిచేయడం
ఈ పేజీ ఇంగ్లీష్ నుంచి యంత్రం ద్వారా అనువదించబడింది. దిద్దుబాట్లకు స్వాగతం. ఈ పేజీని GitHub లో సవరించండి
ccam doctor మీ ccam ఇన్స్టాలేషన్ను తనిఖీ చేస్తుంది: Claude Code బైనరీ, ప్రతి ఖాతా ఫోల్డర్, లాగిన్, షేర్ లింక్లు, షేర్ చేసిన MCP సర్వర్లు, వినియోగ ఎండ్పాయింట్, మీ షార్ట్కట్ కమాండ్లు. ccam doctor --fix డేటా కోల్పోకుండా చేయగలిగిన వాటిని సరిచేస్తుంది, తాను భర్తీ చేసే ఏ ఫైల్నైనా ముందుగా బ్యాకప్ ఫోల్డర్కు తరలిస్తుంది. ccam <name> షేర్ లింక్ సమస్యతో ఆగినప్పుడు, మీరు ఫైళ్లను చేతితో పునరుద్ధరించిన తర్వాత, లేదా Claude Code అప్డేట్ తర్వాత దీన్ని రన్ చేయండి.
వినియోగం
ccam doctor # check everything, change nothing
ccam doctor --fix # check, then repair what is safe to repair
ccam --dry-run doctor --fix # report only: what --fix would repairప్రతి ఫలితం ఒక గుర్తుతో ఉన్న ఒక లైన్: ✓ సరే, · సమాచారం, ! హెచ్చరిక, ✗ ఎర్రర్. ఖాతా ఫలితాలు ఖాతా పేరుతో మొదలవుతాయి.
$ ccam doctor
✓ Claude Code 2.1.302 (Claude Code) (/home/me/.local/bin/claude)
! personal: folder permissions are 755 (should be 0700)
! personal: .credentials.json permissions are 644 (should be 0600)
✓ personal: login valid (me@example.com)
✗ personal: /home/me/.local/share/ccam/profiles/personal/settings.json: set to shared but is a real file, not a link
· personal: unknown entries (Claude Code layout may have changed): newthing
! work: not logged in → `ccam login work`
✓ work: share links OK
! missing shortcuts in /home/me/.local/bin: ccp
`ccam doctor --fix` repairs what it can.--fix తో, సరిచేయబడిన ప్రతి ఫలితం → fixed తో ముగుస్తుంది:
$ ccam doctor --fix
✓ Claude Code 2.1.302 (Claude Code) (/home/me/.local/bin/claude)
! personal: folder permissions are 755 (should be 0700) → fixed
! personal: .credentials.json permissions are 644 (should be 0600) → fixed
✓ personal: login valid (me@example.com)
✗ personal: /home/me/.local/share/ccam/profiles/personal/settings.json: set to shared but is a real file, not a link → fixed
· personal: unknown entries (Claude Code layout may have changed): newthing
! work: not logged in → `ccam login work`
✓ work: share links OK
! missing shortcuts in /home/me/.local/bin: ccp → fixedఆప్షన్లు
| ఆప్షన్ | ఏమి చేస్తుంది | డిఫాల్ట్ |
|---|---|---|
--fix |
సురక్షితంగా సరిచేయగలిగిన వాటిని సరిచేస్తుంది (మారిన ఫైళ్లు బ్యాకప్ అవుతాయి) | ఆఫ్ |
--dry-run (గ్లోబల్) |
ప్రతి తనిఖీని రన్ చేస్తుంది కానీ --fix ఉన్నా ఏదీ సరిచేయదు |
ఆఫ్ |
ccam doctor ఆర్గ్యుమెంట్లు తీసుకోదు. ఇది --dry-run ను పాటిస్తుంది: ccam --dry-run doctor --fix ccam doctor లాంటి ఫలితాలనే ప్రింట్ చేస్తుంది, ఏదీ మార్చదు.
కనీసం ఒక ✗ ఫలితం సరిచేయబడకుండా మిగిలితే ఎగ్జిట్ కోడ్ 1, లేకపోతే 0. హెచ్చరికలు, సమాచారం ఎప్పుడూ రన్ను విఫలం చేయవు. --fix లేకుండా రన్ విఫలమైనప్పుడు, ccam ఒక ఖాళీ లైన్తో, `ccam doctor --fix` repairs what it can. తో ముగుస్తుంది. లోడ్ చేయలేని కాన్ఫిగ్ కూడా 1 తో, ఒక ccam: ఎర్రర్తో ముగుస్తుంది.
ఇది ఎలా పనిచేస్తుంది
internal/cli/doctor.go ~/.config/ccam/config.toml ను లోడ్ చేసి internal/doctor/doctor.go లోని doctor.Run ను పిలుస్తుంది, అది తనిఖీలను ఒక స్థిరమైన క్రమంలో రన్ చేసి ఫలితాలను తిరిగి ఇస్తుంది. --fix Options.Fix గా పంపబడుతుంది, డ్రై రన్లో అది false గా సెట్ అవుతుంది.
మధ్య భాగం ప్రతి ఖాతాకు ఒకసారి రన్ అవుతుంది. తనిఖీలు, ప్రతిదానికి --fix ఏమి చేస్తుందో:
- Claude Code వెర్షన్ (
checkClaude). లాంచర్ చేసే విధంగానేclaudeబైనరీని కనుగొనిclaude --versionను రన్ చేస్తుంది. వెర్షన్2.1.302తో, అంటే ccam ఫోల్డర్ లేఅవుట్ను ధృవీకరించిన వెర్షన్తో (doctor.LayoutVersion), మొదలు కాకపోతే, అది· ccam was verified against the folder layout of Claude Code 2.1.302. Any 'unknown entries' below may mean the layout changedను జోడిస్తుంది. బైనరీ లేకపోవడం లేదా--versionవిఫలమవడం ఎర్రర్. సరిచేయడం లేదు. - ఎన్విరాన్మెంట్లో క్రెడెన్షియల్స్ (
checkAuthEnv).CLAUDE_CODE_OAUTH_TOKEN,ANTHROPIC_API_KEYలేదాANTHROPIC_AUTH_TOKENసెట్ అయి ఉంటే హెచ్చరిస్తుంది: ఆ షెల్ నుంచి ప్రారంభించిన ప్రతి ఖాతా దాన్ని వారసత్వంగా పొందుతుంది, Claude Code ఖాతా సొంత లాగిన్ కంటే దానికే ప్రాధాన్యం ఇస్తుంది. సరిచేయడం లేదు; దాన్ని మీరే అన్సెట్ చేయండి. - ఫోల్డర్ (
checkProfile). ఖాతా ఫోల్డర్ లేకపోవడం ఎర్రర్, అది ఆ ఖాతా తనిఖీలను ముగిస్తుంది. గ్రూప్ లేదా ఇతర బిట్లు ఏవైనా సెట్ అయిన అనుమతులు హెచ్చరిక;--fixchmod 0700ను రన్ చేస్తుంది. - లాగిన్ ఫైల్ (
checkCredentials)..credentials.jsonlstatతో తనిఖీ చేయబడుతుంది. సింలింక్ ఎర్రర్, ఎందుకంటే ప్రతి ఖాతాకు సొంత టోకెన్ ఉండాలి, దాన్ని సరిచేయదు.0600కాని మోడ్ హెచ్చరిక;--fixchmod 0600ను రన్ చేస్తుంది. ఆపై లాగిన్ చదవబడుతుంది (macOS లో ముందుగా Keychain నుంచి). లాగిన్ లేకపోవడంccam login <name>ను సూచించే హెచ్చరిక. గడువు ముగిసిన రిఫ్రెష్ టోకెన్login expiredఎర్రర్; గడువు ముగిసిన యాక్సెస్ టోకెన్ కేవలం సమాచారం, ఎందుకంటే Claude Code తదుపరి ప్రారంభంలో దాన్ని పునరుద్ధరిస్తుంది. వీటిలో ఏదీ సరిచేయబడదు. - షేర్ లింక్లు (
share.Check).lstat,readlinkను మాత్రమే ఉపయోగించి,share.Layoutలోని ప్రతి పాత్ను ఖాతా షేర్ సెట్టింగ్లతో పోలుస్తుంది. ఇది నాలుగు రకాలను నివేదిస్తుంది: లేని లింక్, వేరే చోటికి చూపే లింక్, లింక్ ఉండాల్సిన చోట అసలు ఫైల్, ఇప్పుడు లోకల్ అయిన అంశం కోసం మిగిలిపోయిన లింక్. లేని లింక్ హెచ్చరిక, మిగతావి ఎర్రర్లు. - తెలియని ఎంట్రీలు (
checkUnknownEntries). ccam కు తెలియని (share.Known) ఖాతా ఫోల్డర్లోని టాప్-లెవెల్ పేర్లను, Claude Code లేఅవుట్ మారిందనే సూచనగా జాబితా చేస్తుంది. కేవలం సమాచారం. - ప్లగిన్ పాత్లు (
checkPlugins). ప్లగిన్ రిజిస్ట్రీలు (installed_plugins.json,known_marketplaces.json) పూర్తి పాత్లను నిల్వ చేస్తాయి. ప్రతి గ్రూప్plugins/లో, ఒక ఖాతా ఫోల్డర్ ద్వారా వెళ్లే పాత్లు ఆ ఖాతా తీసివేయబడినప్పుడు లేదా పేరు మారినప్పుడు పాడవుతాయి.--fixవాటినిprofile.RewritePluginPathsతో, రిజిస్ట్రీ ఫైల్ యొక్క అటామిక్ రైట్తో, గ్రూప్ ఫోల్డర్కు మళ్లీ రాస్తుంది. - MCP సర్వర్లు (
checkMCP). ప్రతి గ్రూప్mcp.jsonను ఒకసారి లోడ్ చేస్తుంది. చదవలేని ఫైల్ ఎర్రర్;mcp.Validateలో విఫలమైన సర్వర్ హెచ్చరిక. సరిచేయడం లేదు. - వినియోగ రెస్పాన్స్ ఫార్మాట్ (
checkUsageFormat). కాష్ లేకుండా, సాధారణ 3 సెకన్ల పరిమితితో, ఒక ఖాతా సమాధానం ఇచ్చే వరకు ఒకదాని తర్వాత ఒకటి వినియోగ ఎండ్పాయింట్ను అడుగుతుంది. రెస్పాన్స్ ఇకపై పార్స్ కాకపోతే,ccam usageస్టేటస్ లైన్ కాష్కు మారుతుందని హెచ్చరిస్తుంది. నెట్వర్క్ను ఉపయోగించే ఏకైక తనిఖీ ఇదే. - షార్ట్కట్లు (
checkShims). ఒక ఖాతాకు షార్ట్కట్ ఉన్నప్పుడు మాత్రమే.~/.local/binలో లేని లింక్లు హెచ్చరిక;--fixshim.Installను పిలుస్తుంది, అది లేని లింక్లను మాత్రమే సృష్టిస్తుంది, ఇతర ఫైళ్లను ఎప్పుడూ ముట్టుకోదు.PATHలో లేని bin ఫోల్డర్ హెచ్చరిక, దాన్ని సరిచేయదు.
షేర్ లింక్లను సరిచేయడం
ప్రారంభ మార్గం లేని లింక్ను అక్కడికక్కడే సృష్టిస్తుంది, కానీ డేటా కోల్పోయే అవకాశం ఉన్న దేనికైనా ఆగి ఇక్కడికి సూచిస్తుంది:
$ ccam work
ccam: stopped because of share link problems:
/home/me/.local/share/ccam/profiles/work/CLAUDE.md: set to shared but is a real file, not a link
Repair them with `ccam doctor --fix`, then run againఏ షేర్ లింక్ సమస్యకైనా, --fix ఖాతా షేర్ సెట్టింగ్లను ప్రస్తుత స్థితిగా, లక్ష్య స్థితిగా రెండింటిగా ఇచ్చి share.Build ను పిలుస్తుంది, ఆపై Plan.Apply. Build ప్రతి దశను డిస్క్లో ఉన్నదాని నుంచి మళ్లీ తయారు చేస్తుంది, ccam share ఉపయోగించే అదే ప్రణాళిక, కాబట్టి సరిచేయడం షేరింగ్ ఆన్ చేసే అవే నియమాలను పాటిస్తుంది.
ఇక్కడ settings.json ఒక అసలు ఫైల్. గ్రూప్లో ఇప్పటికే వేరే settings.json ఉంది కాబట్టి, ఘర్షణ తన డిఫాల్ట్ ఎంపిక KeepGroup ను తీసుకుంటుంది, కాబట్టి గ్రూప్ కాపీ ఉంటుంది. ఖాతా ఫైల్ ఖాతా ఫోల్డర్లోని .ccam-backup/<time>/settings.json కు తరలుతుంది, os.Symlink పాత్ను గ్రూప్కు లింక్ చేస్తుంది. ఇతర సందర్భాలు:
- గ్రూప్లో ఇంకా కాపీ లేకపోతే, ఖాతా ఫైల్ గ్రూప్లోకి తరలి దాని మొదటి కంటెంట్ అవుతుంది.
- ఫోల్డర్ అయితే, గ్రూప్లో లేని ఫైళ్లు గ్రూప్లోకి తరలుతాయి; మిగతావి బ్యాకప్కు వెళ్తాయి.
history.jsonlకు, డిఫాల్ట్merge by line: గ్రూప్ లైన్లు, ఆపై మీ కొత్తవి. గ్రూప్ యొక్క మునుపటి కాపీ.ccam-backup/<time>/group/లో సేవ్ అవుతుంది.- మరో గ్రూప్కు ఉన్న లింక్ భర్తీ చేయబడుతుంది. ccam బయట ఉన్న ఫోల్డర్కు ఉన్న లింక్ బ్యాకప్కు వెళ్తుంది, గ్రూప్ ఖాళీగా ఉంటే దాని కంటెంట్ గ్రూప్కు మొదటి కంటెంట్ అవుతుంది.
- ఇప్పుడు లోకల్ అయిన అంశం కోసం మిగిలిన లింక్ తీసివేయబడుతుంది, ఖాతాకు గ్రూప్ కంటెంట్ కాపీ లభిస్తుంది.
లింక్లను తీసివేయడం తప్ప, ప్రతి దశ డేటాను గ్రూప్లోకి లేదా బ్యాకప్ ఫోల్డర్లోకి తరలిస్తుంది. ఏదీ తొలగించబడదు.
భద్రత, ప్రత్యేక సందర్భాలు
- సాధారణ
ccam doctorఎప్పుడూ ఏదీ మార్చదు. స్క్రిప్ట్లలో నిశ్చింతగా ఉండటానికి--fixతో--dry-runను ఉపయోగించండి. - ఖాతా రన్ అవుతుందో లేదో
doctor --fixతనిఖీ చేయదు. సెషన్ ఆ ఫైళ్లలో రాస్తూనే ఉంటుంది కాబట్టి, ఒక ఖాతా షేర్ లింక్లను సరిచేసే ముందు దాని Claude Code నుంచి నిష్క్రమించండి. - షేర్ సరిచేయడం విఫలమైతే, ccam ఆ ఖాతాకు
could not repair share links: <error>అని నివేదించి, దాని తెలియని ఎంట్రీల తనిఖీని దాటవేస్తుంది. ఇతర ఖాతాలు ఇంకా తనిఖీ చేయబడతాయి. ccam shareమధ్యలో విఫలమైతే, అది ముందుగా లక్ష్య సెట్టింగ్లను సేవ్ చేసి,ccam doctor --fixతో పూర్తి చేయమని చెబుతుంది.- సింలింక్ అయిన
.credentials.json, గడువు ముగిసిన లాగిన్, ఎన్విరాన్మెంట్ క్రెడెన్షియల్స్ నివేదించబడతాయి కానీ ఎప్పుడూ మార్చబడవు. - ప్లగిన్ రిజిస్ట్రీ మార్పులు అటామిక్గా రాయబడతాయి కానీ
.ccam-backup/కు కాపీ కావు.