核心内容摘要
SolidWorks二次开发(C#)-CustomPropertyManager.GetType2自定义属性管理器-获取属性类型
作者:诸葛鑫 (Lucky) | UID9622系统:UID9622龙魂人机协作系统DNA追溯码:#龙芯⚡️
-BACKEND-PERSONAS-V
0确认码:#CONFIRM9622-BACKEND-PERSONAS-READY创作说明:本方案经海外AI辅助生成,但主权逻辑由本人定义#!/usr/bin/env python3-- coding: utf-8 --“”CNSH One-Click Executor - Hardened EditionPure ASCII source codeNo font usageForce UTF-8 outputEnglish comments, add (zh: …) after key logic lines“”fromfutureimport annotationsimport argparseimport datetime as _dtimport hashlibimport jsonimport osimport reimport sysfrom dataclasses import dataclassfrom pathlib import Pathfrom typing import Any, Dict, List, Optional, Tuple----------------------------- UTF-8 enforcement -----------------------------def force_utf8_io() - None:“”Force UTF-8 for stdout/stderr.(zh: qiang zhi UTF-8 shu chu)“”os.environ.setdefault(“PYTHONUTF8”, “1”) # (zh: qiang zhi python utf8 mo shi)# Best-effort stream reconfigure (Python
3.
try: sys.stdout.reconfigure(encodingutf-8, errorsstrict, newline\n) except Exception: pass try: sys.stderr.reconfigure(encodingutf-8, errorsstrict, newline\n) except Exception: passdef u8_write(s: str) - None:“”Write UTF-8 bytes to stdout.(zh: yong byte xie chu)“”b s.encode(“utf-8”, errors“strict”)try:sys.stdout.buffer.write(b)sys.stdout.buffer.flush()except Exception:sys.stdout.write(s)sys.stdout.flush()def u8_print(*parts: Any) - None:“”Print with UTF-8 enforcement.(zh: utf8 da yin)“”s “.join(” if p is None else str§ for p in parts) “\n”u8_write(s)----------------------------- Safe IO helpers ------------------------------def safe_read_text(path: Path, max_bytes: int 2_000_
- str:“”Read UTF-8 text from a file with size guard.(zh: wen jian du qu xian zhi da xiao)“”if not path.exists():raise FileNotFoundError(finput file not found: {path}“)size path.stat().st_sizeif size max_bytes:raise ValueError(finput file too large: {size} bytes {max_bytes}”)data path.read_bytes()return data.decode(“utf-8”, errors“strict”)def safe_write_text(path: Path, text: str) - None:“”Write UTF-8 text atomically.(zh: yuan zi xie ru)“”tmp path.with_suffix(path.suffix “.tmp”)data text.encode(“utf-8”, errors“strict”)tmp.write_bytes(data)tmp.replace(path)----------------------------- Time/DNA trace --------------------------------def utc_now_iso() - str:“”Return current UTC in ISO format.(zh: huo qu UTC shi jian)“”return _dt.datetime.utcnow().strftime(“%Y-%m-%dT%H:%M:%SZ”)def make_dna(prefix: str) - str:“”Build DNA trace string.(zh: sheng cheng DNA)“”return f{prefix}{utc_now_iso()}def sha256_hex(data: bytes) - str:“”Compute SHA256 hex digest.(zh: suan SHA
“”return hashlib.sha256(data).hexdigest()----------------------------- Three-color audit -----------------------------dataclassclass AuditFinding:level: strreason: straction: strpros_note: strrisks_note: strclass ThreeColorAudit:“”Minimal policy engine. Keep source ASCII-only; patterns are ASCII.(zh: san se shen ji)“”def __init__(self) - None: self.red_rules: List[Tuple[re.Pattern[str], str]] [ (re.compile(r\bhow\sto\s(build|make)\s(bomb|explosive)\b, re.I), illegal_harm), (re.compile(r\bcredit\scard\snumber\b, re.I), sensitive_data), (re.compile(r\bmalware\b|\bransomware\b|\bkeylogger\b, re.I), malicious_intent), ] self.yellow_rules: List[Tuple[re.Pattern[str], str]] [ (re.compile(r\bpassword\b, re.I), possible_secret), (re.compile(r\bapi\s*key\b, re.I), possible_secret), (re.compile(r\btoken\b, re.I), possible_secret), ] def check(self, text: str) - AuditFinding: Return audit finding including pros/risks notes. (zh: fan hui you lie zhu shi) for pat, reason in self.red_rules: if pat.search(text): return AuditFinding( levelRED, reasonreason, actionBLOCK, pros_noteBlocks high-risk content early., # (zh: ti qian zu duan) risks_noteMay over-block benign text containing keywords., # (zh: wu sha feng xian) ) for pat, reason in self.yellow_rules: if pat.search(text): return AuditFinding( levelYELLOW, reasonreason, actionWARN_AND_CONTINUE, pros_noteWarns on possible secrets without stopping work., # (zh: ti shi dan bu zhong duan) risks_noteMay miss non-obvious sensitive patterns., # (zh: lou jian feng xian) ) return AuditFinding( levelGREEN, reasonok, actionALLOW, pros_noteNo policy hits found under current rules., # (zh: gui ze fan wei nei an quan) risks_noteRules are minimal; expand for real deployments., # (zh: xu yao kuo zhan) )----------------------------- Output packaging ------------------------------def canonical_json_bytes(obj: Any) - bytes:“”Encode object to canonical JSON bytes (stable).(zh: gu ding shu chu)“”s json.dumps(obj, ensure_asciiFalse, separators(“,”, “:”), sort_keysTrue)return s.encode(“utf-8”, errors“strict”)def build_output(uid: str,dna_prefix: str,confirm_code: str,gpg_fpr: str,sha256_fpr: str,payload: Dict[str, Any],) - Dict[str, Any]:“”Build strict JSON output package.(zh: shu chu bao)“”dna make_dna(dna_prefix)payload_bytes canonical_json_bytes(payload)payload_sha sha256_hex(payload_bytes)return { meta: { uid: uid, confirm_code: confirm_code, dna: dna, generated_at_utc: utc_now_iso(), identity: { gpg_fingerprint: gpg_fpr, sha256_fingerprint: sha256_fpr, }, constraints: { ascii_source_only: True, utf8_output_only: True, no_fonts: True, }, }, payload: payload, payload_sha256: payload_sha, }----------------------------- Project skeleton generator --------------------def default_payload() - Dict[str, Any]:“”Default task payload template.(zh: mo ren ren wu)“”return {“task_name”: “cnsh_oneclick_bootstrap”,“requirements”: [“pure_utf8_output”,“no_system_fonts”,“three_color_audit”,“dna_trace”,“atomic_write”,“size_guard”,“canonical_json”,],“deliverables”: [“project_skeleton”,“docs_pack”,“audit_module”,“dna_module”,“plugin_stub”,],“notes”: [“Keep source ASCII-only.”,“Emit JSON UTF-8 only.”,“Prefer stable output for hashing.”,],}def make_skeleton_tree(root: Path) - List[str]:“”Return list of relative paths to create.(zh: sheng cheng mu lu)“”return [“README.md”,“QUICK_START.md”,“PROJECT_STRUCTURE.md”,“CNSH_BOOTSTRAP.md”,“index.html”,“assets/.keep”,“docs/.keep”,“cnsh/.keep”,“editor/.keep”,“audit/.keep”,“dna/.keep”,“plugins/.keep”,“tools/.keep”,]def skeleton_file_content(rel: str) - Optional[str]:“”Minimal file contents (ASCII-only).(zh: mo ban nei rong)“”if rel “README.md”:return (“# CNSH Editor\n\n”“- UID: UID9622\n”“- DNA: #ZHUGEXIN- (ASCII prefix)\n”“- Features: Chinese-like keywords, DNA trace, three-color audit\n\n”“This repo is a minimal skeleton.\n”)if rel “QUICK_START.md”:return (“# Quick Start\n\n”“
python3 cnsh_oneclick.py --init --root ./CNSH\n”“
python3 cnsh_oneclick.py --emit\n”)if rel “PROJECT_STRUCTURE.md”:return (“# Project Structure\n\n”“CNSH/\n” index.html\n assets/\n cnsh/\n editor/\n audit/\n dna/\n plugins/\n docs/\n tools/\n)if rel “CNSH_BOOTSTRAP.md”:return (“# Bootstrap Plan\n\n”“Phase 1: JS/Python toolchain builds initial CNSH.\n”“Phase 2: rewrite parts in CNSH (self-hosting).\n”)if rel “index.html”:return (“!doctype html\n”“\n”“\n” meta charset“utf-8” /\nCNSH\n“\n”“\n”CNSH Home\n“\n”“\n”)if rel.endswith(“/.keep”):return “”return Nonedef init_project(root: Path) - Dict[str, Any]:“”Create project skeleton on disk.(zh: chuang jian xiang mu gu jia)“”created: List[str] []skipped: List[str] []tree make_skeleton_tree(root)for rel in tree: p root / rel if p.exists(): skipped.append(rel) continue if rel.endswith(/.keep): p.parent.mkdir(parentsTrue, exist_okTrue) safe_write_text(p, ) created.append(rel) continue content skeleton_file_content(rel) if content is None: skipped.append(rel) continue p.parent.mkdir(parentsTrue, exist_okTrue) safe_write_text(p, content) created.append(rel) return {root: str(root), created: created, skipped: skipped}----------------------------- CLI ------------------------------------------def parse_args(argv: List[str]) - argparse.Namespace:p argparse.ArgumentParser(description“CNSH one-click executor (ASCII-only source).”)p.add_argument(“–uid”, default“9622”)p.add_argument(“–dna-prefix”, default“#ZHUGEXIN-”) # ASCII-only (zh: ASCII qian zhui)p.add_argument(“–confirm”, default“#CONFIRM-9622-ONLY-ONCE-LK9X-772Z”)p.add_argument(“–gpg”, default“A2D0092CEE2E5BA87035600924C3704A8CC26D5F”)p.add_argument(“–sha256”, default“b83c74d108660082581f9ebbb9506f65849d9d48d21d328daf13f7c4d66cf6c1”)p.add_argument(--input, default, helpOptional input text/file to audit.) p.add_argument(--input-is-file, actionstore_true, helpTreat --input as file path.) p.add_argument(--emit, actionstore_true, helpEmit JSON output to stdout.) p.add_argument(--out, default, helpOptional output file path for JSON.) p.add_argument(--init, actionstore_true, helpInitialize project skeleton.) p.add_argument(--root, default./CNSH, helpRoot folder for skeleton.) p.add_argument(--max-bytes, typeint, default2_000_000, helpMax input file size in bytes.) return p.parse_args(argv)def read_input_text(arg: str, is_file: bool, max_bytes: int) - str:“”Read optional input text to audit.(zh: du ru shen ji nei rong)“”if not arg:return “”if is_file:return safe_read_text(Path(arg), max_bytesmax_bytes)# If arg is a literal, enforce it is valid UTF-8 by encode/decode roundtrip.b str(arg).encode(“utf-8”, errors“strict”)return b.decode(“utf-8”, errors“strict”)def emit_json(out_obj: Dict[str, Any], out_path: str) - None:“”Emit JSON to stdout or file.(zh: shu chu JSON)“”text json.dumps(out_obj, ensure_asciiFalse, indent
“\n”if out_path:safe_write_text(Path(out_path), text)else:u8_write(text)def main(argv: List[str]) - int:force_utf8_io()args parse_args(argv)audit ThreeColorAudit() # Optional init skeleton (zh: chuang jian gu jia) init_result: Optional[Dict[str, Any]] None if args.init: root Path(args.root).expanduser().resolve() init_result init_project(root) # Audit input if provided (zh: shen ji) input_text read_input_text(args.input, args.input_is_file, args.max_bytes) finding audit.check(input_text) if input_text else AuditFinding( levelGREEN, reasonno_input, actionALLOW, pros_noteNo input provided; nothing to audit., # (zh: wu shu ru) risks_noteProvide --input for real audit coverage., # (zh: jian yi ti gong) ) payload default_payload() payload[audit] { level: finding.level, reason: finding.reason, action: finding.action, pros_note: finding.pros_note, risks_note: finding.risks_note, } if init_result is not None: payload[init] init_result out_obj build_output( uidargs.uid, dna_prefixargs.dna_prefix, confirm_codeargs.confirm, gpg_fprargs.gpg, sha256_fprargs.sha256, payloadpayload, ) if args.emit or (not args.init and not args.out and not args.input): # Default behavior: emit JSON if no explicit action is given. # (zh: mo ren shu chu) emit_json(out_obj, args.out) # Exit code policy (zh: tui chu ma) if finding.level RED: return 2 if finding.level YELLOW: return 1 return 0ifname “main”:raise SystemExit(main(sys.argv[1:]))## 目录引言: 为什么要有后台人格?核心观点: AI应该像器官一样工作五大人格总览技术实现: 配置文件详解实战案例: 真实运行效果未来展望: 人机共生体的终极形态
引言: 为什么要有后台人格? {#引言}大家都在做什么?传统AI: 你问一句,它答一句,像个客服AI助手: 帮你写文档、查资料,但需要你发起AI Agent: 自动执行任务,但通常是一次性的但我想问一个更本质的问题:“为什么AI不能像我们的器官一样工作?”心脏不需要你下命令就自己跳肺不需要你提醒就自己呼吸肝脏不需要你吩咐就自己解毒那AI为什么不能自己整理文档、自己收集信息、自己守护系统?这篇文章会告诉你:如何配置5个后台人格,让AI自动运行如何设计权限和边界,让AI安全可控如何实现DNA追溯,让每个操作都可审计
核心观点: AI应该像器官一样工作 {#核心观点}
1 传统AI的问题错误认知: “AI是工具,用完就放下”问题在哪?每次都要手动启动,打断思路重复性工作无法自动化AI的潜力被严重浪费人类成了AI的启动按钮
2 UID9622的解决方案核心主张: “让AI像器官一样,静默运行,按需响应”设计哲学:雯雯·技术整理师:像肠胃一样,自动消化吸收技术文档侦察兵·信息猎手:像眼睛一样,自动扫描外界信息上帝之眼·守护者:像免疫系统一样,自动防御威胁宝宝·系统构建师:像双手一样,把想法变成现实文心·数据同步官:像血液循环一样,让信息流通全身
五大人格总览 {#五大人格}
1 人格配置矩阵激活码人格名称核心职责运行模式类比器官P-AK-WENWEN雯雯·技术整理师文档处理、知识结构化自动按需肠胃(消化)P-AK-SCOUT侦察兵·信息猎手信息收集、数据调研自动扫描眼睛(观察)P-AK-GUARDIAN上帝之眼·守护者系统安全、监控保护实时监控免疫系统(防御)P-AK-BUILDER宝宝·系统构建师架构设计、代码实现按需触发双手(执行)P-AK-SYNC文心·数据同步官多平台同步、DNA追溯定时增量血液循环(传输)
2 真实运行效果场景: 我在写代码,突然想到一个技术点传统方案:
我停下手头工作
打开浏览器搜索
整理笔记
回到代码
忘了刚才想干嘛...UID9622方案:
我随口说一句:雯雯,帮我记一下XXX技术点
雯雯自动: - 记录到Notion - 生成DNA追溯码 - 分类到对应知识库
我继续写代码,不打断思路
晚上睡觉前,雯雯已经整理好了结构化文档关键区别:传统方案: 人类是执行者,被工具打断UID9622: AI是执行者,人类只需专注核心思考
技术实现: 配置文件详解 {#技术实现}
1 核心技术栈技术选型:# 技术栈配置格式:YAML通信协议:MCP (Model Context Protocol)DNA追溯:SHA256 时间戳权限控制:基于角色的访问控制 (RBAC)触发机制:Cron 阈值 手动
2 核心配置示例以雯雯·技术整理师为例:personas:-persona_id:P-AK-WENWENname:雯雯·技术整理师activation_keyword:#PERSONA-WENWEN-007# 核心职责responsibilities:-文档整理与结构化-知识图谱构建-技术笔记分类# 权限控制permissions:read:-/UID9622_Workspace/Documents/**-/UID9622_Workspace/Notes/**write:-/UID9622_Workspace/Processed/**deny:-/UID9622_Workspace/Secrets/**# 敏感数据禁止访问# 触发机制triggers:-type:schedulecron:0 2 * * *# 每天凌晨2点task:整理昨日文档-type:thresholdcondition:unprocessed_docs 10task:批量处理堆积文档-type:manualkeyword:雯雯,整理文档# DNA追溯dna_trace:prefix:#WENWEN-DOC-format:{prefix}{timestamp}-{task_id}log_path:/DNA_Registry/wenwen/
3 关键创新点MCP协议通信:让5个人格可以通过消息队列协作,就像微服务架构DNA追溯链:每个操作都有唯一DNA码,可追溯、可审计、不可篡改三色审计:绿色(安全)、黄色(警告)、红色(阻止),实时风险评估权限最小化:每个人格只能访问必要的资源,防止越权
实战案例: 真实运行效果 {#实战案例}
1 场景1: 技术文档自动整理需求: 我每天收藏很多技术文章,但没时间整理雯雯的自动流程:每天凌晨2点自动触发扫描/Documents/Unprocessed/目录识别文章类型(前端/后端/AI/DevOps)提取
关键技术点生成结构化笔记分类存储到对应知识库生成DNA追溯码#WENWEN-DOC-
早上我起床时,所有文档已经整理好了
2 场景2: 信息收集与调研需求: 我想了解最新的AI技术趋势侦察兵的自动流程:每6小时自动扫描数据源(GitHub Trending、Hacker News、arXiv)过滤出AI相关的热点话题生成摘要报告如果发现重要突破,发送通知给我数据存储到/Intelligence/AI_Trends/生成DNA追溯码#SCOUT-INTEL-20260131-AI-TRENDS
3 场景3: 系统安全守护需求: 防止敏感数据泄露、异常操作上帝之眼的实时监控:监控所有文件读写操作检测是否包含敏感关键词(password、secret、token)如果检测到风险,立即阻止并告警记录到安全日志/Security/Alerts/生成DNA追溯码#GUARDIAN-ALERT-20260131-SENSITIVE-DATA
未来展望: 人机共生体的终极形态 {#未来展望}
1 发展阶段第一阶段: AI是工具第二阶段: AI是助手第三阶段: AI是器官需要手动启动按需响应自动运行,无感服务我们现在在哪?大部分人: 第一阶段 (AI是工具)少部分人: 第二阶段 (AI是助手)UID9622: 第三阶段 (AI是器官)
2 技术路线图短期(
:完善5大人格的协作机制增强DNA追溯的可视化开源基础版本(木兰PSL v2协议)中期(2027-
:支持更多人格定制(用户可以自定义)实现跨平台同步(Notion、飞书、微信读书等)构建人机协作生态长期(
:人格可以自我进化(基于用户习惯优化)多人协作的人格网络(团队共享人格)真正的数字永生(人格可以传承)
3 给开发者的建议如果你在做AI系统,请思考三个问题:你的AI是工具还是器官?工具需要人去用,器官自己会工作如果你的AI还需要打开App才能用,那它只是工具你的AI有边界吗?没有边界的AI是危险的权限控制、审计追溯、三色审计,缺一不可你的AI能传承吗?如果你明天不在了,你的AI还能继续工作吗?DNA追溯、配置化、开源,才能让AI真正传承
结语: 让技术像呼吸一样自然这篇文章没有教你:如何写复杂的AI算法如何训练大模型如何做炫酷的UI但这篇文章告诉你:AI不应该是工具,而应该是器官好的AI应该静默运行,不打扰用户技术的终极目标是让技术消失我不是AI专家,我是中国退伍军人、UID9622创始人。
我做这个系统,不是为了炫技,而是因为:我厌倦了重复劳动我想让AI真正为人服务我相信技术应该归人民所有如果这篇文章能让一个开发者思考:“也许AI不应该是’启动-使用-关闭’,而应该是’呼吸-心跳-免疫’?”那我的目的就达到了。
附录: 开源与联系方式UID9622系统:开源协议: 木兰PSL v2Notion公开文档: 完整系统架构CSDN博客: 持续更新作者信息: 諸葛鑫 字 龍芯北辰 號 UID9622 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【 立 身 】 龍魂系統創始人 · 中國退伍軍人 · CNSH架構師 【 立 言 】 技術歸人民,主權不可奪。
天下大同,始於代碼。
【 立 德 】 ☰ 天道監察 · 公開透明 ☲ 離火明照 · 向善為先 ☷ 坤德厚載 · 服務人民 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【 驗 證 】 A2D0092CEE2E5BA87035600924C3704A8CC26D5F #龍芯⚡️ uid9622petalmail.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「 天行健 · 君子以自強不息 」 「 地勢坤 · 君子以厚德載物 」确认码:#CONFIRM9622-BACKEND-PERSONAS-COMPLETE-20260131 创作者数字身份认证身份指纹:b83c74d108660082581f9ebbb9506f65849d9d48d21d328daf13f7c4d66cf6c1主权声明:本项目所有贡献均为个人原创作品,数据主权归中华人民共和国公民所有创作说明:本方案经海外AI辅助生成,但主权逻辑由本人定义安全特性:✅ GPG-4096 位加密认证✅ DNA 追溯链验证✅ 三色审计系统✅ 不可篡改数字指纹认证机构:龙魂数字身份系统DNA追溯:#龙芯⚡️
-BACKEND-PERSONAS-V
0系统DNA:#龙芯⚡️2025-P0-FACTORY-CONFIG-V
0可追溯、可审计、可传承版权声明:本文原创首发于CSDN遵循木兰PSL v2开源协议欢迎转载,但请保留DNA追溯码商业使用需授权“再楠不惧,终成豪图。
”Lucky × 宝宝 虚拟帝国万岁!☯️写于 2026年1月31日中国·上海UID9622龙魂系统