AI 社区治理 (governance)
Headless 命令 — 不依赖桌面 GUI,直接使用核心包运行。适用于服务器、CI/CD、容器化等无桌面环境。
核心特性
- 提案管理: 创建、激活、关闭、过期提案,完整生命周期管理
- 加权投票: 支持投票权重、法定人数和通过阈值的投票计票
- 影响分析: 启发式评估提案的风险、收益、工作量和受影响组件
- 投票预测: 基于已有投票或启发式预测投票结果和置信度
- 治理统计: 提案/投票总量、按状态和类型分布
概述
ChainlessChain CLI AI 社区治理模块 (Phase 54) 提供去中心化社区治理框架。create 创建提案 (draft 状态),activate 开启投票期,vote 进行加权投票 (yes|no|abstain),close 结算并自动判定通过/拒绝。tally 可在不关闭提案的情况下预览计票。analyze 提供影响分析(风险分、收益分、工作量估算、社区情绪),predict 预测投票结果。
命令参考
governance types — 提案类型
chainlesschain governance types
chainlesschain governance types --json列出提案类型:parameter_change、feature_request、policy_update、budget_allocation。
governance statuses — 提案状态
chainlesschain governance statuses --json列出提案状态:draft、active、passed、rejected、expired、closed。
governance impact-levels — 影响等级
chainlesschain governance impact-levels --json列出影响等级及描述。
governance create — 创建提案
chainlesschain governance create "增加 AI 请求配额"
chainlesschain governance create "升级加密算法" -t policy_update -d "迁移到 PQC" -p did:key:abc --json创建提案 (初始为 draft)。-t 类型 (默认 feature_request),-d 描述,-p 提案者 DID。
governance list — 列出提案
chainlesschain governance list
chainlesschain governance list -s active -t feature_request --limit 20 --json列出提案。可按状态和类型过滤。
governance show — 查看提案详情
chainlesschain governance show <proposal-id> --json显示提案详情:标题、类型、状态、提案者、描述、影响等级、投票数、投票时间窗口。
governance activate — 激活投票
chainlesschain governance activate <proposal-id>
chainlesschain governance activate <proposal-id> -d 604800000 --json激活 draft 提案进入投票期。-d 投票持续时间 (ms, 默认 7 天)。
governance close — 关闭投票
chainlesschain governance close <proposal-id>
chainlesschain governance close <proposal-id> -q 0.3 -t 0.6 -n 10 --json关闭投票并自动判定 passed/rejected。-q 法定人数阈值 (0-1),-t 通过阈值 (0-1),-n 总投票人数 (用于法定人数计算)。
governance expire — 过期提案
chainlesschain governance expire <proposal-id>将 draft/active 提案标记为 expired。
governance vote — 投票
chainlesschain governance vote <proposal-id> did:key:voter1 yes
chainlesschain governance vote <proposal-id> did:key:voter2 no -r "安全风险" -w 2.0 --json对提案投票 (yes|no|abstain)。同一投票者再次投票会替换前一票。-r 理由,-w 投票权重 (默认 1.0)。
governance votes — 查看投票
chainlesschain governance votes <proposal-id>
chainlesschain governance votes <proposal-id> --limit 50 --json列出提案的所有投票记录。
governance tally — 计票预览
chainlesschain governance tally <proposal-id>
chainlesschain governance tally <proposal-id> -q 0.3 -t 0.6 -n 10 --json预览计票结果(不改变提案状态)。返回投票数、加权 yes/no/abstain、通过率、法定人数是否达标。
governance analyze — 影响分析
chainlesschain governance analyze <proposal-id>
chainlesschain governance analyze <proposal-id> --json启发式影响分析。返回影响等级、风险分、收益分、工作量估算、社区情绪、受影响组件、建议列表。
governance predict — 投票预测
chainlesschain governance predict <proposal-id>
chainlesschain governance predict <proposal-id> --json预测投票结果。返回预测结果 (pass|fail)、置信度、基于依据 (votes|heuristic)、样本量、yes/no/abstain 概率。
governance stats — 治理统计
chainlesschain governance stats --json治理全局统计:提案总数、投票总数、按状态和类型分布。
数据库表
| 表名 | 说明 |
|---|---|
governance_proposals | 提案(标题、类型、状态、描述、提案者、影响等级、投票数、投票时间窗口) |
governance_votes | 投票记录(提案 ID、投票者 DID、投票值、权重、理由) |
系统架构
用户命令 → governance.js (Commander) → community-governance.js
│
┌──────────────────────────────┼──────────────────┐
▼ ▼ ▼
提案管理 投票 & 计票 分析 & 预测
(create/activate/close/expire) (vote/votes/tally) (analyze/predict)
▼ ▼ ▼
governance_proposals governance_votes 启发式引擎配置参考
# governance create
<title> # 提案标题(必填)
-t, --type <type> # parameter_change|feature_request|policy_update|budget_allocation
-d, --description <text> # 描述
-p, --proposer <did> # 提案者 DID
# governance activate
-d, --duration-ms <ms> # 投票持续时间 (默认 7 天)
# governance vote
<proposal-id> <voter-did> <yes|no|abstain>
-r, --reason <text> # 投票理由
-w, --weight <n> # 投票权重 (默认 1.0)
# governance close / tally
-q, --quorum <n> # 法定人数 (0-1)
-t, --threshold <n> # 通过阈值 (0-1)
-n, --total-voters <n> # 总投票人数性能指标
| 操作 | 目标 | 实际 | 状态 |
|---|---|---|---|
| create 创建提案 | < 200ms | ~90ms | OK |
| vote 投票 | < 100ms | ~50ms | OK |
| tally 计票 | < 200ms | ~100ms | OK |
| analyze 影响分析 | < 500ms | ~200ms | OK |
| predict 预测 | < 300ms | ~120ms | OK |
| stats 统计 | < 300ms | ~150ms | OK |
关键文件
| 文件 | 职责 |
|---|---|
packages/cli/src/commands/governance.js | governance 命令主入口 (Phase 54) |
packages/cli/src/lib/community-governance.js | 提案 CRUD、投票计票、影响分析、预测、统计核心实现 |
测试覆盖率
__tests__/unit/community-governance.test.js — 117 tests覆盖:4 种提案类型、activate/close/expire 生命周期、vote/tally 法定人数与通过阈值、influence analyze、trend predict、统计面板。
安全考虑
- 提案者身份:
-p <did>建议绑定 DID,上游验签;CLI 层只存不验 - 投票一人一票:以 DID 去重;同 DID 重复
vote视为更新而非追加 - 法定人数:
--quorum/--threshold默认保守(0.5/0.67),业务侧可调 - 过期保护:
activate后超期自动转expired,避免悬挂 - 分析/预测为启发式:
analyze/predict结果仅供参考,关键决策需人工复核
故障排查
| 症状 | 可能原因 | 解决方案 |
|---|---|---|
activate 失败 | 提案非 draft | proposal show <id> 查看状态 |
vote 被拒 | 提案非 active | 先 activate |
tally 未通过 | quorum/threshold 不达标 | 检查参数或延长投票期 |
predict 数据不足 | 历史提案 < 10 | 等累计更多数据 |
使用示例
# 1. 创建并激活提案
pid=$(cc governance create "调高区块 gas 上限" -t parameter_change \
-p did:key:z6Mk... --json | jq -r .id)
cc governance activate $pid -d 604800000 # 7 天
# 2. 投票
cc governance vote $pid did:key:A approve
cc governance vote $pid did:key:B reject
cc governance votes $pid
# 3. 计票与分析
cc governance tally $pid -q 0.5 -t 0.67 -n 100
cc governance analyze $pid
cc governance predict $pid
# 4. 统计面板
cc governance stats --json相关文档
- DAO Governance
- Collaboration Governance
- 合规管理
- 设计文档:
docs/design/modules/73_社区治理系统.md
